Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 AWS
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Secrets Manager の例 AWS CLI
次のコード例は、Secrets Manager AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。
トピック
アクション
次の例は、batch-get-secret-value を使用する方法を説明しています。
- AWS CLI
-
例 1: 名前順に表示されたシークレットグループのシークレット値を取得するには
次の
batch-get-secret-valueの例では、3 つのシークレットのシークレット値を取得します。aws secretsmanager batch-get-secret-value \ --secret-id-listMySecret1MySecret2MySecret3出力:
{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }詳細については、「AWS Secrets Manager ユーザーガイド」の「バッチ内のシークレットのグループを取得する」を参照してください。
例 2: フィルターで選択されたシークレットグループのシークレット値を取得するには
次の
batch-get-secret-valueの例は、アカウント内にあり、名前にMySecretが含まれているシークレット値のシークレットを取得します。名前によるフィルタリングでは、大文字と小文字が区別されます。aws secretsmanager batch-get-secret-value \ --filters Key="name",Values="MySecret"出力:
{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }詳細については、「AWS Secrets Manager ユーザーガイド」の「バッチ内のシークレットのグループを取得する」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「BatchGetSecretValue
」を参照してください。
-
次の例は、cancel-rotate-secret を使用する方法を説明しています。
- AWS CLI
-
シークレットの自動ローテーションをオフにするには
次の
cancel-rotate-secretの例では、シークレットの自動ローテーションをオフにします。ローテーションを再開するには、rotate-secretを呼び出します。aws secretsmanager cancel-rotate-secret \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットをローテーションする」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「CancelRotateSecret
」を参照してください。
-
次の例は、create-secret を使用する方法を説明しています。
- AWS CLI
-
例 1: JSON ファイルの認証情報からシークレットを作成するには
次の
create-secretの例は、ファイル内の認証情報からシークレットを作成します。詳細については、「 CLI AWS ユーザーガイド」の「ファイルからの CLI パラメータのロード」を参照してください。 AWSaws secretsmanager create-secret \ --nameMyTestSecret\ --secret-stringfile://mycreds.jsonmycreds.jsonの内容:{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの作成」を参照してください。
例 2: シークレットを作成するには
次に、2 つのキーと値のペアを持つシークレットを作成する、
create-secretの例をします。コマンドシェルにコマンドを入力すると、コマンド履歴がアクセスされたり、ユーティリティからコマンドパラメータにアクセスされたりするリスクがあります。これは、コマンドにシークレットの値が含まれている場合に懸念されます。詳細については、「Secrets Manager ユーザーガイド」の「コマンドラインツールを使用してシークレットを保存するする際のリスクを軽減する」を参照してください。aws secretsmanager create-secret \ --nameMyTestSecret\ --description"My test secret created with the CLI."\ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの作成」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「CreateSecret
」を参照してください。
-
次の例は、delete-resource-policy を使用する方法を説明しています。
- AWS CLI
-
シークレットにアタッチされたリソースベースのポリシーを削除するには
次に、シークレットにアタッチされているリソースベースのアポリシーを削除する、
delete-resource-policyの例を示します。aws secretsmanager delete-resource-policy \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「認証とアクセスコントロール」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteResourcePolicy
」を参照してください。
-
次の例は、delete-secret を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットを削除するには
次の
delete-secretの例は、シークレットを削除します。restore-secretレスポンスフィールドで示される日時までは、DeletionDateでこのシークレットを復旧できます。他のリージョンにレプリカが作成されているシークレットを削除する場合は、まずそのレプリカをremove-regions-from-replicationで削除してから、delete-secretを呼び出します。aws secretsmanager delete-secret \ --secret-idMyTestSecret\ --recovery-window-in-days7出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1524085349.095 }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの削除」を参照してください。
例 2: シークレットを直ちに削除するには
次の
delete-secretの例は、復旧期間なしでシークレットを直ちに削除します。この場合のシークレットは復元できません。aws secretsmanager delete-secret \ --secret-idMyTestSecret\ --force-delete-without-recovery出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1508750180.309 }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの削除」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「DeleteSecret
」を参照してください。
-
次の例は、describe-secret を使用する方法を説明しています。
- AWS CLI
-
シークレットの詳細を取得するには
次の
describe-secretの例は、シークレットの詳細を表示します。aws secretsmanager describe-secret \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-Ca8JGt", "Name": "MyTestSecret", "Description": "My test secret", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "RotationEnabled": true, "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestRotationLambda", "RotationRules": { "AutomaticallyAfterDays": 2, "Duration": "2h", "ScheduleExpression": "cron(0 16 1,15 * ? *)" }, "LastRotatedDate": 1525747253.72, "LastChangedDate": 1523477145.729, "LastAccessedDate": 1524572133.25, "Tags": [ { "Key": "SecondTag", "Value": "AnotherValue" }, { "Key": "FirstTag", "Value": "SomeValue" } ], "VersionIdsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333": [ "AWSPENDING" ] }, "CreatedDate": 1521534252.66, "PrimaryRegion": "us-west-2", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InSync", "StatusMessage": "Replication succeeded" } ] }詳細については、「Secrets Manager ユーザーガイド」の「シークレット」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「DescribeSecret
」を参照してください。
-
次の例は、get-random-password を使用する方法を説明しています。
- AWS CLI
-
ランダムなパスワードを生成するには
次の
get-random-passwordの例では、少なくとも 1 つの大文字、小文字、数字、句読点を含む 20 文字のランダムなパスワードを生成します。aws secretsmanager get-random-password \ --require-each-included-type \ --password-length20出力:
{ "RandomPassword": "EXAMPLE-PASSWORD" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの作成と管理」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetRandomPassword
」を参照してください。
-
次の例は、get-resource-policy を使用する方法を説明しています。
- AWS CLI
-
シークレットにアタッチされているリソースベースポリシーを取得するには
次に、シークレットにアタッチされたリソースベースのポリシーを取得する、
get-resource-policyの例を示します。aws secretsmanager get-resource-policy \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n \"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\": \"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}" }詳細については、「Secrets Manager ユーザーガイド」の「認証とアクセスコントロール」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetResourcePolicy
」を参照してください。
-
次の例は、get-secret-value を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットの暗号化されたシークレット値を取得するには
次の
get-secret-valueの例は、現在のシークレット値を取得します。aws secretsmanager get-secret-value \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "SecretString": "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": 1523477145.713 }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの取得」を参照してください。
例 2: 前のシークレット値を取得するには
次の
get-secret-valueの例は、前のシークレット値を取得します。aws secretsmanager get-secret-value \ --secret-idMyTestSecret--version-stageAWSPREVIOUS出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "SecretString": "{\"user\":\"diegor\",\"password\":\"PREVIOUS-EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSPREVIOUS" ], "CreatedDate": 1523477145.713 }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの取得」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「GetSecretValue
」を参照してください。
-
次の例は、list-secret-version-ids を使用する方法を説明しています。
- AWS CLI
-
シークレットに関連付けられているすべてのシークレットバージョンを一覧表示するには
次の
list-secret-version-idsの例では、シークレットのすべてのバージョンのリストを取得します。aws secretsmanager list-secret-version-ids \ --secret-idMyTestSecret出力:
{ "Versions": [ { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSPREVIOUS" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523477145.713 }, { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "VersionStages": [ "AWSCURRENT" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523486221.391 }, { "CreatedDate": 1.51197446236E9, "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333;" } ], "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「バージョン」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListSecretVersionIds
」を参照してください。
-
次の例は、list-secrets を使用する方法を説明しています。
- AWS CLI
-
例 1: アカウント内のシークレットを一覧表示するには
以下の
list-secretsの例は、アカウント内のシークレットの一覧を取得します。aws secretsmanager list-secrets出力:
{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherSecret-d4e5f6", "Name": "AnotherSecret", "LastChangedDate": 1523482025.685, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ] } } ] }詳細については、「Secrets Manager ユーザーガイド」の「シークレットを検索する」を参照してください。
例 2: アカウント内のシークレットの一覧をフィルタリングするには
次の
list-secretsの例は、アカウント内にあり、名前にTestが含まれているシークレットの一覧を取得します。名前によるフィルタリングでは、大文字と小文字が区別されます。aws secretsmanager list-secrets \ --filter Key="name",Values="Test"出力:
{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } } ] }詳細については、「Secrets Manager ユーザーガイド」の「シークレットを検索する」を参照してください。
例 3: 別のサービスで管理されているアカウントのシークレットを一覧表示するには
次の
list-secretsの例は、Amazon RDS によって管理されているアカウントのシークレットを返します。aws secretsmanager list-secrets \ --filter Key="owning-service",Values="rds"出力:
{ "SecretList": [ { "Name": "rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Tags": [ { "Value": "arn:aws:rds:us-west-2:123456789012:cluster:database-1", "Key": "aws:rds:primaryDBClusterArn" }, { "Value": "rds", "Key": "aws:secretsmanager:owningService" } ], "RotationRules": { "AutomaticallyAfterDays": 1 }, "LastChangedDate": 1673477781.275, "LastRotatedDate": 1673477781.26, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb": [ "AWSCURRENT", "AWSPENDING" ] }, "OwningService": "rds", "RotationEnabled": true, "CreatedDate": 1673467300.7, "LastAccessedDate": 1673395200.0, "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-a1b2c3", "Description": "Secret associated with primary RDS DB cluster: arn:aws:rds:us-west-2:123456789012:cluster:database-1" } ] }詳細については、「Secrets Manager ユーザーガイド」の「他のサービスによって管理されるのシークレット」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「ListSecrets
」を参照してください。
-
次の例は、put-resource-policy を使用する方法を説明しています。
- AWS CLI
-
リソースベースのポリシーをシークレットに追加するには
次の
put-resource-policyの例では、ポリシーが広範なアクセスをシークレットに提供していないことを最初に確認しながら、シークレットに許可ポリシーを追加しています。このポリシーは、ファイルから読み込まれます。詳細については、「 CLI AWS ユーザーガイド」の「ファイルからの CLI パラメータのロード」を参照してください。 AWSaws secretsmanager put-resource-policy \ --secret-idMyTestSecret\ --resource-policyfile://mypolicy.json\ --block-public-policymypolicy.jsonの内容:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「アクセス許可ポリシーをシークレットにアタッチする」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「PutResourcePolicy
」を参照してください。
-
次の例は、put-secret-value を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットの新しいシークレット値を保存するには
次の
put-secret-valueの例は、キーと値の 2 つのペアを含むシークレットの新しいバージョンを作成します。aws secretsmanager put-secret-value \ --secret-idMyTestSecret\ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの変更」を参照してください。
例 2: 認証情報の新しいシークレット値を JSON ファイルに保存するには
次の
put-secret-valueの例では、ファイル内の認証情報からシークレットの新しいバージョンが作成されます。詳細については、「 CLI AWS ユーザーガイド」の「ファイルからの CLI パラメータのロード」を参照してください。 AWSaws secretsmanager put-secret-value \ --secret-idMyTestSecret\ --secret-stringfile://mycreds.jsonmycreds.jsonの内容:{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの変更」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「PutSecretValue
」を参照してください。
-
次の例は、remove-regions-from-replication を使用する方法を説明しています。
- AWS CLI
-
レプリカシークレットを削除するには
次の
remove-regions-from-replicationの例では、eu-west-3 にあるレプリカシークレットを削除しています。他のリージョンにレプリカが作成されているプライマリシークレットを削除するには、まずそのレプリカを削除してからdelete-secretを呼び出します。aws secretsmanager remove-regions-from-replication \ --secret-idMyTestSecret\ --remove-replica-regionseu-west-3出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [] }詳細については、「Secrets Manager ユーザーガイド」の「レプリカシークレットの削除」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「RemoveRegionsFromReplication
」を参照してください。
-
次の例は、replicate-secret-to-regions を使用する方法を説明しています。
- AWS CLI
-
シークレットを異なるリージョンにレプリケートするには
次に、シークレットをeu-west-3 にレプリケートする、
replicate-secret-to-regionsの例を示します。レプリカは AWS マネージドキー で暗号化されますaws/secretsmanager。aws secretsmanager replicate-secret-to-regions \ --secret-idMyTestSecret\ --add-replica-regionsRegion=eu-west-3出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InProgress" } ] }詳細については、「Secrets Manager ユーザーガイド」の「シークレットを異なるリージョンにレプリケートする」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ReplicateSecretToRegions
」を参照してください。
-
次の例は、restore-secret を使用する方法を説明しています。
- AWS CLI
-
以前に削除したシークレットを復元するには
次の
restore-secretの例では、スケジュールにより以前に削除されたシークレットを復元します。aws secretsmanager restore-secret \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの削除」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「RestoreSecret
」を参照してください。
-
次の例は、rotate-secret を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットの自動ローテーションを設定して開始するには
次の
rotate-secretの例では、シークレットの自動ローテーションを設定して開始します。Secrets Manager は、シークレットを直ちに 1 回ローテーションし、その後 8 時間ごとに 2 時間の時間枠でローテーションします。出力には、ローテーションによって作成された新しいシークレットバージョンのVersionIdが表示されます。aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda\ --rotation-rules "{\"ScheduleExpression\": \"cron(0 8/8 * * ? *)\", \"Duration\": \"2h\"}"出力:
{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットのローテーション」を参照してください。
例 2: ローテーション間隔で自動ローテーションを設定および開始するには
次の
rotate-secretの例では、シークレットの自動ローテーションを設定して開始します。Secrets Manager はシークレットを直ちに 1 回ローテーションし、その後は 10 日ごとにローテーションします。出力には、ローテーションによって作成された新しいシークレットバージョンのVersionIdが表示されます。aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda\ --rotation-rules "{\"ScheduleExpression\": \"rate(10 days)\"}"出力:
{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットのローテーション」を参照してください。
例 3: シークレットを直ちに削除するには
次の
rotate-secretの例では、すぐにローテーションが開始されます。出力には、ローテーションによって作成された新しいシークレットバージョンのVersionIdが表示されます。シークレットのローテーションは、すでに設定されている必要があります。aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret出力:
{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットのローテーション」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「RotateSecret
」を参照してください。
-
次の例は、stop-replication-to-replica を使用する方法を説明しています。
- AWS CLI
-
レプリカシークレットをプライマリに昇格させるには
次の
stop-replication-to-replicaの例は、レプリカシークレットからプライマリへのリンクを削除します。このレプリカシークレットは、レプリカのリージョンでプライマリシークレットに昇格されます。stop-replication-to-replicaは、レプリカリージョン内から呼び出す必要があります。aws secretsmanager stop-replication-to-replica \ --secret-idMyTestSecret出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3" }詳細については、「Secrets Manager ユーザーガイド」の「レプリカシークレットを昇格させる」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「StopReplicationToReplica
」を参照してください。
-
次の例は、tag-resource を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットにタグを追加するには
次の の例は、短縮構文を使用してタグをアタッチする方法を示しています。
aws secretsmanager tag-resource \ --secret-idMyTestSecret\ --tagsKey=FirstTag,Value=FirstValueこのコマンドでは何も出力されません。
詳細については、「Secrets Manager ユーザーガイド」の「シークレットにタグ付けする」を参照してください。
例 2: シークレットに複数のタグを追加するには
次の
tag-resourceの例では、キーと値のタグ 2 個がシークレットにアタッチされます。aws secretsmanager tag-resource \ --secret-idMyTestSecret\ --tags '[{"Key": "FirstTag", "Value": "FirstValue"}, {"Key": "SecondTag", "Value": "SecondValue"}]'このコマンドでは何も出力されません。
詳細については、「Secrets Manager ユーザーガイド」の「シークレットにタグ付けする」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「TagResource
」を参照してください。
-
次の例は、untag-resource を使用する方法を説明しています。
- AWS CLI
-
シークレットからタグを削除するには
次の
untag-resourceの例では、シークレットから 2 個のタグが削除されます。タグごとに、キーと値の両方が削除されます。aws secretsmanager untag-resource \ --secret-idMyTestSecret\ --tag-keys '[ "FirstTag", "SecondTag"]'このコマンドでは何も出力されません。
詳細については、「Secrets Manager ユーザーガイド」の「シークレットにタグ付けする」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource
」を参照してください。
-
次の例は、update-secret-version-stage を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットを以前のバージョンに戻すには
次の
update-secret-version-stage例では、 AWS CURRENT ステージングラベルを以前のバージョンのシークレットに移動し、シークレットを以前のバージョンに戻します。以前のバージョンの ID を検索するには、list-secret-version-idsを使用します。この例では、 AWS CURRENT ラベルを持つバージョンは a1b2c3d4-5678-90ab-cdef-EXAMPLE11111で、 AWS PRVIOUS ラベルを持つバージョンは a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 です。この例では、 AWS CURRENT ラベルをバージョン 11111 から 22222 に移動します。 AWS CURRENT ラベルはバージョンから削除されるため、update-secret-version-stageは自動的に AWS PREVIOUS ラベルをそのバージョン (11111) に移動します。その結果、CURRENT AWSバージョンと AWS PREVIOUS バージョンがスワップされます。aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageAWSCURRENT\ --move-to-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「バージョン」を参照してください。
例 2: シークレットのバージョンにアタッチされたステージングラベルを追加するには
次の
update-secret-version-stageの例では、シークレットのバージョンにステージングラベルを追加します。list-secret-version-idsを実行して影響のあるバージョンのVersionStagesレスポンスフィールドを表示することで、結果を確認できます。aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --move-to-version-idEXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「バージョン」を参照してください。
例 3: シークレットのバージョンにアタッチされたステージングラベルを削除するには
次の
update-secret-version-stageの例では、シークレットのバージョンにアタッチされているステージングラベルを削除します。list-secret-version-idsを実行して影響のあるバージョンのVersionStagesレスポンスフィールドを表示することで、結果を確認できます。aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「バージョン」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateSecretVersionStage
」を参照してください。
-
次の例は、update-secret を使用する方法を説明しています。
- AWS CLI
-
例 1: シークレットの記述を更新するには
次の
update-secretの例は、シークレットの記述を更新します。aws secretsmanager update-secret \ --secret-idMyTestSecret\ --description"This is a new description for the secret."出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの変更」を参照してください。
例 2: シークレットに関連付けられた暗号化キーを更新するには
次の
update-secretの例は、シークレット値の暗号化に使用される KMS キーを更新します。KMS キーは、シークレットと同じリージョンに存在する必要があります。aws secretsmanager update-secret \ --secret-idMyTestSecret\ --kms-key-idarn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE出力:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }詳細については、「Secrets Manager ユーザーガイド」の「シークレットの変更」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「UpdateSecret
」を参照してください。
-
次の例は、validate-resource-policy を使用する方法を説明しています。
- AWS CLI
-
リソースポリシーを検証するには
次の
validate-resource-policyの例では、リソースポリシーがシークレットへの幅広いアクセスを許可していないことを確認します。このポリシーは、ディスクのファイルから読み込まれます。詳細については、「 CLI AWS ユーザーガイド」の「ファイルからの CLI パラメータのロード」を参照してください。 AWSaws secretsmanager validate-resource-policy \ --resource-policyfile://mypolicy.jsonmypolicy.jsonの内容:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }出力:
{ "PolicyValidationPassed": true, "ValidationErrors": [] }詳細については、「Secrets Manager ユーザーガイド」の「Secrets Manager のアクセス許可のリファレンス」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ValidateResourcePolicy
」を参照してください。
-