标签: amazon-iam

Ansible AWS 动态清单:`./ec2.py --list` 未授权

我正在尝试使用 Ansible./ec2.py --list --refresh-cache列出我的 AWS EC2 实例。

通过文档,我已经浏览了这个清单:

  • AWS(通过 Amazon 的控制访问 Amazon EC2 资源错误代码提供的文档)
    • 创建 IAM 用户和对应的 IAM 组
    • 将该用户与该组相关联
    • 向 IAM 集团添加了一项非常开放的政策*
  • CLI(通过 Ansible 的Dynamic Inventory 提供的文档)
    • 安装pipboto
    • 创建一个~/.boto文件,包括我从 AWS IAM 用户的访问凭证收到的aws_access_key_idaws_secret_access_key
    • 安装ec2.pyec2.ini以相同的路径,并留下两个文件不变
    • ./ec2.py --list --refresh-cache

*我的政策:

{
  "Statement": [
    {
      "Sid": "Stmt1427001800780",
      "Action": "*",
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我这样做了,并希望能够列出 EC2 实例,通过ec2.py …

amazon-ec2 amazon-web-services amazon-iam ansible

4
推荐指数
2
解决办法
5915
查看次数

AWS IAM 不会让我的用户更改他们的密码

我的密码策略配置为允许用户更改他们的密码,但是当我使用“必须更改密码”选项创建新用户时,用户会被告知他们需要“iam:ChangePassword”权限。

当他们尝试使用 CLI 更改它时,他们会收到类似的消息。

知道如何诊断和解决这个问题吗?

amazon-web-services amazon-iam

3
推荐指数
3
解决办法
5007
查看次数

是否可以在 AWS 中授予“阅读所有内容”角色?

是否有默认策略可以提供对AWS 的所有服务的只读访问?是否存在可遵循的权限命名约定(例如"Allow" : "Get*"在 IAM 策略中)以实现此类结果?

我知道 AWS 为每项服务提供只读策略,但考虑到添加新服务的频率,我想知道它们是否提供聚合的“全部读取”策略?

amazon-web-services amazon-iam

3
推荐指数
1
解决办法
9079
查看次数

AWS RDS CLI:CreateDBSnapshot 上的访问被拒绝

我想使用AWS RDS 命令行工具来创建数据库的快照。my-databasecreate-db-snapshot

我在IAM中创建了一个特殊的备份角色,其策略允许我描述、复制和创建快照。它看起来像这样(我用 x 替换了敏感 ID):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmtxxxxxxxxxxxxxx",
      "Effect": "Allow",
      "Action": [
        "rds:CopyDBSnapshot",
        "rds:CreateDBSnapshot",
        "rds:DescribeDBSnapshots",
        "rds:DescribeEventCategories",
        "rds:DescribeEvents"
      ],
      "Resource": [
        "arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:db:my-database"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

配置 CLI 工具并aws configure输入该用户的密钥后,我尝试通过执行以下命令来制作快照:

aws rds create-db-snapshot \
    --db-snapshot-identifier "my-database-backup-$(date +%d-%m-%Y-%Hh%Mm)" \
    --db-instance-identifier "my-database"
Run Code Online (Sandbox Code Playgroud)

这会导致一条错误消息:

调用 CreateDBSnapshot 操作时发生客户端错误 (AccessDenied):用户:arn:aws:iam::xxxxxxxxxxxxxx:user/automated-tasks 无权对资源执行:rds:CreateDBSnapshot:arn:aws:rds:eu-west -1:xxxxxxxxxxxxxx:快照:我的数据库备份-24-11-2014-11h07m

我认为这很奇怪,因为它表示拒绝访问具有我为参数指定的名称的资源(--db-snapshot-identifier与参数相反)--db-instance-identifier

如果我有足够的权限来创建应用于实例的快照,那么我本身不应该具有该快照的创建权限吗?

无论如何,我尝试将策略中的资源更改为 RDS 中的所有内容:

"Resource": [
    "arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:*"
]
Run Code Online (Sandbox Code Playgroud)

我希望这会起作用,因为现在我的角色对我帐户的 RDS ARN 内的所有内容都具有创建快照权限,但事实并非如此。

有谁知道为什么我的命令返回错误?

snapshot amazon-web-services amazon-rds amazon-iam aws-cli

2
推荐指数
1
解决办法
4814
查看次数

创建仅允许在特定资源组内创建资源的 AWS IAM 策略?

在我的 AWS 账户中,我们有 3 个不同的应用程序,A、B、C。

我想为 B 团队创建一个 IAM 策略,允许他们创建新的 EC2 实例,但限制它在 B 资源组中进行标记,或者其他一些可以明确将新实例与 B 组关联的约束。那可能吗?

amazon-web-services amazon-iam

2
推荐指数
1
解决办法
684
查看次数

访问 SQS 队列需要什么权限?

我正在尝试打开 SQS 队列,但收到此错误:

2019-07-09 07:20:31,855 pid 3604 tid  800 ERROR    connection <?xml version="1.0
"?><ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><Error><Typ
e>Sender</Type><Code>AWS.SimpleQueueService.NonExistentQueue</Code><Message>The
specified queue does not exist or you do not have access to it.</Message><Detail
/></Error><RequestId>fa3bf29c-d5ad-525a-aa55-a70297d241fa</RequestId></ErrorResp
onse>
Run Code Online (Sandbox Code Playgroud)

我已经验证队列名称是正确的。

以下是我授予 IAM 角色的权限:

在此输入图像描述

IE

            "sqs:ChangeMessageVisibility",
            "sqs:ReceiveMessage",
            "sqs:SendMessage",
Run Code Online (Sandbox Code Playgroud)

如果我运行以下命令

 aws sqs receive-message --queue-url https://sqs.us-west-2.amazonaws.com/12345678/my-queue
Run Code Online (Sandbox Code Playgroud)

它不会抛出任何异常。

在我的代码中,我使用 boto 连接到 SQS 队列

sqs_conn = boto.sqs.connect_to_region(self.region)
LOG.debug("Getting queue for %s" % queue_name)
return sqs_conn.get_queue(queue_name)
Run Code Online (Sandbox Code Playgroud)

我是否错过了连接 SQS 队列的任何权限?

amazon-web-services amazon-iam

2
推荐指数
1
解决办法
2万
查看次数

如何使用帐号查找 aws 帐户的所有者

我继承了几个 AWS 环境。我最近一直在对 s3 进行安全审计,发现一些策略的主体包含我不知道的 aws 帐号,我公司中也没有人熟悉它们。所以我想基本上对相关帐户的所有者进行反向查找。我想确定这些政策是否仍然有效或可以删除​​。

amazon-s3 amazon-web-services amazon-iam managed-service-accounts

1
推荐指数
1
解决办法
3684
查看次数

尽管我拥有完全权限,但无法访问 AWS 账单数据

在我的 AWS 账户中,我创建了一个用户并使用该AdministratorAccess策略为其授予了完全权限。这是政策的文件:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用该用户登录时,我看不到我的帐单信息。它说我没有权限。

amazon-web-services amazon-iam

0
推荐指数
1
解决办法
195
查看次数

如何使用“aws iam”显示 IAM 用户的角色?

如果我跑步$ aws iam get-user --user-name anthony,我会得到这样的结果

{
    "User": {
        "Path": "/",
        "UserName": "anthony",
        "UserId": "E2S4XZIL9NRNSBIDBI5U6",
        "Arn": "arn:aws:iam::123456:user/anthony",
        "CreateDate": "2015-04-03T01:22:11Z",
        "PasswordLastUsed": "2019-04-10T01:38:14Z"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我想获取此登录名的列表role,我该如何做aws iam

amazon-web-services amazon-iam aws-cli

0
推荐指数
1
解决办法
8441
查看次数