我正在尝试创建一个 ec2 实例并遇到以下问题:
msg: Instance creation failed => UnauthorizedOperation:
You are not authorized to perform this operation.
Encoded authorization failure message: ....very long encoded message.
更新:只有在我的帐户中为特定用户使用 key 和访问 key 时才会发生这种情况。如果我使用 root 的访问 key ,那么它就可以工作。但这不是我想做的。我想我遗漏了一些关于用户如何使用 ec2 进行授权的信息。
我的 ansible yml 正在按顺序使用 aws 访问和 key 。
---
- hosts: localhost
connection: local
gather_facts: no
vars_files:
- test_vars.yml
tasks:
- name: Spin up Ubuntu Server 14.04 LTS (PV) instance
local_action:
module: ec2
region: 'us-west-1'
aws_access_key: "{{ aws_access_key }}"
aws_secret_key: "{{ aws_secret_key }}"
instance_type: 't1.micro'
image: ami-f1fdfeb4
wait: yes
count: 1
register: ec2
最佳答案
您需要进入 AWS IAM 控制台 ( https://console.aws.amazon.com/iam ) 并授予该用户(与脚本中的访问 key 相关)并授予其创建 EC2 实例的权限(策略)。
听起来您在 AWS 中的“根”用户帐户已经拥有这些权限,如果这有助于比较两个用户以找出您需要添加的策略 - 您只需使用策略生成器中的正确策略创建一个 EC2 组,然后将该用户添加到该 EC2 组。
关于authentication - 亚马逊 ec2 - 通过 Ansible 为用户创建 AWS EC2 实例失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25757780/