我有一个密钥 (USRFTP) 存储在帐户 A 中,我想从帐户 B 中具有 ASHISHROLE 角色的 EC2 盒子访问此密钥。我正在运行 python 代码来获取密钥,如下所示,在给定的密钥中使用资源策略下面,KMS策略如下,但仍然遇到这个问题
botocore.exceptions.ClientError:调用 GetSecretValue 操作时发生错误 (AccessDeniedException):用户:arn:aws:sts::ACCOUNTB:assumed-role/ASHISHROLE /i-************ 无权对资源执行:secretsmanager:GetSecretValue: arn:aws:secretsmanager:us-east-2:ACCOUNTA:secret:USRFTP-KJHJH
import boto3
import base64
from botocore.exceptions import ClientError
def get_secret():
secret_name = "arn:aws:secretsmanager:us-east-2:ACCOUNTA:secret:USRFTP"
region_name = "us-east-2"
# Create a Secrets Manager client
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
print("here")
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
if 'SecretString' in get_secret_value_response:
return get_secret_value_response['SecretString']
else:
return base64.b64decode(get_secret_value_response['SecretBinary'])
print(get_secret())
SECRET KEY RESOURCE POLICY
{
"Version" : "2012-10-17",
"Statement" : [ {
"Effect" …Run Code Online (Sandbox Code Playgroud) 我已经为一些用户创建了 AWS 工作区。有什么方法可以像添加 EC2 实例一样在 AWS 工作区中添加 IAM 角色,以便它们不需要 AWS 密钥并且可以根据工作区附加的 IAM 角色访问 AWS 服务?