OCI APIゲートウェイを使用したThales CipherTrust Managerを使用したOCI Hold Your Own Keyの設定
はじめに
このチュートリアルでは、Oracle Cloud Infrastructure (OCI) API Gatewayオプションを使用して、Thales CipherTrust Manager (CTM)でHold Your Own Key (HYOK)を設定するステップバイステップの手順を示します。
HYOKを使用すると、Oracleのインフラストラクチャ外部で暗号化鍵を外部でホストすることで、完全な所有権を維持し、暗号化鍵を制御できます。また、Oracle servicesは暗号化鍵を安全に使用できます。この設定では、OCI API Gatewayは、Oracle Cloud Infrastructure External Key Management Service (OCI External KMS)とThales CipherTrust Managerインスタンスとの間のセキュアで管理しやすいスケーラブルなブリッジとして重要な役割を果たします。
OCI API Gatewayを使用する理由
OCI External KMSとThales CipherTrust Managerの間にOCI API Gatewayを挿入すると、次のことが可能になります。
- セキュアなアクセス制御:ゲートウェイは、機密クライアント資格証明を使用してOAuth2を介して認証を適用し、信頼できるリクエストのみがキー・マネージャに到達するようにします。
- TLS終了および証明書管理: SSL/TLS証明書を簡単に管理できるため、OCIとThales CipherTrust Managerの間のセキュアな暗号化通信が可能になります。
- ネットワークの分離: OCI API Gatewayは、Thales CipherTrust Managerへの直接アクセスを抽象化して、制御されたエクスポージャのプライベート・エンドポイントおよび厳密なセキュリティ・ポリシーを可能にします。
- 監査性と可観測性: APIコールの統合ロギングとモニタリングを通じて、主要な使用状況とアクセス試行を可視化します。
- スケーラビリティと柔軟性: Thales CipherTrust ManagerバックエンドからOCI External KMS統合ロジックを分離することで、アーキテクチャの将来性を保証します。これにより、コンポーネントのスワップ、更新の適用、または必要に応じてミドルウェアの追加が容易になります。
このチュートリアルのrestでは、ネットワーク、DNS、証明書管理、アイデンティティ・フェデレーションなど、必要なすべてのインフラストラクチャ・コンポーネントを構成し、最後に外部キーを使用したOCI VaultおよびOCIオブジェクト・ストレージとの統合を構成します。
このチュートリアルは、OCIでの2つのThales CipherTrust Cloud Key Managerアプライアンスの設定、それらの間のクラスタの作成、および認証局としての1つの構成というチュートリアルで確立された技術基盤に基づいています。
Thales CipherTrust Manager (OCI APIゲートウェイなし)オプションを使用して独自のキー(HYOK)を保持を実装する場合は、次のチュートリアルに従います: APIゲートウェイなしでCipherTrust Managerを使用してOCI独自のキー(HYOK)を保持する設定。
ノート:このチュートリアルでは、Thales CipherTrust Cloud Key Manager (CCKM)およびThales CipherTrust Manager (CTM)という用語は同じ意味で使用されます。どちらも同じ製品です。
目的
- タスク1: クラウド・ネットワーク・アーキテクチャの確認
- タスク2: すべての場所のOCIドメイン・ネーム・サービス(DNS)の構成
- タスク3: OCI APIゲートウェイの証明書の作成
- タスク4: CAバンドルを使用して署名済OCI APIゲートウェイ証明書をアップロードします。
- タスク5: プライベート・エンドポイントがファイアウォール/セキュリティ・リスト/ネットワーク・セキュリティ・グループの観点からOCI API Gatewayと通信できることを確認します。
- タスク6: OCI APIゲートウェイの作成
- タスク7: FQDN詳細を含むAPIデプロイメントの作成
- タスク8: 機密リソース・アプリケーションおよび関連する機密クライアント・アプリケーション(アプリケーション統合)を作成し、OCIでクライアントとシークレットを収集します。
- タスク9: OCIからのアイデンティティ・ドメインURLの収集
- タスク10: Thales CipherTrust Managerでのアイデンティティ・プロバイダの作成
- タスク11: Thales CipherTrust ManagerでのOracleテナンシの追加
- タスク12: OCI外部キー・マネージャ・サービスのプライベート・エンドポイントの作成。
- タスク13: Thales CipherTrust Managerに外部ボールトを追加します。
- タスク14: OCI外部キー管理サービスvaultの作成
- タスク15: Thales CipherTrust Managerに外部キーを追加します。
- タスク16: OCIでのキー参照の作成
- タスク17: 顧客管理キーを使用したOCIオブジェクト・ストレージ・バケットの作成
- タスク18: Oracleキーのブロックとブロック解除、およびThales CipherTrust ManagerとOCIでのオブジェクト・ストレージ・バケットのアクセシビリティのテスト
次のイメージは、このチュートリアルのすべてのステップのコンポーネントおよび構成設定を示しています。
タスク1: クラウド・ネットワーク・アーキテクチャの確認
Thales CipherTrust Managerを使用してHold Your Own Key (HYOK)を構成する技術的なステップに進む前に、このセットアップが存在するクラウド・ネットワーク・アーキテクチャを理解することが不可欠です。
このシナリオでは、次の3つのOCIリージョンが使用されます。
- 2つのOCIリージョンがオンプレミスのデータセンターをシミュレートします。これらのリージョンは、ハイブリッド環境を表すVPNトンネルを介してOCIに接続されます。
- 3番目のOCIリージョンはプライマリOCI環境を表し、ハブアンドスポークVirtual Cloud Network (VCN)アーキテクチャに従います。この設計では、次のようになります。
- ハブVCNは、ファイアウォールなどの共有ネットワーク・サービスをホストします。
- 複数のスポークVCNsがハブに接続され、様々なワークロードがホストされます。
2つのシミュレートされたオンプレミス・データ・センター間の接続は、リモート・ピアリング接続(RPC)を使用して確立されます。ただし、このチュートリアルでは、VPN設定、RPC構成およびハブアンドスポークVCNアーキテクチャの詳細が範囲外とみなされるため、説明しません。
-
データ・センターがシミュレートされるOCIへのVPN接続を設定するには、2つのOCIリージョン間の静的ルーティングを使用したOracle Cloud Infrastructure Site-to-Site VPNの設定を参照してください。
-
OCIリージョン間のRPC接続を設定するには、2つのテナントとそのDynamic Routing Gatewaysの間のRPC接続の設定を参照してください。
-
OCIハブおよびスポークVNCネットワーク・アーキテクチャを設定するには、ハブVCNのpfSenseファイアウォールを使用したルート・ハブおよびスポークVCNを参照してください。
このチュートリアルでは、シミュレートされたオンプレミス・データ・センターの1つであるアムステルダム(AMS)リージョンにデプロイされたThales CipherTrust Managerを使用してHYOKを設定することに重点を置いています。すべてのキー管理操作は、このThales CipherTrust Managerインスタンスから実行されます。
外部キー・マネージャのプライベートにより、OCIは外部Thales CipherTrust Managerと安全に通信でき、プライマリOCIリージョンのスポークVCNsのいずれかにデプロイされます。これにより、パブリック・インターネットにトラフィックを公開することなく、OCIサービスと外部キー・マネージャの間のセキュアで直接的な通信パスが保証されます。
このアーキテクチャは、明確に定義された安全なネットワーク境界内でキー管理を分離することで、OCIの機密ワークロードに対する強力なセキュリティおよびコンプライアンス・ポスチャをサポートします。
次の図は、アーキテクチャ全体を示しています。
タスク2: すべての場所に対するOCI DNSの構成
OCI、APIゲートウェイおよびThales CipherTrust Manager間の適切な通信を確保するには、OCIコンソールのプライベートDNSゾーンを使用して、すべての関連コンポーネントのDNS解決を構成する必要があります。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
このチュートリアルでは、OCI DNS for AMSおよびASHの構成がすでに行われています。OCIでの2つのThales CipherTrust Cloud Key Managerアプライアンスの設定、それらの間のクラスタの作成および認証局としての1つの構成を参照してください。同じチュートリアルを使用して、FRAのハブVCNでDNSを構成します。
-
FRAのハブVCNのプライベート・ビューは次のようになります。
スポークA VCNからDNS解決を有効にし、スポークAに対して個別のプライベート・ビューを構成するか、ハブVCNのプライベート・ビューをスポークAに関連付けるには、2つのオプションがあります。
この設定では、ハブ・プライベート・ビューをスポークA VCNに関連付けることで後者のアプローチを使用します。
-
OCIコンソールにログインし、「仮想クラウド・ネットワーク」に移動して「VCNのスポーク」を選択します。
-
「DNSリゾルバ」をクリックします。
-
下へスクロール
-
「プライベート・ビューの管理」をクリックします。
-
「Hub VCN」プライベート・ビューを選択し、「変更の保存」をクリックします。
-
ハブVCNプライベート・ビューがスポークA VCNに関連付けられていることに注意してください。変更が表示されない場合は、ブラウザをリフレッシュします。
正しいDNS設定は、OCIとThales CipherTrust Managerの間の相互TLS、OAuth認証および信頼性の高い接続のための重要な基盤です。
証明書の構成に進む前に、DNSゾーンの関連付けと名前解決を再確認してください。
タスク3: OCI APIゲートウェイの証明書の作成
OCIとThales CipherTrust Managerの間のセキュアなTLS通信を有効にするには、OCI API Gatewayが信頼できるSSL証明書を提示する必要があります。この設定では、最初にCTM1認証局(CA)で証明書署名リクエスト(CSR)を生成し、その同じCAを使用して署名することで、証明書が作成されます。
証明書が署名されると、OCIにアップロードされ、OCI API Gatewayに添付されるため、内部システムによって信頼される暗号化されたトラフィックに対応できます。次の図は、OCI APIゲートウェイの署名付き証明書を作成するステップを示しています。
これらのステップは、AMS CTMでのみ実行します。
-
Thales CipherTrust Manager AMSコンソールにログインし、「CA」に移動して「CSRジェネレータ」をクリックします。
-
次の情報を入力し、「CSRの生成および秘密キーのダウンロード」をクリックします。
- 「汎用CSR」を選択します。
- 共通名(CN): Thales CipherTrust ManagerのFQDNを入力します。たとえば、
oci-api-gw.oci-thales.lab
です。- 表示名:名前を入力します。たとえば、
OCI API Gateway
です。 - アルゴリズム: 「RSA」を選択します。
- サイズ: 「2048」を選択します。
- 表示名:名前を入力します。たとえば、
- 件名カナ名(SAN):ここにFQDNを含めます。たとえば、
oci-api-gw.oci-thales.lab
です。
-
秘密キーは自動的にダウンロードされることに注意してください。
-
「CSRのダウンロード」をクリックして、生成された
.csr
ファイルをダウンロードして保存します。 -
CSRおよび秘密キーがフォルダに格納されていることを確認します。
-
CSRおよび秘密キーの名前を変更します。
-
「CA」にナビゲートし、「ローカル」をクリックしてCAを選択します。
-
「CSRのアップロード」をクリックします。
-
「外部で生成されたCSRのアップロード」で、次の情報を入力します。
- 表示名: OCI APIゲートウェイのFQDNを入力します。たとえば、
oci-api-gw.oci-thales.lab
です。 - 生成されたCSRの内容を「CSR」フィールドにコピーします。
- 証明書の目的: 「サーバー」を選択します。
- 「発行証明書」をクリックします。
- 表示名: OCI APIゲートウェイのFQDNを入力します。たとえば、
-
署名付き証明書エントリの最後にある3つのドットをクリックし、「ダウンロード」をクリックしてOCI API Gatewayの署名付き証明書をダウンロードします。
-
署名付き証明書が同じCSRフォルダおよび秘密キー・フォルダに格納されていることを確認します。
-
署名付き証明書の名前を変更します。
個々のThales CipherTrust Manager証明書に署名するだけでなく、CAルート証明書はトラスト・チェーンの重要な部分です。このルート証明書は、認証局(CA)として機能するThales CipherTrust Managerによって発行されたすべての証明書の信頼の基盤を確立します。
-
「CA」にナビゲートし、「ローカル」をクリックします。CTM AMS CAの最後にある3つのドットをクリックし、「ダウンロード」をクリックしてCTM AMS CAのルートCA証明書をダウンロードします。
-
ダウンロードしたルート証明書を同じフォルダに格納します。
-
ルート証明書の名前を変更します。
この証明書は後でOCI API Gatewayデプロイメントにアタッチされるため、OCIは、環境内で発行され信頼できる証明書を使用して、HTTPSを介してThales CipherTrust Managerと安全に通信できます。
タスク4: CAバンドルを使用した署名済OCI APIゲートウェイ証明書のアップロード
CTM1認証局(CA)を使用してOCI APIゲートウェイ証明書を生成して署名した後、次のタスクは、OCI APIゲートウェイ・デプロイメントに関連付けるために、この証明書をOCIにアップロードすることです。
これにより、OCI External KMSからのリクエストなど、OCI API Gatewayとの通信は、内部認証局を使用した信頼できる暗号化されたTLS接続を介して行われます。
まず、ルートCA証明書のアップロードから始めましょう。
-
OCIコンソールに移動し、「アイデンティティとセキュリティ」に移動して、「CAバンドル」をクリックします。
-
「CAバンドルの作成」をクリックします。
-
「CAバンドルの作成」で、次の情報を入力します。
- 「名前」を入力します。たとえば、
thales-ca
です。 - PEMファイルを選択します。
- 「名前」を入力します。たとえば、
-
AMS CTM1 CAの「ルートCA証明書」を選択し、「開く」をクリックします。
-
AMS CTM1 CAのルートCA証明書の内容を書き留め、「作成」をクリックします。
-
CAバンドルが作成されることに注意してください。
次に、OCI API Gatewayの署名付き証明書をアップロードします。
-
OCIコンソールに移動し、「アイデンティティとセキュリティ」に移動して、「証明書」をクリックします。
-
「証明書の作成」をクリックします。
-
「基本情報」に、次の情報を入力します。
- 「証明書タイプ」に「インポート済」を選択します。
- 証明書の名前を入力します。たとえば、
8-oci-api-gw.oci-thales.lab
です。 - 「次」をクリックします。
-
「次」をクリックします。
-
「ファイルのアップロード」をクリックし、OCI API Gatewayの署名付き証明書ファイルをアップロードします。
-
「ファイルのアップロード」をクリックし、AMSのCTM1のルート証明書ファイルをアップロードします。
-
「ファイルのアップロード」をクリックし、署名されたOCI API Gatewayの対応する秘密キー・ファイルをアップロードします。
-
「次」をクリックします。
-
「次」をクリックします。
-
「サマリー」セクションを確認し、「証明書の作成」をクリックします。
-
「サマリー」を確認し、「証明書詳細の表示」をクリックします。
-
証明書は「アクティブ」であることに注意してください。
ノート:証明書のアップロードが失敗した場合、CSRの生成時に使用されるアルゴリズムが原因である可能性があります。ECDSAアルゴリズムを使用する証明書がOCIで受け入れられませんでした。これを解決するために、正常に動作したRSAアルゴリズムを使用してCSRを再生成しました。
アップロード後、この証明書をAPIゲートウェイ・デプロイメントにアタッチして、OCI外部KMSなどのOCIサービスに信頼できるアイデンティティを表示できるようになります。このタスクは、Oracleと外部キー・マネージャの間のセキュアな証明書ベースの信頼を実現するために重要です。
タスク5: プライベート・エンドポイントでファイアウォール/セキュリティ・リスト/ネットワーク・セキュリティ・グループからOCI APIゲートウェイとの通信が許可されていることの確認
OCI API Gatewayをデプロイするか、OCIとThales CipherTrust Managerの統合をテストする前に、OCI External KMSとOCI API Gatewayで使用されるプライベート・エンドポイント間でネットワーク接続が確立されていることを確認することが不可欠です。
ノート:
同じサブネット内のトラフィックは、OCIで自動的に許可されません。プライベート・エンドポイントとOCI API Gatewayが同じサブネットに存在する場合でも、セキュリティ・リストまたはネットワーク・セキュリティ・グループ内でそれらの間のトラフィックを明示的に許可する必要があります。
たとえば、同じサブネット内のリソース間のHTTPSトラフィックを許可するには、サブネットのCIDRブロックからのTCPポート443でのトラフィックを許可するイングレス・ルールを作成する必要があります。
-
OCIコンソールに移動し、「ネットワーキング」に移動して、「Virtual Cloud Networks」をクリックします。
-
「VCNのスポーク」をクリックします。
-
下へスクロール
-
スポークA VCNのプライベート・サブネットをクリックします。これは、OCI外部KMSのプライベート・エンドポイントとなるVCNと、OCI APIゲートウェイのIPアドレスです。
-
下へスクロール
-
サブネットにアタッチされているデフォルト・セキュリティ・リストをクリックします。
-
「イングレス・ルールの追加」をクリックします。
-
イングレス・ルール1を構成するには、次の情報を入力し、「イングレス・ルールの追加」をクリックします。
- ソース・タイプ: 「CIDR」を選択します。
- ソースCIDR:
172.16.1.0/24
と入力します。 - IPプロトコル: 「すべてのプロトコル」をクリックします。
-
イングレス・セキュリティ・リスト・ルールがセキュリティ・リストに追加されていることに注意してください。
ノート: OCI API Gatewayが、デプロイメント中にFQDNを介してThales CipherTrust Managerに到達できない場合、アクティブにならない可能性があります。したがって、プライベート・エンドポイントとOCI API Gatewayの間の明確で安全なネットワーク・パスを確保することは、HYOK統合を成功させるための重要な前提条件です。
タスク6: OCI APIゲートウェイの作成
署名付きTLS証明書がアップロードされた状態で、次のタスクは、OCIがThales CipherTrust Managerと通信するためのセキュアなエントリ・ポイントとして機能するOCI API Gatewayを作成することです。
このOCI APIゲートウェイは、後で、完全修飾ドメイン名(FQDN)を使用してリクエストをCTMにルーティングし、アップロードされたTLS証明書を使用してセキュアな通信を実施するように構成されます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
OCIコンソールに移動し、「開発者サービス」に移動して、「ゲートウェイ」をクリックします。
-
「ゲートウェイの作成」をクリックします。
-
「ゲートウェイの作成」で、次の情報を入力します。
- 「名前」を入力します。たとえば、
API-GW
です。 - タイプ: 「プライベート」を選択します。
- VCN: Thales CipherTrust Managerにアクセス可能なVCNを選択します。
- サブネット: Thales CipherTrust Managerへのアクセス権を持つプライベート・サブネットを選択します。
- 「名前」を入力します。たとえば、
-
前にアップロードした証明書(
8-oci-api-gw.oci-thales.lab
)を選択し、「ゲートウェイの作成」をクリックします。 -
OCI API Gatewayが作成されていることに注意してください。
ノート: OCI API Gatewayデプロイメントは、構成されたバックエンドURLを介してThales CipherTrust Managerに到達できない場合、失敗することがあります。これを回避するには、次のことを確認します。
- ルーティングは、OCI API Gatewayのプライベート・サブネットとThales CipherTrust Managerの間で正しく構成されています。
- セキュリティ・リストまたはネットワーク・セキュリティ・グループ(NSG)では、APIゲートウェイ・サブネットからCTMへのHTTPS (TCPポート443)トラフィックが許可されます。
- Thales CipherTrust ManagerのFQDNは、構成されたプライベートDNSを介して正しく解決されます。
デプロイメント中にアクセスできないバックエンドにより、ヘルス・チェックが失敗し、デプロイメント・エラーまたは非アクティブ状態になります。
このOCI API Gatewayは、後でデプロイメントで使用され、OCI外部KMSがコールできるエンドポイントを公開します。ゲートウェイは、OCIとThales CipherTrust Managerの間のセキュアな認証済プロキシとして機能し、TLSおよびアイデンティティ検証を適用します。
タスク7: FQDN詳細を使用したAPIデプロイメントの作成
OCI API Gatewayが作成され、証明書が整ったので、次のタスクはAPIデプロイメントを作成することです。これにより、ゲートウェイのルーティング動作、特にOCI External KMSからの受信リクエストを、内部FQDNを使用してThales CipherTrust Managerに転送する方法が定義されます。
デプロイメントは、OCIとThalesのCipherTrust Managerをブリッジし、インバウンド・リクエストのパスベースのルーティングとTLS終了を処理します。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
OCIコンソールに移動し、「開発者サービス」に移動して、「ゲートウェイ」をクリックします。
-
APIゲートウェイをクリックします。
-
「デプロイメントの作成」をクリックします。
-
「デプロイメントの作成」で、次の情報を入力します。
- 「最初から」を選択します。
- 「名前」を入力します。たとえば、
API-GW-DEPLOYMENT
です。 - パス接頭辞:
/api/v1/cckm/oci/ekm/v1
と入力します。 - 「次」をクリックします。
-
認証: 「認証なし」を選択します。
-
「次」をクリックします。
-
「ルート1」セクションで、次の情報を入力し、「次へ」をクリックします。
- パス:
/{path*}
と入力します。 - メソッド:
GET
、POST
を選択します。 - バックエンド・タイプ:バックエンド・タイプをHTTPとして選択し、URLを
https://**<your-ctm-fqdn>**/api/v1/cckm/oci/ekm/v1/${request.path[path]}
として指定します。
- パス:
-
「作成」をクリックします。
-
APIデプロイメントが作成されることに注意してください。それをクリックします。
-
APIデプロイメントはACTIVEであることに注意してください。
デプロイメントがアクティブになると、OCI API Gatewayは認証済リクエストをOCIからThales CipherTrust Managerに安全に転送できます。FQDN構成は、Thales CipherTrust Manager証明書の共通名(CN)またはSANと一致し、DNSを介して正しく解決されることを確認するために重要です。
このデプロイメントは、OCI External KMSがThales CipherTrust Managerでホストされている外部キーと対話するために呼び出すキー・エンドポイントとして機能します。
タスク8: 機密リソース・アプリケーションの作成、機密クライアント・アプリケーションの関連付け(アプリケーション統合)およびOCIでのクライアントとシークレットの収集
Thales CipherTrust ManagerとのHYOK統合を有効にするには、OCIと外部キー・マネージャとの間の信頼を確立する必要があります。
これを行うには、OCI Identity and Access Management (OCI IAM)に2つの主要なコンポーネント(機密リソース・アプリケーションと機密クライアント・アプリケーション)を登録します。これらは、OCIとThales CipherTrust Managerの間の通信を認証および認可するために不可欠です。
この設定により、Thales CipherTrust Managerは、OAuth 2.0を介してOCI IAMで認証できます。機密クライアントは外部キー・マネージャのかわりに動作し、機密リソースはアクセスおよび信頼構成の範囲を定義します。OCIは、これらのコンポーネントがないと、外部キー・ソースを検証したり、安全に通信することはできません。
次の図は、このステップのコンポーネントおよび構成設定を示しています。
-
OCIコンソールにログインし、「アイデンティティとセキュリティ」にナビゲートし、「ドメイン」をクリックします。
-
認証に使用するドメインをクリックします。
-
「統合アプリケーション」および「アプリケーションの追加」をクリックします。
-
「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。
-
アプリケーションの「名前」(
Resource_App
)を入力し、「次へ」をクリックします。 -
「リソース・サーバー構成」セクションで、次の情報を入力します。
- 「このアプリケーションをリソース・サーバーとして今すぐ構成します。」を選択します。
- 「プライマリ・オーディエンス」に、
https://172.16.1.103/
(APIゲートウェイのIPアドレス)と入力します。
-
「スコープの追加」で、次の情報を入力します。
- 「スコープの追加」を選択します。
- 「追加」をクリックします。
- 「スコープ」に、
oci_ekms
と入力します。 - 「追加」をクリックします。
-
追加されたスコープ
oci_ekms
に注意し、下にスクロールします。 -
「クライアント構成」セクションで、次の情報を入力します。
- 「このアプリケーションをクライアントとして今すぐ構成」を選択します。
- 「クライアント資格証明」を選択します。
- 「次」をクリックします。
-
「スキップして後で実行」をクリックして、Web層ポリシーの作成をスキップし、「終了」をクリックします。
-
「統合アプリケーション」ページに移動します。
Resource_App
統合アプリケーションが作成されることに注意してください。Resource_App
統合アプリケーションを選択します。- 「処理」ドロップダウン・メニューをクリックします。
- 「アクティブ化」をクリックします。
-
「アプリケーションのアクティブ化」をクリックします。
-
Resource_App
統合アプリケーションをクリックします。 -
下へスクロール
-
「クライアントID」をコピーし、ノートパッドに格納します。「シークレットの表示」をクリックして、「クライアント・シークレット」を表示します。
-
「コピー」をクリックしてクライアント・シークレットをコピーし、これをノートパッドに保存します。「閉じる」をクリックします。
-
「アプリケーションの追加」をクリックします。
-
「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。
-
アプリケーションの名前(
Client_App
)を入力して、「次へ」をクリックします。 -
「リソース・サーバー構成」で、「後でスキップ」を選択します。
-
「クライアント構成」で、次の情報を入力します。
- 「このアプリケーションをクライアントとして今すぐ構成」を選択します。
- 「クライアント資格証明」を選択します。
- 下へスクロール
-
「スコープの追加」で、次の情報を入力します。
- 「リソースの追加」を選択します。
- 「スコープの追加」を選択します。
- 「スコープ」に、
Resource_App
と入力します。 - 「追加」をクリックします。
-
追加したリソース
Resource_App
を書き留めて、「次へ」をクリックします。 -
「スキップして後で実行」をクリックして、Web層ポリシーの作成をスキップし、「終了」をクリックします。
-
「統合アプリケーション」ページに移動します。
Client_App
統合アプリケーションが作成されることに注意してください。Client_App
統合アプリケーションを選択します。- 「処理」ドロップダウン・メニューをクリックします。
- 「アクティブ化」をクリックします。
-
「アプリケーションのアクティブ化」をクリックします。
-
Client_App
統合アプリケーションをクリックします。 -
下へスクロール
-
「クライアントID」をコピーし、ノートパッドに格納します。「シークレットの表示」をクリックして、「クライアント・シークレット」を表示します。
-
「コピー」をクリックしてクライアント・シークレットをコピーし、これをノートパッドに保存します。「閉じる」をクリックします。
ノート:
Resource_App
およびClient_App
クライアントIDとクライアント・シークレットを収集しました。- これら2つを混在させて、適切な場所で構成しないでください。
タスク9: OCIからのアイデンティティ・ドメインURLの収集
OCIとThales CipherTrust Managerの間のOAuthベースの通信を有効にするには、Thales CipherTrust Managerでのアイデンティティ・プロバイダの構成中にアイデンティティ・ドメインURLを指定する必要があります。
-
OCIコンソールに移動し、「アイデンティティとセキュリティ」に移動して、「ドメイン」をクリックします。
-
機密アプリケーションが作成されたアイデンティティ・ドメインを選択します。
-
ドメインの詳細ページで、「コピー」をクリックして「ドメインURL」をコピーし、ノートパッドに保存します。
タスク10: Thales CipherTrust Managerでのアイデンティティ・プロバイダの作成
このタスクでは、Thales CipherTrust Managerでアイデンティティ・プロバイダを構成します。この設定により、Thales CipherTrust Managerは、タスク3で作成したOAuth 2.0資格証明を使用してOCIで認証できます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
Thales CipherTrust Managerで、AMSのCTM1に移動し、「製品」および「クラウド・キー・マネージャ」をクリックします。
-
「KMSコンテナ」、「Oracle Vaults」の順にクリックし、「外部ボールト」を選択して「アイデンティティ・プロバイダの追加」をクリックします。
-
「アイデンティティ・プロバイダの追加」で、次の情報を入力し、「追加」をクリックします。
- 「名前」(
OCI
)を入力します。 - 「プロバイダ検証」として「OpenID構成URL」を選択します。
- タスク3でコピーしたドメインURLであるOpenID構成URLを入力します。
- URLに
.well-known/openid-configuration
という接尾辞を追加します。したがって、完全なOpenID構成URLはhttps://idcs-<xxx>.identity.oraclecloud.com:443/.well-known/openid-configuration
になります。
- URLに
- 「jwks Protected URL」を選択します。
Resource_App
統合アプリケーションの「クライアントID」および「クライアント・シークレット」を入力します。
- 「名前」(
-
「アイデンティティ・プロバイダ」が作成されていることに注意してください。
タスク11: Thales CipherTrust ManagerでのOCIテナンシの追加
Thales CipherTrust Managerでアイデンティティ・プロバイダを構成した後、次のタスクはOCIテナンシの登録です。これにより、Thales CipherTrust Managerは、以前に構成されたOAuth資格証明を使用して、OCI環境にかわって外部ボールトおよびキーを管理できます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
まず、OCIからテナントの名前とOCIDを取得する必要があります。右上隅にあるプロファイルをクリックし、「テナンシ」をクリックします。
-
テナントの名前とテナントのOCIDをコピーし、両方をノートパッドに格納します。
-
Thales Cloud Key Managerコンソールに移動します。
- 「KMSコンテナ」をクリックします。
- 「Oracle Vaults」をクリックします。
- 「テナンシ」をクリックします。
- 「テナンシの追加」をクリックします。
-
「テナンシの追加」で、次の情報を入力します。
- メソッドとして「Oracle Tenancy (no connection)」を選択します。
- OCIから収集されたテナンシの名前を入力します。
- OCIから収集されたテナンシOCIDを入力します。
- 「追加」をクリックします。
-
OCIテナントがThales CipherTrust Managerに追加されることに注意してください。
タスク12: OCIでの外部キー・マネージャ・サービスのプライベート・エンドポイントの作成
パブリック・インターネットへのトラフィックを公開せずにOCIをThales CipherTrust Managerに安全に接続するには、OCI外部キー管理サービスのプライベート・エンドポイントを作成する必要があります。
これにより、OCIとThales CipherTrust Managerの間のすべての通信が、制御されたプライベート・ネットワーク・パスを介して行われます。
次の前提条件が満たされていることを確認します。
- Thales CipherTrust Managerは、プライベート・ネットワーク設定を介してOCIからアクセス可能である必要があります。例えば、VPN。
- サブネットに、Thales CipherTrust Managerインスタンスへのトラフィックを許可するルーティングおよびセキュリティ・ルールがあることを確認します。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
OCIコンソールで、「アイデンティティとセキュリティ」に移動し、「プライベート・エンドポイント」をクリックします。
-
「プライベート・エンドポイント」に移動し、「プライベート・エンドポイントの作成」をクリックします。
-
「プライベート・エンドポイントの作成」で、次の情報を入力します。
- プライベート・エンドポイントの名前(
Private-Endpoint-For-Vault
)を入力します。 - このプライベート・エンドポイントが存在する必要があるVCNおよびサブネットを選択します。
- 「外部キー・マネージャのプライベートIPアドレス」に
172.16.1.103
を入力します。APIゲートウェイのIPアドレス。 - 「ポート」に
443
と入力します。 - 外部キー管理CAバンドルをアップロードし、「参照」をクリックします。
- プライベート・エンドポイントの名前(
-
このチュートリアルで作成された完全なチェーン証明書を選択しました: OCIでの2つのThales CipherTrust Cloud Key Managerアプライアンスの設定、それらの間のクラスタの作成および認証局としての1つの構成。ただし、CAルート証明書のみを選択することもできます。「開く」をクリックします。
-
Thales CipherTrust Managerの証明書、ルートCAまたは完全なチェーン証明書が選択されていることを確認します。「作成」をクリックします。
-
プライベート・エンドポイントが作成されることに注意してください。次に、プライベート・エンドポイントをクリックします。
-
プライベート・エンドポイントのIPアドレスが構成されていることに注意してください。
タスク13: Thales CipherTrust Managerでの外部ボールトの追加
OCIテナンシおよびプライベート・エンドポイントを配置すると、次のタスクは、Thales CipherTrust Managerに外部Vaultを追加することです。Thales CipherTrust Managerの外部vaultは、OCIの外部キー管理vaultにマップする論理コンテナで、Thales CipherTrust ManagerはHYOK暗号化に使用されるキーを管理できます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
Thales Cloudのキー・マネージャ・コンソールに移動します。
- 「KMSコンテナ」をクリックします。
- 「Oracle Vaults」をクリックします。
- 「外部ボールト」を選択します。
- 「外部Vaultの追加」をクリックします。
-
「外部Vaultの追加」で、次の情報を入力します。
- 「名前」(
OCI
)を入力します。 - 「メソッド」として「Oracleテナンシ(接続なし)」を選択します。
- タスク5で作成するテナンシを選択します。
- タスク4で作成したアイデンティティ・プロバイダである「発行者」を選択します。
- 下へスクロール
Client_App
統合アプリケーションの「クライアントID」を入力します。- 「エンドポイントURLホスト名」に、APIゲートウェイのIPアドレスである
172.16.1.103
と入力します。 - 「ポート」に
443
と入力します。 - 「追加」をクリックします。
- 「名前」(
-
外部vaultが構成されていることに注意してください。外部vault URLをコピーし、これをノートパッドに格納します。
構成すると、このvaultは、OCIサービスが参照する外部キーを格納するためのターゲットの場所になります。OCI環境とCipherTrust管理キーを連結し、HYOKモデルでの暗号化操作を完全に制御できるようにします。
タスク14: OCI外部キー管理サービスVaultの作成
外部vaultがThales CipherTrust Managerで定義されるようになったので、次のタスクは、OCIコンソールで対応する外部Key Management Vaultを作成することです。
このOCI vaultは、Thales CipherTrust Managerにリンクされ、外部キーを使用して暗号化および復号化操作を実行するためにOCIサービスによって使用されます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
タスク9からドメインURLを取得します。これは、OCIで外部キーvaultを構成するために必要です。
-
OCIコンソールで、「アイデンティティとセキュリティ」に移動し、「外部キー管理」をクリックします。
-
「ボールトの作成」をクリックします。
-
「Vaultの作成」で、次の情報を入力します。
- 「名前」(
OCI_EKMS_Vault
)を入力します。 - 「IDCSアカウント名URL」に、タスク7からコピーされたドメインURLを入力します。したがって、完全なURLは
https://idcs-<xxx>.identity.oraclecloud.com:443/
になります。 Client_App
統合アプリケーションの「クライアントID」および「クライアント・アプリケーション・シークレット」を入力します。- 下へスクロール
- タスク6で作成したプライベート・エンドポイントを選択します。
- CTM1で外部vaultを作成したときに、タスク7からコピーした外部vault URLを入力します。
- 「ボールトの作成」をクリックします。
- 「名前」(
-
vaultが作成されていることに注意してください。次に、vaultをクリックします。
-
Vaultの詳細を確認します。
OCIは、指定されたプライベート・エンドポイントを使用して、Thales CipherTrust Managerに接続します。このvaultがアクティブになると、OCIはCCKMによって管理される外部キーと対話し、OCI Object StorageやOCI Block VolumesなどのOCIサービスのHYOKサポートを実現するインタフェースになります。後で、OCI Object Storageでいくつかのテストを実行します。
タスク15: Thales CipherTrust Managerでの外部キーの追加
Thales CipherTrust Managerで外部vaultを設定し、OCIにリンクすると、次のタスクは、OCIがHYOK対応サービスに使用する外部暗号化キーを作成またはインポートすることです。
これらのキーは、Thales CipherTrust Manager内に安全に存在し、外部キー管理インタフェースを介してOCIによって参照されます。組織の要件に応じて、Thales CipherTrust Manager内で新しいキーを直接生成するか、既存のキーをインポートできます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
Thales Cloud Key Managerコンソールに移動します。
- 「Cloud Keys」をクリックします。
- 「Oracle」をクリックします。
- 「キーの追加」をクリックします。
-
「Oracleキーの追加」で、次の情報を入力します。
- 「Oracle External (HYOK)」を選択します。
- タスク8で作成したThales CipherTrust Manager Vaultを選択します。
- 「ソース」としてCipherTrust (ローカル)を選択します。
- 「次」をクリックします。
-
「ソース・キー」に、次の情報を入力します。
- 「ソース・キー・マテリアル」を選択し、「新規キーの作成」を選択します。
- キー「名前」(
CM_Key
)を入力します。 - 「次」をクリックします。
-
「Oracleキーの構成」で、次の情報を入力します。
- 「Oracleキー名」(
CM_Key
)を入力します。 - 「次」をクリックします。
- 「Oracleキー名」(
-
「キーの追加」をクリックします。
-
「閉じる」をクリックします。
-
作成されたキーを書き留めます。
追加すると、外部キー管理vaultを介してOCIでキーが使用可能になります。ただし、OCIサービスがキーを使用できるようにするには、OCIコンソールでキー参照を作成する必要があります。これについては、次のタスクで説明します。
ノート:
- これらのキーは、Thales CipherTrust Managerから離れることはありません。
- OCIは、外部キー・マネージャにのみ暗号化/復号化リクエストを送信するため、キー・マテリアルを完全に制御できます。
タスク16: OCIでのキー参照の作成
外部キーが作成されるか、Thales CipherTrust Managerにインポートされたら、次のタスクはOCIコンソールでキー参照を作成することです。キー参照は、外部キー管理vaultを介して、OCIサービスがThales CipherTrust Managerに格納されている外部キーにアクセスして使用できるようにするポインタとして機能します。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
Thales Cloud Key Managerコンソールに移動します。
- 「Cloud Keys」をクリックします。
- 「Oracle」をクリックします。
- タスク15で作成した「キー」をクリックします。
-
キーには外部キーIDがあり、このIDをコピーします。
-
タスク9で作成したOCIのvaultに戻り、vaultをクリックします。
-
下へスクロール
-
「キー参照の作成」をクリックします。
-
「キー参照の作成」で、次の情報を入力します。
- 「名前」(
OCI_Key_Reference
)を入力します。 - コピーした外部キーID (Thales CipherTrust Manager)キーを入力します。
- 「キー参照の作成」をクリックします。
- 「名前」(
-
キー参照が作成されていることに注意してください。
OCIは、このキー参照をThales CipherTrust Managerで管理される外部キーに関連付けます。これにより、OCIオブジェクト・ストレージ、OCI Block VolumesなどのOCIサービスは、プライベート・エンドポイントを介して外部キーに暗号化リクエストを送信できます。対照的に、重要な材料自体は完全にあなたの制御下にあります。
キー参照をOCIオブジェクト・ストレージ・バケットに添付してすぐにテストし、統合が期待どおりに機能していることを確認します。
タスク17: 顧客管理キーを使用したOCIオブジェクト・ストレージ・バケットの作成
OCIで参照される外部キーを使用して、リソースを暗号化できます。このタスクでは、外部キー管理vaultを介してThales CipherTrust Managerでホストされている外部の顧客管理キーを使用するOCIオブジェクト・ストレージ・バケットを作成します。
この設定により、バケットに格納されるすべてのオブジェクトが、完全に制御し、厳格なコンプライアンス、主権または内部ポリシー要件を満たすキーを使用して暗号化されます。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
OCIコンソールに移動し、「ストレージ」に移動して、「バケット」をクリックします。
-
「バケットの作成」をクリックします。
-
「バケットの作成」で、次の情報を入力します。
- 「名前」(
OCI_EKMS_Test_Bucket
)を入力します。 - 下へスクロール
- 「暗号化」で、「顧客管理キーを使用した暗号化」を選択します。
- Vaultで、タスク8で作成した外部キー管理Vaultを選択します。
- 「キー」で、タスク16で作成されたキー参照を選択します。
- 「作成」をクリックします。
- 「名前」(
-
バケットが作成されることに注意します。バケットをクリックします。
-
下にスクロールしてファイルをアップロードするか、空のままにできます。
-
OCIコンソールまたはその他のページのホーム画面に移動します。
バケットが作成されると、そのバケットに格納されているすべてのデータは、Thales CipherTrust Managerによって管理される外部キーを使用して暗号化されます。これにより、OCIはアクセスと制御のためにキー・インフラストラクチャに依存し、完全なHold Your Own Key (HYOK)機能を実現できます。
外部キーが使用できなくなったとします(たとえば、Thales CipherTrust Managerで無効化またはブロックされている)。その場合、バケットとそのコンテンツへのアクセスが拒否され、データ・セキュリティ・ポスチャの強力な制御ポイントが提供されます。これは、次のタスクでテストします。
タスク18: Thales CipherTrust ManagerおよびOCIでのOracleキーのブロックおよびブロック解除およびOCIオブジェクト・ストレージ・バケットのアクセシビリティのテスト
Hold Your Own Key(HYOK)モデルの主な利点の1つは、いつでもブロックまたはブロック解除できる暗号化キーに対する完全な運用制御を維持できることです。この項では、Thales CipherTrust Managerを使用して、外部キーをブロックまたはブロック解除することで、Oracle管理オブジェクト・ストレージ・バケットへのアクセスを制御する方法を示します。
キーをブロックすると、キーまたはデータを削除することなく、そのキーで暗号化されたOCIリソースへのアクセスが効果的に制限されます。ブロック解除すると、アクセスが復元されます。
-
Thales Cloud Key Managerコンソールに移動します。
- 「Cloud Keys」をクリックします。
- 「Oracle」をクリックします。
- 「キー」の最後にある3つのドットをクリックします。
- 「ブロック」を選択します。
-
「ブロック」を選択します。
-
このキーは、Thales CipherTrust Managerでブロックされていることに注意してください。
-
OCIコンソールに移動し、「ストレージ」に移動して「バケット」をクリックします。
-
タスク17で作成したバケットをクリックします。
-
これでエラーが発生し、バケットやバケットにアップロードされたファイルにアクセスできなくなります。
次に、Thales CipherTrust Managerのキーのブロックを解除します。
次の図は、このタスクのコンポーネントおよび構成設定を示しています。
-
Thales Cloud Key Managerコンソールに移動します。
- 「Cloud Keys」をクリックします。
- 「Oracle」をクリックします。
- キーの最後にある3つのドットをクリックします。
- 「ブロック解除」を選択します。
-
「ブロック解除」を選択します。
-
このキーは、Thales CipherTrust Managerでブロック解除されるようになりました。
-
「バケット詳細」ページに戻るか、そのページが表示されている場合はブラウザをリフレッシュします。
-
ブロック解除した場合、OCIオブジェクト・ストレージ・バケットには再アクセスできないことに注意してください。
この機能は、緊急対応、規制コンプライアンス、およびデータ主権執行のための強力なメカニズムを提供し、OCIでデータにアクセスできるタイミングと方法を完全に制御できるようにします。
次のステップ
このチュートリアルを完了すると、Thales CipherTrust Manager with OCI API Gateway統合オプションを使用して、OCI Hold Your Own Keyソリューションが正常に設定されました。
次のものがあります。
- サポートするネットワーク・アーキテクチャを設計および検証しました。
- セキュアなDNSおよびTLS設定でOCI API Gatewayをデプロイおよび構成します。
- 機密アプリケーションとアイデンティティ・プロバイダを使用して、OCIとThales CipherTrust Managerの間で相互信頼を確立。
- 統合されたThales CipherTrust Manager管理の外部キーとOCI Vault、およびキー・ブロックとブロック解除によるテスト済アクセス制御。
このセットアップでOCI API Gatewayを使用すると、セキュアでスケーラブルな統合ポイントが提供され、認証の実施、可観測性の強化、および制御されたインターフェイスの背後にあるキー・マネージャの抽象化により、コンプライアンス、制御、および柔軟性が確保されます。
このアーキテクチャは、暗号化鍵がOCI内に保存または管理されることはなく、必要に応じて安全な運用が可能であることを保証することで、厳格なデータ主権、コンプライアンス、規制要件を満たすよう組織を位置づけます。
暗号資産を完全に所有、可視化、制御できるOCIでの外部キー管理を可能にする、本番環境に対応したブループリントが用意されました。
関連リンク
確認
- 作者 - Iwan Hoogendoorn (クラウド・ネットワーキング・ブラック・ベルト)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Set up an OCI Hold Your Own Key using Thales CipherTrust Manager with OCI API Gateway
G38189-03
Copyright ©2025, Oracle and/or its affiliates.