In AWS QA env I am able to get AWS parameters from parameter store.
My username in QA AWS cloud is abc.xyz (firstName=abc, lastName=xyz) I do the following and I am able to get the parameters from AWS parameter store no problem using : RoleArn-QA = "arn:aws:iam::12345:role/mySecrets" stsClient = boto3.client('sts') assumedRoleObject = stsClient.assume_role(RoleArn=RoleArn-QA, RoleSessionName=RoleSessionName, ExternalId = ExternalId) session = Session(aws_access_key_id=assumedRoleObject['Credentials']['AccessKeyId'], aws_secret_access_key=assumedRoleObject['Credentials']['SecretAccessKey']) client = session.client('sts') accessKey = str(assumedRoleObject['Credentials']['AccessKeyId']) secretKey = str(assumedRoleObject['Credentials']['SecretAccessKey']) SessionToken = str(assumedRoleObject['Credentials']['SessionToken']) store = EC2ParameterStore( aws_access_key_id=accessKey, aws_secret_access_key=secretKey, aws_session_token=SessionToken, region_name=awsRegion)
However in prod given my username in prod is: axyz this user is a trusted user for role ARN mySecrets or (arn:aws:iam::6789:role/mySecrets)
RoleArn-Prod = "arn:aws:iam::6789:role/mySecrets"
When I run similar code for Prod given new RoleArn-Prod
stsClient = boto3.client('sts') assumedRoleObject = stsClient.assume_role(RoleArn=RoleArn-Prod, RoleSessionName=RoleSessionName, ExternalId = ExternalId) session = Session(aws_access_key_id=assumedRoleObject['Credentials']['AccessKeyId'], aws_secret_access_key=assumedRoleObject['Credentials']['SecretAccessKey']) client = session.client('sts') accessKey = str(assumedRoleObject['Credentials']['AccessKeyId']) secretKey = str(assumedRoleObject['Credentials']['SecretAccessKey']) SessionToken = str(assumedRoleObject['Credentials']['SessionToken']) store = EC2ParameterStore( aws_access_key_id=accessKey, aws_secret_access_key=secretKey, aws_session_token=SessionToken, region_name=awsRegion)
I get this error
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::12345:user/abc.xyz is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::6789:role/mySecrets