【发布时间】:2021-06-19 18:23:05
【问题描述】:
我希望使用 AWS 机密管理器来存储我的 RDS 密码。我已经在没有任何旋转选项的秘密管理器中创建了我的数据库条目,现在我只想保存一个密码并从我的本地检索它,以便我可以使用它测试应用程序。我正在尝试使用以下代码检索密码
import boto3
import base64
from botocore.exceptions import ClientError
session = boto3.session.Session(aws_access_key_id,aws_secret_access_key)
client = session.client('secretsmanager', region_name='Region')
get_secret_value_response = client.get_secret_value(SecretId='DBName')
这会出现以下错误
An error occurred (AccessDeniedException) when calling the GetSecretValue operation: User: arn:aws:iam::12345678910:user/user is not authorized to perform: secretsmanager:GetSecretValue on resource: DBName
我还尝试添加一个 IAM 策略,考虑可能会修复它但无法这样做,我不断收到“此策略包含语法错误”消息
{
"Version":"2012-10-17",
"Statement": [
{
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:region:12345678910:secret:DatabaseSecret",
"Effect": "Allow"
}
]
}
我试图了解这里出了什么问题。感谢任何帮助。
【问题讨论】:
-
秘密名称的后缀是否正确?我通常将
arn:aws:secretsmanager:us-east-1: 12345678910:secret:DatabaseSecret-??????作为后缀有问号的资源名称
标签: amazon-web-services aws-secrets-manager