如何使用 Boto3 从不同的 AWS 帐户秘密管理器获取所有秘密?

How to get all secrets from a different AWS accounts secret manager with Boto3?

我在一个帐户上有多个 EC2 实例。这些 ec2 实例需要从另一个帐户的 Secrets Manger 中获取所有机密。

我从boto3的纪录片中了解到,我只能得到一个会话关联的帐户的秘密:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html

这是否意味着我需要在这个其他账户上为这些 EC2 用户创建一个 IAM 用户才能获取存储在这个账户上的秘密?或者有其他更简洁的方法吗?

"Cleaner" 可能归结为偏好,但我会这样做:

  1. 在目标账户中创建一个 IAM 角色,附加必要的机密管理员权限,然后授予对源账户的访问权限。

https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html

  1. 使用源账户 EC2 上的 boto3 客户端代入该角色(确保现有角色具有 STS 代入角色权限)。

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html

希望对您有所帮助!