メインコンテンツまでスキップ
適用対象:
DuoKey 管理者OpenAI 組織のオーナーまたは管理者

概要​

OpenAI EKM のセットアップは 2 つのフェーズに分かれます。まず DuoKey Cockpit でアプリをデプロイし(3 ステップの短いウィザードです)、次にお客様自身のクラウド KMS で管理している KEK に対して、1 つ以上の外部キーを登録します。

アプリのデプロイから外部キーの有効化まで
1. Organizationアプリ名と OpenAI 組織 ID(org-...)
2. Admin API Key組織の Admin API キー(保存時にシールされます)、任意の API ベース URL
3. Review & DeployCockpit にアプリをデプロイします — この時点では OpenAI に鍵は登録されていません
デプロイしたアプリを開く
4. プロバイダーを選択するAWS KMS、Azure Key Vault、Google Cloud KMS — 既存の KEK をホストしているもの
5. 権限を付与するお客様の KMS 上での IAM ポリシーステートメント、ロール割り当て、または Workload Identity Federation バインディング
6. 鍵を登録するDuoKey が KEK の座標情報を OpenAI の Management API に送信します
ステータス: registered
7. OpenAI のプロジェクトで有効化するOpenAI 側で、対象のプロジェクトに対して登録済みの鍵を有効にします

最初の 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: ウィザードを開始する​

  1. DuoKey ダッシュボードで Apps を開き、+ Create new app をクリックします
  2. アプリケーションカタログから OpenAI EKM を選択します

ステップ 2: Organization​

1

アプリ名と組織 ID

  • App Name — このアプリの名前(例: OpenAI EKM)。
  • Description — 任意の自由記述テキスト。
  • OpenAI Organization ID — お客様の組織の org-… の ID。platform.openai.com > Settings > Organization > General で確認できます。

ステップ 3: Admin API Key​

1

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: 最初の外部キーを登録する​

1

プロバイダーを選択する

アプリのページから鍵の登録を開始し、KEK をホストしているクラウドを選択します: AWS KMS、Azure Key Vault、または Google Cloud KMS。

2

クラウド 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 を付与します。
3

鍵を登録する

鍵の座標情報(例: AWS の場合は KMS 鍵の ARN、Azure の場合は vault の URI と鍵名)を入力して送信します。DuoKey が登録内容を OpenAI の Management API に送信します。成功すると鍵のステータスが registered になり、OpenAI が外部キー ID を割り当てます。拒否された場合、鍵は理由とともに error の状態のままとなるため、権限付与を修正して再試行できます。

4

OpenAI のプロジェクトで有効化する

登録が完了したら、OpenAI の EKM 手順に従って、OpenAI 側で対象のプロジェクトに対して鍵を有効化します。

ヒント

お客様自身のトレーサビリティのために、DuoKey vault 内の参照鍵を登録済みの外部キーに任意でリンクできます。DuoKey がその鍵を暗号処理に使用することはありません。実際の KEK はお客様のクラウド KMS に留まります。

デプロイ後​

鍵が登録されて有効になると、OpenAI は自身のデータ暗号化鍵をお客様の KEK でラップまたはアンラップする必要が生じるたびに、お客様のクラウド KMS を直接呼び出します。DuoKey はその呼び出し経路には含まれません。アプリのページからは次の操作が行えます。

操作効果
鍵の検証鍵がお客様の組織の外部キーリストにまだ存在するかどうかを OpenAI に対して再確認し、そのステータスを更新します。
接続テスト保存されている Admin API キーで OpenAI の Management API に引き続きアクセスできることを確認します。
Admin API キーのローテーション既存の鍵登録を失うことなく、保存されているキーを差し替えます。
鍵の登録解除OpenAI からのベストエフォートでの削除を行い、その後ローカルのレコードを削除します。
OpenAI のアクセスを取り消す

DuoKey 側で登録を取り消しても、それだけで OpenAI が鍵を使用できなくなるわけではありません。権限付与はお客様のクラウド KMS 上に存在するためです。OpenAI のアクセスを遮断するには、お客様の KMS 上で作成した IAM 権限、ロール割り当て、または Workload Identity Federation バインディングを削除してください。OpenAI の EKM 設計によれば、これは約 1 時間以内に反映されます。

トラブルシューティング​