我正在尝试创建一个ec2实例并遇到以下问题:
msg: Instance creation failed => UnauthorizedOperation:
You are not authorized to perform this operation.
Encoded authorization failure message: ....very long encoded message.
更新:只有在我的帐户中使用特定用户的密码和访问密钥时才会发生这种情况。如果我使用root的访问键,那么它的工作原理。但这不是我想要做的。我想我错过了一些关于用户如何使用ec2授权的内容。
我的ansible yml按顺序使用aws访问和密钥。
---
- 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
答案 0 :(得分:3)
您需要进入AWS IAM控制台(https://console.aws.amazon.com/iam)并授予该用户(与脚本中的访问密钥相关)并授予其权限(策略)以创建EC2实例。
听起来AWS中的“root”用户帐户已经具有这些权限,如果这有助于比较两个用户以确定需要添加的策略 - 您可以创建一个具有正确策略的EC2组来自策略生成器并将该用户添加到该EC2组。
答案 1 :(得分:0)
它看起来像是AWS的权限问题。 root用户拥有完全权限,因此肯定会使用它。检查您的AWS特定用户是否有权启动实例。