文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 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-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": [] }如需詳細資訊,請參閱《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-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 使用者指南》中的從檔案載入 AWS CLI 參數。aws 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:建立秘密
下列
create-secret範例會建立具有兩個金鑰值對的機密。在命令 shell 中輸入命令時,存在命令歷史記錄被存取或公用程式存取命令參數的風險。如果命令包含秘密的值,這是個問題。如需詳細資訊,請參閱《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" } ] }如需詳細資訊,請參閱《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-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範例會使用兩個鍵值對建立新的秘密版本。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 使用者指南》中的從檔案載入 AWS CLI 參數。aws 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
-
將秘密複寫到另一個區域
下列
replicate-secret-to-regions範例會將機密複寫至 eu-west-3。複本會使用 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 會立即輪換秘密一次,然後在兩個小時時段內每八小時輪換一次。輸出會顯示由輪換所建立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 會立即輪換秘密一次,然後每 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範例會將兩個金鑰值標籤連接至機密。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範例會從機密中移除兩個標籤。對於每個標籤,金鑰和值都會移除。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。在此範例中,CURRENT AWS標籤的版本為 a1b2c3d4-5678-90ab-cdef-EXAMPLE111111,而 AWS PREVIOUS 標籤的版本為 a1b2c3d4-5678-90ab-cdef-EXAMPLE22222。在此範例中,您將 AWS CURRENT 標籤從版本 11111 移至 22222。由於 CURRENT AWS標籤已從版本中移除,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
。
-