AWS Secrets Manager
KeeperボルトのシークレットをAWS Secrets Managerと同期
概説
Keeper Secrets Manager CLIツールのsync
コマンドを使用すると、Keeperボルトから目的のAWS Secrets Managerアカウントにシークレットをプッシュし、目的の場所にある既存の値を上書きできます。これにより、Keeperボルトが、AWS Secrets Managerを利用するAWSのすべてのサービスまたはスクリプトの信頼できる唯一の情報源となります。
機能
KeeperボルトのシークレットをAWS Secrets Managerの信頼できる情報源として使用します
AWSの既存のスクリプトとサービスでKeeperボルトのシークレットがシームレスに使用できるようになります
前提条件
Keeper Secrets Managerへのアクセス(詳細は、クイックスタートガイドをご参照ください)
KeeperサブスクリプションのSecrets Managerアドオンの有効化
Secrets Manager強制ポリシーが有効化されたロールを割り当てられたメンバーシップ
シークレットを共有するKeeper Secrets Managerアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
AWS Secrets ManagerのAWSアカウント、およびIAMセキュリティクレデンシャルの作成機能
設定
1.Keeper Secrets Manager CLIを設定
KSM CLIがすでにマシンに設定済みの場合は、この手順を省略できます。
KSM CLIツールを設定するには、Keeper Secrets Managerのワンタイムアクセストークンを使用してプロファイルを作成する必要があります。
これを行う最も簡単な方法は、次のコマンドを使用してデフォルトのプロファイルを初期化することです。
ksm profile init <TOKEN>
複数のプロファイルの作成およびその他のオプションについては、プロファイルのドキュメントをご参照ください。
2.AWSのアクセス権限を設定
AWSとKSMの同期を使用するには、ボルト全体または同期する個々のキーに対してSecretsManagerReadWrite
が有効になっている標準のIAMセキュリティクレデンシャルがAWS Secrets Managerに必要です。\
arn:aws:iam::aws:policy/SecretsManagerReadWrite
アクセスキーの作成については、Amazonの手順書をご参照ください。
3.AWSクレデンシャル記録の作成
KSM CLIでは、シークレットを設定するためにAWSアカウントのクレデンシャルが必要です。 これらのクレデンシャルはKeeperの記録に保存されており、CLIツールからは、Keeper Secrets Managerを使用してアクセスできます。
クレデンシャル記録には、以下のラベルを持つ記録フィールドが必要です。
「AWS Access Key ID」
「AWS Secret Access Key」
「AWS Region Name」
(方法1)AWSクレデンシャルのカスタムの記録タイプを作成
必要なフィールドを使用してカスタムの記録タイプを作成できるため、記録の作成が簡単かつシンプルになります。
カスタムの記録タイプを作成するには、Keeperボルトで「カスタムの記録タイプ(Custom Record Types)」タブに移動して、「タイプを作成(Create Type)」をクリックします。 正しいフィールドラベルが設定された伏せ字項目を使用して新しい記録タイプを作成し、「発行(Publish)」をクリックして新しい記録タイプを作成します。
後は、AWSクレデンシャルタイプの記録を新規作成し、対応するフィールドに詳細情報を入力するだけです。
この新しい記録が、Secrets Managerアプリケーションに関連付けられた共有フォルダに移動されていることを確認します。
(方法2)カスタムフィールドを追加
新しい記録タイプを作成せずにクレデンシャル記録を作成するには、必要なフィールドをカスタムフィールドとして標準記録に追加します。
任意のタイプの新しい記録を作成し、必要なAWSフィールドごとに「伏せ字項目(Hidden Field)」タイプのカスタムフィールドを追加します。 「ラベルの編集(Edit Label)」をクリックして、ラベルを対応するフィールド名に変更します。
どの記録タイプでも有効ですが、「ファイル添付(File Attachment)」の標準記録タイプにはフィールドがないため、カスタムフィールドを追加したときの見た目がすっきりします。
次に、各カスタムフィールドに入力し、「保存(Save)」をクリックして記録を保存します。
4.値のマッピングを作成
KSM CLIのsync
コマンドは、コマンド呼び出しで定義されたマッピングを使用して、設定する値を識別します。コマンドに渡されたマッピングごとに、指定した名前の値にKeeperボルトから所与の値が代入されます。
これらのマッピングは次の形式に従っています。
--map "VALUE KEY" "KEEPER NOTATION"
VALUE KEY
は、AWS Secrets Managerで値が割り当てられるキーの名前です。
KEEPER NOTATION
は、キーに設定するKeeperの記録の値を取得するKeeper表記法を使用したクエリです。
Keeper表記法は、Keeper Secrets Managerが特定の記録の値を識別するために使用するクエリの表記法です。 この表記法は、次の一般的な形式に従います。UID/
[field|custom]/fieldname
例: ae3d[...]d22e/field/password
詳細は、Keeper表記法のドキュメントをご参照ください。
これらの例では、完全なUID記録が指定されていないことにご注意ください。
完全なマッピング例:
--map "MySQL_PWD" "jd3[...]i-fd/field/password"
複数のマッピングを1つのsync
コマンドに追加できます
--map "MySQL_PWD" "jd3[...]i-fd/field/password" --map "MySQL_Login" "jd3[...]i-fd/field/login"
Keeper表記法を使用したクエリによって参照される記録が、Secrets Managerアプリケーションと共有されている共有フォルダに格納されていることを確認します。
これで、KSM同期を実行する準備ができました
同期の実行
同期を実行するには、クレデンシャル記録と値のマッピングを指定して、KSM CLIのsync
コマンドを使用します。
1.コマンドを構成
KSM syncコマンドをAWSタイプと組み合わせます。 以下のような形式になります。
ksm sync --type aws --credentials [UID] --map [...] --map [...]
2.ドライランを実行
syncコマンドは、実際に値をプッシュすることも変更を加えることもせずに、AWS Secrets Managerの値に加えられるすべての変更を確認するドライランの実行をサポートします。 これを使用して、マッピングクエリが正しく構成されていることを確認します。
ksm sync --type aws --credentials [UID] --map [...] --map [...] --dry-run
3.同期を実行
準備ができたら、dry-runオプションを指定せずにsyncコマンドを実行します。 これにより、KeeperボルトからAWS Secrets Managerに値がプッシュされます
ヒント: --map
の短縮形として、-m
を使用できます
ksm sync --type aws --credentials [UID] -m [...] -m [...]
最終更新