您可以通过添加Deny Policy附加到特定策略中来解决此问题,以防止所有人都能访问秘密。下面是一个示例代码,说明如何使用AWS CLI来添加Deny Policy:
aws secretsmanager put-resource-policy --secret-id mySecret --policy-text '{"Version":"2012-10-17","Statement":[{"Effect":"Deny","Principal":"*","Action":"secretsmanager:GetSecretValue","Resource":"arn:aws:secretsmanager:us-west-2:123456789012:secret:mySecret-QVNtfs"}]}'
上述示例代码将向'mySecret”中的'arn:aws: secretsmanager:us-west-2:123456789012:secret:mySecret-QVNtfs”添加一个Deny Policy,以防止任何人使用secretsmanager:GetSecretValue操作来访问该密钥。请注意,该Policy只对所有人生效,所以请确保将正确的ARN替换为'Principal”字段。
当特定的一组Principal被授权时,无需添加Deny Policy。