開発・設計者向け / 第11章 鍵を発行しない運用

ページ 5 / 6

第11章セキュリティ

約5分で読む

鍵を発行しない運用

「開発用のAPIキーを、毎回発行して配る必要はあるの?」

会社のアカウントでログインし、配る長期キーを減らす方法を見てみましょう。

  1. 01困りごと

    鍵の管理が増えていく

    長期キーの管理

    保管も期限も交換も、APIキーが増えるほど大変だ……。

  2. 02工夫

    会社のIDで権限を渡す

    対応方式を確認

    対応するツールなら、会社のアカウントに利用権限を付けよう。

  3. 03試す

    ブラウザでログイン

    資格情報は残る

    ログインして通行証を受け取った。この通行証で使えるんだ。

  4. 04改善

    長期キーを減らせた

    管理する対象が変わる

    配るAPIキーが減った!通行証の保護と失効管理は続けよう。

この章の合言葉

配る長期キーを減らす。受け取った通行証も守る。

※キーレスは認証情報がなくなる意味ではありません。対応するツールで使い、保存されるトークンの保護と失効管理は続けます。

読みはじめる

なぜ長期の鍵の配布を減らすのか

手元の作業ツールからデータベースやクラウドを管理するとき、長期のAPIキーを発行して貼り付ける以外の方法もあります。対応するツールではブラウザで本人を確かめ、必要な資格情報を取得します。手動で鍵を配る場面を減らし、誰に権限を渡したかを管理しやすくします。

鍵を発行しないログインの流れ

ブラウザを開いて本人確認を依頼ログイン依頼ブラウザでログイン(二段階認証)本人確認短命の通行証を発行通行証の発行通行証を自動で提示して作業作業の要求有効性を確認して実行実行
あなたブラウザで本人確認
作業ツールパソコン上の道具
クラウドサービスDB・クラウドの受付

各ステップ・参加者・分岐をクリックすると、その仕組みの説明がここに表示されます。

この図をテキストで読む

シーケンス図「鍵を発行しないログインの流れ」。参加者3人、ステップ5個。 【参加者】(左から右) - あなた: ブラウザで本人確認 - 作業ツール: パソコン上の道具 - クラウドサービス: DB・クラウドの受付 【流れ】(上から下へ) ── ① ブラウザでログイン・必要時に再認証 ── 1. 作業ツール → あなた: ブラウザを開いて本人確認を依頼 2. あなた → クラウドサービス: ブラウザでログイン(二段階認証) 3. クラウドサービス → 作業ツール: 短命の通行証を発行(応答) ── ② 日々の作業(鍵は登場しない) ── 4. 作業ツール → クラウドサービス: 通行証を自動で提示して作業 5. クラウドサービス → 作業ツール: 有効性を確認して実行(応答)

手動で配る鍵を減らし、取得した資格情報も保護します。

もし API キーを配っていたら?

管理画面で API キーを発行発行全員に配って設定ファイルに保管配布更新のたびに全員へ配り直し配り直し
発行する人鍵の一生を管理
各メンバーの PC鍵が居座る

各ステップ・参加者・分岐をクリックすると、その仕組みの説明がここに表示されます。

発行した瞬間から、保管・配布・更新・失効の管理が一生続く

この図をテキストで読む

シーケンス図「API キーを配る運用」。参加者2人、ステップ3個。 【参加者】(左から右) - 発行する人: 鍵の一生を管理 - 各メンバーの PC: 鍵が居座る 【流れ】(上から下へ) 1. 発行する人(自身で処理): 管理画面で API キーを発行 2. 発行する人 → 各メンバーの PC: 全員に配って設定ファイルに保管 3. 発行する人 → 各メンバーの PC: 更新のたびに全員へ配り直し

切り替えて見比べると、管理の重さの差がわかります。●の速さは手間の少なさです。

鍵を渡さず、担当者に権限を渡す

データベースの管理を引き継ぐとき、共通の管理用キーをチャットで渡すと、後から誰が持っているか追いにくくなります。各担当者のアカウントに必要な権限を付け、本人としてログインする方法を使えるか確認します。

たとえばNeon CLIはブラウザ認証で利用でき、管理用APIキーの手動発行を省けます。ただし、ログイン後の資格情報は設定ファイルやOSのキーチェーンへ保存されるため、その保存先は保護します。

Google Cloudなどのクラウドでも、組織の権限管理を使って担当者のアカウントへ必要な権限を渡します。担当を外すときは権限を解除し、既存セッションや発行済み資格情報へどう反映されるかを確かめます。

人がいない自動処理は、どう入る?

テストなどを自動で行う仕組み(CI)や公開の自動処理には、ブラウザを開く担当者がいません。そこで、個人のアカウントを使い回すのではなく、実行している処理自体のIDを相手に確かめてもらいます。

対応する環境では、外部のIDを確認する仕組み(OIDC)を使う連携などで、短期の資格情報を取得します。どのリポジトリや実行条件を信頼するかを絞り、処理に必要な権限だけを付けます。自動処理だから長期の鍵が必須、というわけではありません。

鍵が必要な場合の扱い

やむを得ず長期の鍵を使う場合は、個人ではなく組織で管理し、権限を最小に絞って金庫に預けます。交換・失効の手順も決めます。

押さえておきたい用語

ブラウザ経由のOAuth / OIDC
ツールがブラウザ経由で利用者の許可を得る方式。OAuthはアクセス権限の委譲、OIDCはその上で本人確認を扱う。
API キー
APIへのアクセスに使う秘密の値。権限や有効期限を設定できる場合もあり、保管・更新・失効の管理が必要。
短命トークン
短い有効期限を持つ通行証。更新用の資格情報が別に保存されることもあり、保存と失効の扱いを確認する。
招待(メンバーシップ)
組織へアカウントを招き権限を与えること。解除時は権限の反映と、既存セッションや発行済み資格情報も確認する。
自動処理のID連携(OIDC / WIF)
OIDCはIDを確認するための仕組み。WIF(Workload Identity Federation)は外部の処理IDを検証し、短期資格情報等で操作を許可する連携。長期キーを減らせるが、信頼条件と権限の管理は残る。
ページ 5 / 6