はじめに
DuoKey OpenAI EKM をデプロイし、最初の外部キーを登録する
概要
OpenAI EKM のセットアップは 2 つのフェーズに分かれます。まず DuoKey Cockpit でアプリをデプロイし(3 ステップの短いウィザードです)、次にお客様自身のクラウド KMS で管理している KEK に対して、1 つ以上の外部キーを登録します。
最初の 3 ステップは DuoKey Cockpit で一度だけ実施します。最後の 4 ステップは、登録する KEK ごとに繰り返します。
前提条件
前提条件
- OpenAI 組織 ID(org-…)。platform.openai.com > Settings > Organization > General で確認できます
- 組織の Admin API キー(通常のプロジェクト API キーではありません)。platform.openai.com > Settings > Organization > Admin keys から取得します
- AWS KMS、Azure Key Vault、または Google Cloud KMS に作成済みの KEK、または作成できること
- そのクラウドアカウントで IAM ポリシー / ロール割り当て / Workload Identity Federation を編集する権限
ステップ 1: ウィザードを開始する
- DuoKey ダッシュボードで Apps を開き、+ Create new app をクリックします
- アプリケーションカタログから OpenAI EKM を選択します
ステップ 2: Organization
アプリ名と組織 ID
- App Name — このアプリの名前(例:
OpenAI EKM)。 - Description — 任意の自由記述テキスト。
- OpenAI Organization ID — お客様の組織の
org-…の ID。platform.openai.com > Settings > Organization > General で確認できます。
ステップ 3: Admin API Key
Admin API キーを入力する
- Organization Admin API Key — platform.openai.com > Settings > Organization > Admin keys から取得した Admin キー(通常の API キーではありません)。テナントのシークレットバックエンドによってシールされた状態で保存され、一度保存すると API から返されることはありません。
- API Base URL — 任意。空のままにすると既定の OpenAI API を使用します。公開ホストへの HTTPS URL のみが受け付けられます。
ステップ 4: Review & Deploy
アプリ名、組織 ID、API ベース URL を確認してデプロイします。デプロイ後、アプリを開いて外部キーを登録し、プロバイダーごとの権限付与手順に従います。
ステップ 5: 最初の外部キーを登録する
プロバイダーを選択する
アプリのページから鍵の登録を開始し、KEK をホストしているクラウドを選択します: AWS KMS、Azure Key Vault、または Google Cloud KMS。
クラウド KMS で権限を付与する
アプリからプロバイダーの設定手順を開き(お客様の組織 ID が既に埋め込まれています)、登録の前に権限を付与します。
| プロバイダー | 設定する内容 |
|---|---|
| AWS KMS | 提示されたキーポリシーステートメントを KEK のポリシーに追加します。これにより、OpenAI の EKM IAM ロールが kms:Encrypt / kms:Decrypt を呼び出せるようになります。条件として sts:ExternalId がお客様の組織 ID と一致することが求められます。 |
| Azure Key Vault | ディレクトリに OpenAI のサービスプリンシパルを作成し、vault に <org-id>--<name> という名前の RSA 鍵を作成したうえで、(vault ではなく)その鍵自体に対して Key Vault Crypto User ロールを割り当てます。 |
| Google Cloud KMS | オーディエンスをお客様の組織 ID に設定した Workload Identity Federation のプールと OIDC プロバイダーを作成し、そのフェデレーションプリンシパルに KEK に対する roles/cloudkms.cryptoKeyEncrypterDecrypter を付与します。 |
鍵を登録する
鍵の座標情報(例: AWS の場合は KMS 鍵の ARN、Azure の場合は vault の URI と鍵名)を入力して送信します。DuoKey が登録内容を OpenAI の Management API に送信します。成功すると鍵のステータスが registered になり、OpenAI が外部キー ID を割り当てます。拒否された場合、鍵は理由とともに error の状態のままとなるため、権限付与を修正して再試行できます。
OpenAI のプロジェクトで有効化する
登録が完了したら、OpenAI の EKM 手順に従って、OpenAI 側で対象のプロジェクトに対して鍵を有効化します。
お客様自身のトレーサビリティのために、DuoKey vault 内の参照鍵を登録済みの外部キーに任意でリンクできます。DuoKey がその鍵を暗号処理に使用することはありません。実際の KEK はお客様のクラウド KMS に留まります。
デプロイ後
鍵が登録されて有効になると、OpenAI は自身のデータ暗号化鍵をお客様の KEK でラップまたはアンラップする必要が生じるたびに、お客様のクラウド KMS を直接呼び出します。DuoKey はその呼び出し経路には含まれません。アプリのページからは次の操作が行えます。
| 操作 | 効果 |
|---|---|
| 鍵の検証 | 鍵がお客様の組織の外部キーリストにまだ存在するかどうかを OpenAI に対して再確認し、そのステータスを更新します。 |
| 接続テスト | 保存されている Admin API キーで OpenAI の Management API に引き続きアクセスできることを確認します。 |
| Admin API キーのローテーション | 既存の鍵登録を失うことなく、保存されているキーを差し替えます。 |
| 鍵の登録解除 | OpenAI からのベストエフォートでの削除を行い、その後ローカルのレコードを削除します。 |
DuoKey 側で登録を取り消しても、それだけで OpenAI が鍵を使用できなくなるわけではありません。権限付与はお客様のクラウド KMS 上に存在するためです。OpenAI のアクセスを遮断するには、お客様の KMS 上で作成した IAM 権限、ロール割り当て、または Workload Identity Federation バインディングを削除してください。OpenAI の EKM 設計によれば、これは約 1 時間以内に反映されます。