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

Keeperシークレットマネージャーは、Oracle Key Vaultと統合することで、Keeperシークレットマネージャーの構成ファイルを保護できます。この統合により、ローカル環境の接続情報を安全に守りながら、すべてのシークレット情報をゼロ知識暗号化で保護するKeeperのセキュリティ機能を活用できます。
機能
Keeperシークレットマネージャーの構成ファイルをOracle Key Vaultで暗号化・復号化
シークレットマネージャーの接続情報への不正アクセスを防止
コードの最小限の変更で導入可能。すべてのKeeperシークレットマネージャーSDK機能と互換性あり
要件
GCP CKMキーに
ENCRYPTおよびDECRYPTの権限が必要
JavaScript用シークレットマネージャーSDKに対応
OCI SDK の
oci-keymanagementパッケージが必要GCP CKMキーに
ENCRYPTおよびDECRYPTの権限が必要
.NET用シークレットマネージャーSDKに対応
ENCRYPTおよびDECRYPTの権限が必要
GoLang用シークレットマネージャーSDKに対応
OCI SDKからoci-keymanagementパッケージが必要
GCP CKMキーに
ENCRYPTおよびDECRYPTの権限が必要
セットアップ
1. モジュールのインストール
GradleまたはMavenを使用してプロジェクトをセットアップ
Gradle
Maven
npmを使用してシークレットマネージャーのOracle Key Vaultモジュールをインストールします。
シークレットマネージャーOCI KSMモジュールは、pipを使用してインストールできます。
Oracle Key Vault統合を使用するには、oci が前提パッケージとして必要です。以下のコマンドで、pip を使ってローカル環境にインストールしてください。
シークレットマネージャーのOracle KSMモジュールは、.NETのNuGetパッケージマネージャーを使用してインストールできます。
シークレットマネージャーのOracle KSMモジュール統合は、以下の方法でインストールできます。
2. Oracle KVの接続を構成
Oracle Key Vault インスタンスが利用可能であること、そしてそのOCID (Oracle Cloud Identifier) を把握していることを確認してください。なお、oci key managementライブラリはデフォルトで~/.oci/configにあるOCI設定ファイルを使用します。
または、Oracle Key Vault にアクセスするための情報を含め、OCI環境に適した設定を追加する必要があります。
3. コードにOracle Key Vaultストレージを追加
Oracleとの接続が設定されると、統合機能を使ってKSM構成を暗号化および復号化するためのキーを取得できます。あわせて、シークレットマネージャーSDKにKMSをストレージとして使用するよう指示する必要があります。
Oracle Key Vault統合の使用
セットアップが完了すると、Oracle Key Vaultとの統合により、シークレットマネージャーSDKのすべての機能がそのまま使えるようになります。KSM構成ファイルの暗号化や復号化を行うには、コードがOCIキーにアクセスできる必要があります。 指定された接続認証情報の使用
この操作を行うには、まず OracleKeyValueStorage インスタンスを作成し、それを SecretManagerOptions コンストラクタに渡します。
OracleKeyValueStorage には、プロファイルと構成が記載されたシークレットマネージャーの構成ファイル名が必要です。
この操作を行うには、SecretsManager コンストラクタで、OracleKeyValueStorage をシークレットマネージャーのストレージとして使用します。
OracleKeyValueStorage を使用する際には、以下の情報が必要です:
Oracleの構成ファイルのパス
複数のプロファイルがある場合は使用するOracle構成プロファイル名
Oracle KMSの暗号化エンドポイント (Cryptoエンドポイント)
Oracle KMSの管理エンドポイント (Managementエンドポイント)
Oracle KMSで暗号化されるシークレットマネージャーの構成ファイル名
この操作を行うには、SecretsManager コンストラクタで OracleKeyValueStorage をシークレットマネージャーのストレージとして使用します。
OracleKeyValueStorage を使用するには、以下の情報が必要です。
OCIキーID
キーバージョンID
KMSの暗号化 (Crypto) エンドポイント
KMSの管理 (Management) エンドポイント
Oracleの構成ファイルのパス
使用するOracle構成プロファイル名 (複数プロファイルがある場合)
Oracle KMSによって暗号化されるシークレットマネージャー構成ファイル名
以下に示すOCIセッション構成情報
これらを正しく設定することで、Oracle Key Vaultとの安全な統合が可能になります。
この操作を行うには、SecretsManager コンストラクタで OracleKeyValueStorage をシークレットマネージャーのストレージとして使用します。
OracleKeyValueStorage を利用するには、以下の情報が必要です。
OCIキーID
キーバージョンID
KMS暗号化 (Crypto) エンドポイント
KMS管理 (Management) エンドポイント
Oracle構成ファイルのパス
使用するOracle構成プロファイル名 (複数プロファイルがある場合)
Oracle KMSによって暗号化されるシークレットマネージャー構成ファイル名
以下に示すOCIセッション設定
これらの情報を用いてOracleKeyValueStorageを初期化し、SecretsManagerに渡すことで、Oracle Key Vaultをストレージとして使用することができます。
この操作を行うには、SecretsManagerコンストラクタでNewOracleKeyValueStorageをシークレットマネージャーのストレージとして使用します。
NewOracleKeyValueStorageを使用してKSM構成をOracle Vaultで暗号化するには、以下のパラメータが必要です:
ksmConfigFileName: KSM構成ファイルのファイル名keyConfig: Oracleキーの認証情報 (KeyIDとKeyVersionID)oracleConfig: Oracle Vaultの接続情報 (VaultManagementEndpointとVaultCryptoEndpoint)
なお、oci-keymanagementライブラリはデフォルトで~/.oci/configにあるOCI構成ファイルを使用します。必要に応じてカスタマイズも可能です。
追加オプション
キーの変更
KSM構成の暗号化に使用するキーを変更することも可能です。以下の例は、そのために必要なコードとなります。
構成の復号化
現在の実装を別のクラウド環境に移行する場合や、生の認証情報を取得したい場合は、構成を復号することができます。この関数は真偽値 (boolean) を受け取り、trueにすると復号した構成をファイルに保存し、falseの場合は復号された構成をそのまま返します。
KSM統合機能を使用する準備ができました。
最終更新

