AWS IAM - 同一账户中的 AssumeRole?

HKr*_*hna 6 amazon-web-services

我正在尝试为 CloudTrail > S3 > SQS > Splunk 工作流配置权限。

https://docs.splunk.com/Documentation/AddOns/released/AWS/ConfigureAWSpermissions

  1. 我创建了一个角色,附加了一个策略来授予 S3、SQS 等的权限。
  2. 我去了信任关系策略并添加了相同的帐号和用户,因为用户将在同一个帐户中。
  3. 然后,我转到用户并将策略附加到 AssessRole 并提供角色名称和完整的 ARN。
  4. 然后我启动一个 EC2 实例,转到 aws 配置,提供访问权限、密钥和区域。
  5. 然后我运行 aws s3 ls 或 aws s3 list-queues 并在下面收到错误消息。不知道我在这里做错了什么。

调用 ListBuckets 操作时发生错误 (AccessDenied):拒绝访问。

Splunk 政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:GetQueueAttributes",
                "sqs:ListQueues",
                "sqs:ReceiveMessage",
                "sqs:GetQueueUrl",
                "sqs:DeleteMessage",
                "s3:Get*",
                "s3:List*",
                "s3:Delete*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

信任关系:

 {   "Version": "2012-10-17",   "Statement": [
     {
       "Effect": "Allow",
       "Principal": {
         "AWS": "arn:aws:iam::XXXXXXXXXXXX:user/username"
       },
       "Action": "sts:AssumeRole",
       "Condition": {}
Run Code Online (Sandbox Code Playgroud)

用户名政策:

 "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::XXXXXXXXXXXX:role/roleforsplunk"
Run Code Online (Sandbox Code Playgroud)

MLu*_*MLu 3

从同一帐户承担角色时,您不需要\xe2\x80\x99t TrustRelation 。删除它,它应该可以工作。

\n\n

顺便说一下,不要在 EC2 实例上使用访问密钥和密钥。请改用EC2 实例角色,该角色将为您的 Splunk 进程提供所需的权限。

\n\n

此外,可能不需要从 EC2 实例角色中承担另一个角色 - 只需为该角色提供所需的策略/权限即可。

\n\n

希望有帮助:)

\n