Oracle Key Vaultでの暗号化
シークレットマネージャーの接続情報をOCIボルトで保護

Keeperシークレットマネージャーは、Oracle Cloud Infrastructure (OCI) ボルトと統合し、Keeperシークレットマネージャーの構成ファイルを保護できます。この統合により、マシン上の接続情報を保護しつつ、すべてのシークレット認証情報についてKeeperのゼロ知識暗号化を活用できます。
機能
Keeperシークレットマネージャーの構成ファイルをOCIボルトで暗号化・復号化
シークレットマネージャーの接続情報への不正アクセスを防止
コードの最小限の変更で導入可能。すべてのKeeperシークレットマネージャーSDK機能と互換性あり
要件
OCIキーに
ENCRYPTおよびDECRYPTの権限が必要
oci-keymanagementは同梱されているため、別途インストールは不要です。OCI KMSキーに
ENCRYPTおよびDECRYPTの権限が必要
EncryptおよびDecryptの権限が必要
セットアップ
1. モジュールのインストール
GradleまたはMavenを使用してプロジェクトをセットアップ
Gradle
Maven
npm を使用して、シークレットマネージャーのOCIボルト連携モジュールをインストールします。
シークレットマネージャーのOCIボルト連携モジュールは、pip でインストールできます。
OCIボルト連携を使うには、oci が前提パッケージとして必要です。次のコマンドで pip によりローカル環境にインストールします。
シークレットマネージャーのOCIボルト連携モジュールは、.NETのNuGetパッケージマネージャーでインストールできます。
2. OCIボルト接続の構成
OCIボルトのインスタンスが利用可能であり、その OCID (Oracle Cloud Identifier) を把握していることを確認してください。デフォルトでは、oci key management ライブラリは標準のOCI設定ファイル (~/.oci/config) を使用します。
Oracleキーのセットアップの詳細については、Oracleの公式ドキュメントをご参照ください。
または、OCIボルトにアクセスするための情報を含め、OCI環境に適した設定を追加する必要があります。
設定ファイルは以下のようになります (実際の情報に置き換えてください)
[DEFAULT] user=ocid1.user.oc1..example_unique_id fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx key_file=/path/to/your/private/api/key.pem tenancy=ocid1.tenancy.oc1..example_unique_id region=us-phoenix-1
3. コードにOCIボルトストレージを追加
OCIボルト接続の構成が済んだら、OCIボルト連携でKSM構成の暗号化・復号ができます。シークレットマネージャーSDKでは、ストレージとしてOCIボルトを指定します。
OCIボルト連携の利用
セットアップ後は、OCIボルト連携によりシークレットマネージャーSDKの機能をすべて利用できます。KSM構成ファイルの暗号化・復号を行うには、コードからOCIキーにアクセスできる必要があります。 接続認証情報を指定して使う場合
この操作を行うには、まず OracleKeyValueStorage インスタンスを作成し、それを SecretManagerOptions コンストラクタに渡します。
OracleKeyValueStorage には、プロファイルと構成が記載されたシークレットマネージャーの構成ファイル名が必要です。
この操作を行うには、SecretsManager コンストラクタで OciKeyValueStorage をシークレットマネージャーのストレージとして使用します。
ストレージには、OCIの構成ファイルのパス、複数プロファイルがある場合のOCI構成プロファイル名、OCI KMSのCryptoエンドポイントとManagementエンドポイント、およびOCIボルトで暗号化するシークレットマネージャー構成ファイル名が必要です。
この操作を行うには、SecretsManager コンストラクタで OracleKeyValueStorage をシークレットマネージャーのストレージとして使用します。
ストレージには、OCIキーID、キーバージョンID、KMSのCryptoエンドポイントとManagementエンドポイント、OCI構成ファイルのパス、構成プロファイル、およびOCIボルトで暗号化するシークレットマネージャー構成ファイル名が必要です。あわせて次のとおりOCIセッションを構成します。
この操作を行うには、SecretsManager コンストラクタで OracleKeyValueStorage をシークレットマネージャーのストレージとして使用します。
ストレージには、OCIキーID、キーバージョンID、KMSのCryptoエンドポイントとManagementエンドポイント、OCI構成ファイルのパス、構成プロファイル、およびOCIボルトで暗号化するシークレットマネージャー構成ファイル名が必要です。あわせて次のとおりOCIセッションを構成します。
追加オプション
キーの変更
KSM構成の暗号化に使用するキーを変更することも可能です。以下の例は、そのために必要なコードとなります。
構成の復号化
別のクラウドプロバイダーへ移行する場合や、平文の認証情報を取得するために構成ファイルを復号できます。復号した構成をファイルに書き戻すには true、ファイルを変更せず平文だけ取得するには false を渡します。
KSM統合機能を使用する準備ができました。
その他の例と機能については、KSM SDKのドキュメントをご参照ください。
最終更新

