Google Cloud Secret Managerとの同期
KeeperボルトのシークレットをGoogle Cloud Secret Managerと同期

概説
KeeperシークレットマネージャーCLIツールのsyncコマンドを使用すると、Keeperボルトにあるシークレットを、対象のGoogle Cloud Secret Managerプロジェクトへ上書きして転送できます。これにより、Google Cloud Secret Managerを利用するGoogle Cloud上のサービスやスクリプトにとって、シークレットの信頼できる唯一の情報源としてKeeperボルトを利用できます。
機能
KeeperボルトのシークレットをGoogle Cloud Secret Managerの信頼できる情報源として利用
Google Cloudで使用中のスクリプトやサービスに、Keeperボルトのシークレットをシームレスに統合
要件
Keeperシークレットマネージャーへのアクセス (詳細は、クイックスタートガイドをご参照ください)
Keeperサブスクリプションでシークレットマネージャーアドオンが有効化されていること
シークレットマネージャー関連ポリシーが有効化されたロールを割り当てられたメンバーシップ
シークレットが共有されたKeeperシークレットマネージャーアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
Google Cloud Secret Managerを使用するGoogle Cloudアカウント、オプションでIAMサービスアカウントの認証情報を作成する権限
セットアップ
1. KeeperシークレットマネージャーCLIを設定
KSM CLIツールを構成するには、Keeperシークレットマネージャーのワンタイムアクセストークンを使用してプロファイルを作成します。
以下のコマンドでデフォルトプロファイルを初期化できます。
複数のプロファイルの作成およびその他のオプションについては、プロファイルのドキュメントをご参照ください。
GCPへの同期にはGoogle Cloud SDKパッケージが必要です。これらはCLIに同梱されていません。以下のコマンドでインストールしてください。
pip3 install --upgrade google-cloud-secret-manager google-auth
パッケージをインストールしていない場合、ksm sync --type gcp はMissing GCP Dependenciesエラーになります。
2. Google Cloudのアクセス権限を設定
KSMとGoogle Cloudを同期するには、Google Cloud Secret Manager側で、Secret Manager Adminロールが割り当てられたIAM認証情報が必要です (プロジェクトまたはサービスアカウント単位)。
アクセス制御の詳細
サービスアカウント認証情報の作成方法 (任意)
3. Google Cloud認証情報レコードの作成
KSM CLIは、シークレットの設定に使用するGoogle Cloudサービスアカウントの認証情報を必要とします。 これらの認証情報はKeeperレコードに保存され、CLIからSecrets Manager経由で参照されます。
必要なフィールドラベル
Google Cloud Project IDGoogle Application Credentials(オプション)
方法 1: Google Cloud認証情報カスタムレコードタイプの作成
必要なフィールドを使用してカスタムのレコードタイプを作成できるため、レコードの作成が簡単かつシンプルになります。
Keeperボルトで [カスタムレコードタイプ] タブに移動して、[タイプの作成] をクリックします。 正しいフィールドラベルを持つ伏せ字項目を使用して新しいレコードタイプを作成し、[発行] をクリックします。

Google Cloud認証情報タイプのレコードを新規作成し、対応するフィールドに詳細情報を入力します。

この新しいレコードを、シークレットマネージャーアプリケーションに関連付けられた共有フォルダに入れます。
方法 2: カスタムフィールドを追加
新しいレコードタイプを作成せずに認証情報レコードを作成するには、必要なフィールドをカスタムフィールドとして標準レコードに追加します。
任意のタイプの新しいレコードを作成し、必要なGCPフィールドごとに [伏せ字項目] タイプのカスタムフィールドを追加します。[ラベルの編集] をクリックして、対応するフィールド名のラベルを変更します。

次に、各カスタムフィールドに入力し、[保存] をクリックしてレコードを保存します。
4. 値のマッピングを作成
KSM CLI のsyncコマンドでは、コマンドに指定したマッピングをもとに、どのシークレットをどの名前でGCPに登録するかを判断します。マッピングごとに、Keeperボルトにある値が対応する名前でGCP Secret Managerに設定されます。
これらのマッピングは次の形式に従っています。
VALUE KEY: GCP Secret Managerで値が割り当てられるキー名KEEPER NOTATION: Keeperレコードから値を取得するための記法
Keeper表記法は、Keeperシークレットマネージャーが特定のレコードの値を指定するために使う記述方法です。 基本形式は以下のようになります。
以下の例では、指定されたUIDのレコード内にある「password」という名前の標準フィールドの値を参照しています。
詳細については、Keeper表記法のページをご参照ください。
完全なマッピング例
複数のマッピングを1つのsyncコマンドに追加できます。
Keeper記法で参照するレコードは、シークレットマネージャーアプリケーションと共有されている共有フォルダ内にある必要があります。正しく動作させるために、対象のレコードが必ず共有フォルダに配置されていることを確認してください。
これで、KSM同期を実行する準備ができました。
同期の実行
同期を実行するには、クレデンシャルレコードと値のマッピングを指定して、KSM CLIのsyncコマンドを使用します。
1. コマンドを構成
KSM syncコマンドをGCPタイプと組み合わせます。 以下のような形式になります。
2. ドライランを実行
syncコマンドはドライラン (dry-run) に対応しており、GCP Secret Manager に対して実際の値を反映させずに、どの値が変更されるかを事前に確認できます。マッピングの記述が正しくできているかを確認するために、まずはドライランを実行することをおすすめします。
3. 同期を実行
準備ができたら、dry-runオプションを指定せずにsyncコマンドを実行します。 これにより、KeeperボルトからGCPシークレットマネージャーに値がプッシュされます
最終更新

