使用 IAM 角色为 Ansible 生成动态清单

使用 IAM 角色为 Ansible 生成动态清单

我正在考虑在我们的 VPC 中设置部署服务器,并尝试使用 IAM 角色而不是 Ansibles 动态的密钥ec2.py库存脚本。

答案我可以将 IAM 角色用于 Ansible 吗说这是可能的,然而它不是表明需要什么权限。

我想知道是否有人能够提供有关生成动态库存所需权限的更多详细信息。

编辑:我查看了文档,我认为解决方案的一部分是弄清楚 botos 的权限获取所有实例()需求。

答案1

假设您想要的唯一库存是基于 EC2 的资源,那么允许“ec2:Describe*”操作就足够了:

"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"

允许用户列出属于 AWS 账户的 Amazon EC2 资源

答案2

  1. 登录 AWS 管理控制台。前往Identity & Access Management/Roles/Create New Role
  2. 给你的角色起一个名字,例如ansible因为具有此角色的实例将运行 Ansible。
  3. AWS Service Roles选择下Amazon EC2
  4. 选择Power User Access您将有一个策略名称和一个策略文档,一个 JSON 字符串如下:
   {
        “版本”:“20XX-XX-XX”,
        “陈述”: [
            {
                "效果": "允许",
                “NotAction”:“iam:*”,
                “资源”:“*”
            }
        ]
    }
  1. Next Step/Create Role
  2. 您将拥有一个与角色同名的实例配置文件,并且该角色将与该实例配置文件关联。现在,当您为 Ansible 部署创建新实例时,您将此实例配置文件提供给该实例,并且该实例将拥有该角色的权限。

相关内容