For the complete documentation index, see llms.txt. This page is also available as Markdown.

AWS Secrets Managerインポート

aws-secrets-import コマンドは、AWS Secrets Manager内のすべてのシークレットを読み取り、指定した共有フォルダにKeeperレコードとして取り込みます。各シークレット名がレコードのタイトルとなり、シークレットの値はレコード上の名前付きフィールドに解析されます。

  • エイリアス: amsi

  • 要件: boto3pip install keeper-commander[aws] でインストール

関連: Azure Key Vault は azure-secrets-import、Google Cloud Secret Managerは gcp-secrets-import をご参照ください。3つのコマンドは、シークレット値の解析ルール、フィールドマッピング、フィルタフラグを共有しています。


認証

AWS認証情報は以下の順序で解決されます。

1

明示的なフラグ

コマンドラインで --access-key--secret-key を直接指定。

2

boto3認証情報チェーン

明示的なフラグがない場合は、標準のboto3セッションが使用され、以下の順序で確認されます。

  • 環境変数 (AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY など)

  • ~/.aws/credentials および ~/.aws/config

  • 実行中のEC2インスタンスまたはECSタスクにアタッチされたIAMロール

本番環境では、認証情報フラグを省略し、インスタンスロールまたは ~/.aws の構成に任せることが多いです。


基本的な使い方

aws-secrets-import <folder-uid> [options]

必須引数は共有フォルダUIDのみです。インポート先となるKeeper共有フォルダの一意識別子です。コマンダー内で list-sf を実行するとフォルダのUIDを確認できます。

My Vault> list-sf

引数とフラグ

位置引数

引数
説明

folder

必須。 シークレットのインポート先となる共有フォルダUID。

認証情報フラグ

フラグ
説明

--access-key KEY

AWSアクセスキーID。boto3認証情報チェーンより優先。

--secret-key SECRET

AWSシークレットアクセスキー。--access-key 指定時は必須。

--region REGION

AWSリージョン名 (例: us-east-1)。省略時はboto3のデフォルト。

動作フラグ

フラグ
説明

--record-type TYPE

インポートするレコードのKeeperレコードタイプ。既定値は login

--dry-run

レコードを作成せず、インポート対象のシークレットを一覧表示。

フィルタフラグ

すべてのフィルタフラグは任意で、AND条件で組み合わされます。指定したすべてのフィルタを満たすシークレットのみがインポートされます。

フラグ
説明

--name NAME

この名前と完全一致するシークレットのみインポート。

--name-starts-with PREFIX

名前が PREFIX で始まるシークレットのみインポート。

--name-ends-with SUFFIX

名前が SUFFIX で終わるシークレットのみインポート。

--name-contains SUBSTRING

名前に SUBSTRING を含むシークレットのみインポート。

--tags KEY=VALUE[,KEY=VALUE,...]

指定したキー/値のタグをすべて持つシークレットのみインポート。


シークレットのフィルタリング

フィルタを使うと、残りのシークレットに触れずに対象のサブセットだけをインポートできます。指定した各フィルタに一致する必要があります。

名前フィルタ

名前フィルタは、AWSに保存されているシークレット名全体に対して適用されます。

複数の名前フィルタを組み合わせることもできます。それぞれが追加の条件になります。

タグフィルタ

--tags フラグは、カンマ区切りの KEY=VALUE ペアのリストを受け取ります。指定したタグをすべて、かつ与えた値と完全一致で持つシークレットのみが対象になります。

タグのキーと値は大文字と小文字を区別し、AWSに保存されている値と完全一致する必要があります。Azure Key Vault でも tags という用語を使い、GCP Secret Manager では labels という用語を使いますが、--tags フラグの使い方は3つのプロバイダーで同じです。

フィルタの組み合わせ

すべてのフィルタ種別を1つのコマンドで併用できます。

リストしたすべてのフィルタを満たすシークレットのみがインポートされます。


シークレット値の形式

同じ解析ルールは、3つのクラウドインポートコマンド (aws-secrets-importazure-secrets-importgcp-secrets-import) で共通に使用されます。

AWS Secrets Manager からシークレットを取得すると、その SecretString は以下のルールに従い、優先順位の高い順に名前付きフィールド値へ解析されます。

1. JSONオブジェクト

シークレット文字列が { で始まり、オブジェクトを表す有効なJSONである場合、オブジェクト内の各キー/値ペアがKeeperレコード上の個別フィールドになります。

usernamepasswordhost の3フィールドになります。

2. KEY=VALUE行 (シェル形式)

シークレット文字列がJSONでない場合、改行区切りの KEY=VALUE ペア (.env ファイルと同じ形式) として解析を試みます。# で始まる行と空行は無視されます。

usernamepasswordhost の3フィールドになります。

3. 代替 — プレーン文字列

JSONでも KEY=VALUE 行でも解析できない場合、文字列全体が value という名前の単一フィールドに保存されます。

value = s3cur3P@ss! の1フィールドになります。


Keeperレコードの構造

インポートされた各シークレットは、対象の共有フォルダにTypedRecordが1件作成されます。

  • タイトル — 元のAWSシークレット名 (例: prod/database/primary)

  • レコードタイプ--record-type で制御 (既定値: login)

フィールドの配置

シークレットから解析したキー/値ペアは、レコードに配置する前にKeeperフィールドタイプへマッピングされます。

解析キー (大文字小文字を区別しない)
Keeperフィールドタイプ
配置

username, user, login

login

型付きフィールド

password, pass, secret, secret_value

password

型付きフィールド

url, endpoint, host

url

型付きフィールド

email, mail

email

型付きフィールド

note, notes

レコードのNotesセクション

上記以外

text

型付きフィールド

note および notes キーは、型付きフィールドやカスタムフィールドではなく、レコードのNotesフィールドに書き込まれます。上記以外のキーは text 型付きフィールドとして保存されます。同じ意味のタイプ (loginpasswordurlemail など) が複数ある場合、最初の出現が型付きフィールドのスロットを占め、以降はカスタムフィールドに保存されます。


環境のAWS認証情報ですべてのシークレットをインポート

~/.aws の認証情報、またはアタッチされたEC2/ECSインスタンスロールを自動的に使用します。

認証情報とリージョンを明示的に指定

インポート対象のプレビュー (ドライラン)

すべてのフィルタを通過するシークレット名を表示し、レコードは作成しません。

paymentsチームが所有する本番シークレットのみインポート

既知の単一シークレットをインポート

ステージングのRDSシークレットをすべて serverCredentials レコードとしてインポート

複雑なフィルタをコミット前にドライラン

最終更新