文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 Secrets Manager 範例 AWS CLI
下列程式碼範例示範如何搭配 AWS Command Line Interface Secrets Manager 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 batch-get-secret-value
。
- AWS CLI
-
範例 1:擷取依名稱列出之秘密群組的秘密值
下列
batch-get-secret-value
範例會取得三個秘密的秘密值秘密。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 使用者指南中的來自 檔案的 LoadWord 參數。 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:建立秘密
下列
create-secret
範例會建立具有兩個金鑰值對的機密。在命令 shell 中輸入命令時,存在命令歷史記錄被存取或公用程式存取命令參數的風險。如果 命令包含秘密的值,這是個問題。如需詳細資訊,請參閱 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" } ] }
如需詳細資訊,請參閱 Secret sManager 使用者指南中的秘密。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeSecret
。
-
下列程式碼範例示範如何使用 get-random-password
。
- AWS CLI
-
產生隨機密碼
下列
get-random-password
範例會產生長度為 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 使用者指南中的尋找秘密。
範例 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
範例會將許可政策新增至機密,首先檢查政策是否不提供機密的廣泛存取權限。系統會從檔案讀取政策。如需詳細資訊,請參閱 AWS CLI 使用者指南中的來自 檔案的 LoadWord 參數。 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
範例會使用兩個鍵值對建立新的秘密版本。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 使用者指南中的來自 檔案的 LoadWord 參數。 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
-
將秘密複寫到另一個區域
下列
replicate-secret-to-regions
範例會將機密複寫至 eu-west-3。複本會使用 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 會立即輪換秘密一次,然後在兩個小時的時段內每隔八小時輪換一次。輸出會顯示輪換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 會立即輪換秘密一次,然後每 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
範例會將兩個金鑰值標籤連接至機密。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
範例會從機密中移除兩個標籤。對於每個標籤,金鑰和值都會移除。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 版移至 22222。由於 AWS CURRENT 標籤已從版本中移除,因此update-secret-version-stage
會自動將 AWS PREVIOUS 標籤移至該版本 (11111)。影響是交換 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
範例會將預備標籤新增至秘密版本。您可以執行list-secret-version-ids
並檢視受影響版本的VersionStages
回應欄位,以檢視結果。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
範例會刪除連接至秘密版本的預備標籤。您可以執行list-secret-version-ids
並檢視受影響版本的VersionStages
回應欄位,以檢視結果。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 使用者指南中的來自 檔案的 LoadWord 參數。 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
。
-