AWS 密钥管理器 - boto3 无法获取密钥值



我无法在python芹菜任务上获得我的SecretsManager秘密值
我在运行视图的REST api中调用端点,调用任务,然后返回确认

def authenticate_view(authCode):
get_token.delay(authCode)
return HttpResponse('New Token created')

之后,我设置了boto3客户端:

client_secrets = boto3.client('secretsmanager')

然后我尝试使用以下代码获取秘密值:

@shared_task(name="get_token")
def get_token():
try:
get_secret_value_response = client_secrets.get_secret_value(
SecretId=secret_name
)
database_secrets = json.loads(response['SecretString'])
print(database_secrets['password'])
except ClientError as e:
# For a list of exceptions thrown, see
# https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
raise e

这抛出我一个错误No region provided
所以我尝试:

client_secrets = boto3.client('secretsmanager', region_name="us-east-1")

当我到达运行get_token任务的端点时,这给了我一个无限加载
我还按照AWS python3示例代码到SecretsManager,这也给了我一个无限加载

def get_secret():
secret_name = "secret_name"
region_name = "us-east-1"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
try:
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
except ClientError as e:
# For a list of exceptions thrown, see
# https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
raise e
# Decrypts secret using the associated KMS key.
secret = get_secret_value_response['SecretString']
# Your code goes here.

我用aws configure配置了我的aws数据

IAM用户具有以下权限:

AdministratorAccess, SecretsManagerReadWrite

可能发生什么事?

你必须定义区域:

secret_name = "My-secret-name"
region_name = "us-east-2"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)

最新更新