|
36 | 36 |
|
37 | 37 |
|
38 | 38 | def get_session(secret_data, region_name): |
39 | | - try: |
40 | | - params = { |
41 | | - "aws_access_key_id": secret_data["aws_access_key_id"], |
42 | | - "aws_secret_access_key": secret_data["aws_secret_access_key"], |
43 | | - "region_name": region_name, |
| 39 | + params = { |
| 40 | + "aws_access_key_id": secret_data["aws_access_key_id"], |
| 41 | + "aws_secret_access_key": secret_data["aws_secret_access_key"], |
| 42 | + "region_name": region_name, |
| 43 | + } |
| 44 | + |
| 45 | + session = Session(**params) |
| 46 | + |
| 47 | + # ASSUME ROLE |
| 48 | + if role_arn := secret_data.get("role_arn"): |
| 49 | + sts = session.client("sts", verify=BOTO3_HTTPS_VERIFIED) |
| 50 | + |
| 51 | + _assume_role_request = { |
| 52 | + "RoleArn": role_arn, |
| 53 | + "RoleSessionName": utils.generate_id("AssumeRoleSession"), |
44 | 54 | } |
45 | 55 |
|
46 | | - session = Session(**params) |
47 | | - |
48 | | - # ASSUME ROLE |
49 | | - if role_arn := secret_data.get("role_arn"): |
50 | | - sts = session.client("sts", verify=BOTO3_HTTPS_VERIFIED) |
51 | | - |
52 | | - _assume_role_request = { |
53 | | - "RoleArn": role_arn, |
54 | | - "RoleSessionName": utils.generate_id("AssumeRoleSession"), |
55 | | - } |
56 | | - |
57 | | - if external_id := secret_data.get("external_id"): |
58 | | - _assume_role_request.update({"ExternalId": external_id}) |
59 | | - |
60 | | - assume_role_object = sts.assume_role(**_assume_role_request) |
61 | | - credentials = assume_role_object["Credentials"] |
62 | | - |
63 | | - assume_role_params = { |
64 | | - "aws_access_key_id": credentials["AccessKeyId"], |
65 | | - "aws_secret_access_key": credentials["SecretAccessKey"], |
66 | | - "region_name": region_name, |
67 | | - "aws_session_token": credentials["SessionToken"], |
68 | | - } |
69 | | - session = Session(**assume_role_params) |
70 | | - return session |
71 | | - except Exception as e: |
72 | | - _LOGGER.debug("Secret Token : "+ str(secret_data)) |
73 | | - _LOGGER.debug("Region : " + region_name) |
74 | | - _LOGGER.error(e) |
| 56 | + if external_id := secret_data.get("external_id"): |
| 57 | + _assume_role_request.update({"ExternalId": external_id}) |
| 58 | + |
| 59 | + assume_role_object = sts.assume_role(**_assume_role_request) |
| 60 | + credentials = assume_role_object["Credentials"] |
| 61 | + |
| 62 | + assume_role_params = { |
| 63 | + "aws_access_key_id": credentials["AccessKeyId"], |
| 64 | + "aws_secret_access_key": credentials["SecretAccessKey"], |
| 65 | + "region_name": region_name, |
| 66 | + "aws_session_token": credentials["SessionToken"], |
| 67 | + } |
| 68 | + session = Session(**assume_role_params) |
| 69 | + return session |
75 | 70 |
|
76 | 71 |
|
77 | 72 | class ResourceConnector(BaseConnector): |
|
0 commit comments