fix access key storage for different accounts (#6210)

This commit is contained in:
Daniel Fangl 2023-04-13 19:33:31 +02:00 committed by GitHub
parent 7a74df0426
commit ad20320d41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -99,7 +99,8 @@ class STSBackend(BaseBackend):
duration,
external_id,
)
self.assumed_roles.append(role)
account_backend = sts_backends[account_id]["global"]
account_backend.assumed_roles.append(role)
return role
def get_assumed_role_from_access_key(self, access_key_id):

View File

@ -24,6 +24,17 @@ class TestStsAssumeRole(unittest.TestCase):
)
# Assume the new role
sts_account_b = boto3.client(
"sts",
aws_access_key_id=response["Credentials"]["AccessKeyId"],
aws_secret_access_key=response["Credentials"]["SecretAccessKey"],
aws_session_token=response["Credentials"]["SessionToken"],
region_name="us-east-1",
)
assumed_arn = sts_account_b.get_caller_identity()["Arn"]
assumed_arn.should.equal(
f"arn:aws:sts::{self.account_b}:assumed-role/my-role/test-session-name"
)
iam_account_b = boto3.client(
"iam",
aws_access_key_id=response["Credentials"]["AccessKeyId"],