2 Antworten
- Neueste
- Die meisten Stimmen
- Die meisten Kommentare
0
Hello
You cant get the credentials for your current role, so you need to call sts:AssumeRole API.
Here is an example with python boto3.
You can now use the s3_client
to call S3 using the role you just assumed.
import boto3
sts_client = boto3.client('sts')
role_arn = "MyRoleArn"
role_credentials = sts_client.assume_role(
RoleArn=role_arn,
RoleSessionName='MySessionName',
)['Credentials']
print(f"{role_credentials}")
s3_client = boto3.client('s3',
aws_access_key_id=role_credentials['AccessKeyId'],
aws_secret_access_key=role_credentials['SecretAccessKey'],
aws_session_token=role_credentials['SessionToken']
)
NOTE: Be super careful with logging because the
role_credentials
variable continues your actual credentials.
Hope this helps!
//Carl
beantwortet vor 2 Jahren
0
Your question seems to indicate that you are running on an EC2 instance. If you are running code on EC2 instance, the recommended way to get credentials is to use roles for Amazon EC2..
Here is the link to documentation on using temporary credentials, including how to use them with SDKs: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
beantwortet vor 3 Monaten
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren