Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した 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-list
MySecret1
MySecret2
MySecret3
出力:
{ "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": [] }
詳細については、「Secrets Manager ユーザーガイド」の「バッチ内のシークレットグループを取得するAWS 」を参照してください。
例 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": [] }
詳細については、「Secrets Manager ユーザーガイド」の「バッチ内のシークレットグループを取得するAWS 」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のBatchGetSecretValue
」を参照してください。
-
次のコード例は、cancel-rotate-secret
を使用する方法を示しています。
- AWS CLI
-
シークレットの自動ローテーションをオフにするには
次の
cancel-rotate-secret
例では、シークレットの自動ローテーションをオフにします。ローテーションを再開するには、 を呼び出しますrotate-secret
。aws secretsmanager cancel-rotate-secret \ --secret-id
MyTestSecret
出力:
{ "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
の例は、ファイル内の認証情報からシークレットを作成します。詳細については、AWS CLI ユーザーガイドの「 ファイルからの LoadingWord パラメータ」を参照してください。 AWS CLIaws secretsmanager create-secret \ --name
MyTestSecret
\ --secret-stringfile://mycreds.json
mycreds.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 \ --name
MyTestSecret
\ --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-id
MyTestSecret
出力:
{ "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-id
MyTestSecret
\ --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-id
MyTestSecret
\ --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-id
MyTestSecret
出力:
{ "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-length
20
出力:
{ "RandomPassword": "EXAMPLE-PASSWORD" }
詳細については、「Secrets Manager ユーザーガイド」の「シークレットの作成と管理」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetRandomPassword
」を参照してください。
-
次の例は、get-resource-policy
を使用する方法を説明しています。
- AWS CLI
-
シークレットにアタッチされたリソースベースのポリシーを取得するには
次に、シークレットにアタッチされたリソースベースのポリシーを取得する、
get-resource-policy
の例を示します。aws secretsmanager get-resource-policy \ --secret-id
MyTestSecret
出力:
{ "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-id
MyTestSecret
出力:
{ "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-id
MyTestSecret
--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-id
MyTestSecret
出力:
{ "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 ユーザーガイド」の「AWS 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 ユーザーガイド」の「AWS 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 ユーザーガイド」の「他の AWS のサービスによって管理される AWS Secrets Manager のシークレット」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListSecrets
」を参照してください。
-
次の例は、put-resource-policy
を使用する方法を説明しています。
- AWS CLI
-
リソースベースのポリシーをシークレットに追加するには
次の
put-resource-policy
の例では、ポリシーが広範なアクセスをシークレットに提供していないことを最初に確認しながら、シークレットに許可ポリシーを追加しています。このポリシーは、ファイルから読み込まれます。詳細については、AWS CLI ユーザーガイドの「 ファイルからの LoadingWord パラメータ」を参照してください。 AWS CLIaws secretsmanager put-resource-policy \ --secret-id
MyTestSecret
\ --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-id
MyTestSecret
\ --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
の例では、ファイル内の認証情報からシークレットの新しいバージョンが作成されます。詳細については、AWS CLI ユーザーガイドの「 ファイルからの LoadingWord パラメータ」を参照してください。 AWS CLIaws secretsmanager put-secret-value \ --secret-id
MyTestSecret
\ --secret-stringfile://mycreds.json
mycreds.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-id
MyTestSecret
\ --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-id
MyTestSecret
\ --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-id
MyTestSecret
出力:
{ "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-id
MyTestDatabaseSecret
\ --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-id
MyTestDatabaseSecret
\ --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-id
MyTestDatabaseSecret
出力:
{ "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-id
MyTestSecret
出力:
{ "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-id
MyTestSecret
\ --tagsKey=FirstTag,Value=FirstValue
このコマンドでは何も出力されません。
詳細については、「Secrets Manager ユーザーガイド」の「シークレットにタグを付ける」を参照してください。
例 2: シークレットに複数のタグを追加するには
次の
tag-resource
の例では、キーと値のタグ 2 個がシークレットにアタッチされます。aws secretsmanager tag-resource \ --secret-id
MyTestSecret
\ --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-id
MyTestSecret
\ --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 PREVIOUS ラベルを持つバージョンは a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 です。この例では、 AWS CURRENT ラベルをバージョン 11111 から 2222 に移動します。 AWS CURRENT ラベルはバージョンから削除されるため、 は AWS PREVIOUS ラベルをそのバージョン (11111)update-secret-version-stage
に自動的に移動します。その結果、 AWS CURRENT と AWS PREVIOUS のバージョンがスワップされます。aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --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
例では、シークレットのバージョンにステージングラベルを追加します。影響を受けるバージョンのVersionStages
レスポンスフィールドを実行してlist-secret-version-ids
表示することで、結果を確認できます。aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --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
例では、シークレットのバージョンにアタッチされているステージングラベルを削除します。影響を受けるバージョンのVersionStages
レスポンスフィールドを実行してlist-secret-version-ids
表示することで、結果を確認できます。aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --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-id
MyTestSecret
\ --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-id
MyTestSecret
\ --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
例では、リソースポリシーがシークレットへの広範なアクセスを許可していないことを確認します。ポリシーはディスク上のファイルから読み取られます。詳細については、AWS CLI ユーザーガイドの「 ファイルからの LoadingWord パラメータ」を参照してください。 AWS CLIaws secretsmanager validate-resource-policy \ --resource-policy
file://mypolicy.json
mypolicy.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
」を参照してください。
-