View a markdown version of this page

安全與許可 - AWS Secrets Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

安全與許可

受管外部秘密不需要您共用第三方應用程式帳戶的管理員層級權限AWS。相反地,輪換程序會使用您提供的登入資料和中繼資料,對第三方應用程式進行授權 API 呼叫,以進行登入資料更新和驗證。

受管外部秘密與其他 Secrets Manager 秘密類型維持相同的安全標準。秘密值會使用 KMS 金鑰進行靜態加密,並使用 TLS 在傳輸中。透過 IAM 政策和以資源為基礎的政策來控制對秘密的存取。使用客戶受管金鑰加密秘密時,您需要更新輪換角色的 IAM 政策以及 CMK 信任政策,以提供必要的許可以確保輪換成功。

若要讓輪換正常運作,您必須為 Secrets Manager 提供管理秘密生命週期的特定許可。這些許可的範圍可以限定為個別秘密,並遵循最低權限原則。您提供的輪換角色會在設定期間驗證,並僅用於輪換操作。

您只能在秘密存在的區域中允許 Secrets Manager 受管外部秘密 AWS受管字首清單,藉此將 IP 輸入限制為外部資源。字首清單名為 com.amazonaws.region.secretsmanager-managed-external-secrets,其中 region 是您秘密AWS的區域。使用 受管字首清單可確保您的輸入規則在基礎 IP 範圍變更時自動保持最新狀態。

如果您偏好以程式設計方式參考字首清單,您可以使用 GetManagedPrefixListEntries API 來列出需要允許清單IPs。您應該使用此字首清單定期重新整理傳入規則,以保持其為最新狀態。

AWS Secrets Manager也提供單一觸控解決方案來建立 IAM 政策,其具有透過 Secrets Manager 主控台建立秘密時管理秘密所需的許可。此角色的許可會針對每個區域中的每個整合合作夥伴縮小範圍。

範例許可政策:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRotationAccess", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "secretsmanager:resource/Type": "SalesforceClientSecret" } } }, { "Sid": "AllowPasswordGenerationAccess", "Action": [ "secretsmanager:GetRandomPassword" ], "Resource": "*", "Effect": "Allow" } ] }

注意:可在整合合作夥伴中找到可用於 secretsmanager:resource/Type 的秘密類型清單。

範例信任政策:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerPrincipalAccess", "Effect": "Allow", "Principal": { "Service": "secretsmanager.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:*" } } } ] }