本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安全性和权限
托管外部机密不需要您与之共享第三方应用程序帐户的管理员级权限。 AWS相反,轮换过程使用您提供的凭证和元数据对第三方应用程序进行授权的 API 调用,以进行凭据更新和验证。
托管的外部密钥与其他 Secrets Manager 密钥类型保持相同的安全标准。密钥值使用您的 KMS 密钥进行静态加密,在传输过程中使用 TLS 进行加密。对机密的访问通过 IAM 策略和基于资源的策略进行控制。使用客户托管密钥加密您的密钥时,您需要更新轮换角色的 IAM 策略和 CMK 信任策略,以提供所需的权限以确保成功轮换。
为了使轮换正常运行,您必须向 Secrets Manager 提供管理密钥生命周期的特定权限。这些权限可以限定为个人秘密,并遵循最低权限原则。您提供的轮换角色在设置过程中经过验证,并且仅用于旋转操作。
AWS Secrets Manager 还提供了在通过 Secrets Manager 控制台创建密钥时创建具有管理密钥所需的权限的 IAM 策略的单点触控解决方案。该角色的权限限定为每个区域的每个集成合作伙伴。
权限策略示例:
{ "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:*" } } } ] }