Amazon web services 为Ansible ec2动态库存配置多个AWS帐户

Amazon web services 为Ansible ec2动态库存配置多个AWS帐户,amazon-web-services,amazon-ec2,ansible,amazon-iam,Amazon Web Services,Amazon Ec2,Ansible,Amazon Iam,我们有五个AWS帐户,在组织帐户中创建了一个用于编程访问的IAM用户。每个子帐户都有一个同名的IAM角色。在用户和这些帐户中的角色之间建立信任关系。如何在ec2动态库存配置的帐户之间切换 配置文件-ec2.ini iam_role = arn:aws:iam::xxxx-xxxx-xxxx:role/RoleName 我在不同的目录中有多个ec2.ini文件 ../env/ ├── account -1 │ ├── ec2.ini │ └── ec2.py ├── account-2

我们有五个AWS帐户,在组织帐户中创建了一个用于编程访问的IAM用户。每个子帐户都有一个同名的IAM角色。在用户和这些帐户中的角色之间建立信任关系。如何在ec2动态库存配置的帐户之间切换

配置文件-ec2.ini

iam_role = arn:aws:iam::xxxx-xxxx-xxxx:role/RoleName
我在不同的目录中有多个ec2.ini文件

../env/
├── account -1
│   ├── ec2.ini
│   └── ec2.py
├── account-2
│   ├── ec2.ini
│   └── ec2.py
├── account-3
│   ├── ec2.ini
│   └── ec2.py
└── account-4
    ├── ec2.ini
    └── ec2.py
Ansible命令

ansible-playbook -i ../env/account-x/ec2.py playbook.yml

是否有在帐户之间切换的流程。我的AWS凭据存储在共享凭据文件中。

您可以尝试在命令之前向其传递配置文件名:

AWS_PROFILE=account-a ansible playbook-i../env/account-x/ec2.py playbook.yml


如果角色假设不起作用,那么在调用ansible之前,您可能需要编写一个小脚本,并将凭据设置为环境变量。

虽然我不知道您问题的答案,请小心使用语法
iam::xxx xxxx-
,因为据我所知,AWS不允许在arn的帐号部分使用破折号,实际arn中没有连字符。这只是为了理解。