标签: aws-policies

AWS - 授予所有服务的只读权限

AWS 有没有办法通过中央策略向所有服务授予只读权限?目前,我被迫为每项服务执行此操作,例如下面的 IAM -

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

必须对每个资源执行此操作很容易出错且乏味。我们如何定义一个策略来为所有服务提供只读权限。

谢谢

amazon-web-services aws-policies

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

为什么角色的信任策略中包含 sts:AssumeRole 而不是权限策略中?

我是 AWS 新手,但根据我的理解,角色既包含权限策略又包含信任策略。权限策略看起来非常简单——你可以做什么。IE:

                "iam:CreatePolicy",
                "iam:GetRole",
                "iam:GetPolicy",
                "iam:DeletePolicy",
                "iam:CreateRole",
                "iam:DeleteRole",
                 ...
Run Code Online (Sandbox Code Playgroud)

另一方面,信任策略是“谁被允许这样做”IE:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::000000000000:role/My-Role"
      },
      **"Action": "sts:AssumeRole"**
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

AssumeRole 听起来像是“你可以做什么”,那么为什么它总是属于信任策略而不是权限策略。继续下去,我了解到 sts:TagSession 也属于信任策略而不是权限策略。我是否遗漏了某些内容,或者它只是属于信任策略中的 sts 类型操作?

roles amazon-web-services amazon-iam aws-policies

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

未能满足约束:成员必须满足正则表达式模式:[\w+=,.@-]+

我正在尝试为 AWS 中的身份池应用策略。我正在使用 awc-cli 来设置策略,但它不断地从标题中给我这个例外:

调用 AttachPrincipalPolicy 操作时发生错误 (InvalidRequestException):检测到 1 个验证错误:“policyName”处的值“DeviceShadowPolicy”无法满足约束:成员必须满足正则表达式模式:[\w+=,.@-]+

这是我使用的命令:

aws iot attach-principal-policy --policy-name 'DeviceShadowPolicy' --principal 'PRINCIPAL'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现此错误。有人可以帮我吗?

amazon-web-services amazon-cognito aws-iot aws-amplify aws-policies

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

MalformedPolicyDocument:策略文档不应指定主体

我正在尝试使用 terraform 创建一个状态函数。首先,我创建一个策略并将其分配给现有角色processing_lambda_role

\n
resource "aws_iam_role_policy" "sfn_policy" {\n  policy = jsonencode(\n{\n  "Version": "2012-10-17",\n  "Statement": [\n    {\n      "Effect": "Allow",\n      "Principal": {\n        "Service": "states.amazonaws.com"\n      },\n      "Action": "sts:AssumeRole"\n    },\n    {\n            "Sid": "VisualEditor0",\n            "Effect": "Allow",\n            "Action": [\n                "lambda:InvokeFunction",\n                "lambda:InvokeAsync"\n            ],\n            "Resource": "*"\n        }\n  ]\n}\n  )\n  role = aws_iam_role.processing_lambda_role.id\n}\n\n\nresource "aws_sfn_state_machine" "sfn_state_machine" {\n  name     = local.step_function_name\n  role_arn = aws_iam_role.processing_lambda_role.arn\n\n  definition = <<EOF\n{\n  "Comment": "Get Incoming Files",\n  "StartAt": "GetIncomingFiles",\n  "States": {\n    "GetIncomingFiles": {\n      "Type": "Task",\n      "Resource": "${aws_lambda_function.get_incoming_lambda.arn}",\n      "ResultPath": "$.Output",\n      "End": true\n    }\n  }\n}\nEOF\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我收到此错误: …

amazon-web-services terraform terraform-provider-aws aws-policies terraform-aws-modules

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

管理员无法在 AWS KMS 中加密/解密

我正在 AWS 中使用密钥管理服务 (KMS),目前正在设置密钥策略

我创建了两个角色KmsUserKmsAdmin并将以下密钥策略附加到我的 CMK:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "KMS KeyAdmin access",
      "Effect": "Allow",
      "Principal": {"AWS": [
          "arn:aws:iam::1234567890:role/KmsAdmin",
      "arn:aws:iam::1234567890:user/myadmin"
      ]},
      "Action": [
        "kms:Create*",
        "kms:Describe*",
        "kms:Enable*",
        "kms:List*",
        "kms:Put*",
        "kms:Update*",
        "kms:Revoke*",
        "kms:Disable*",
        "kms:Get*",
        "kms:Delete*",
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ScheduleKeyDeletion",
        "kms:CancelKeyDeletion"
      ],
    "Resource": "*"
    },
    {
      "Sid": "KMS KeyUser access",
      "Effect": "Allow",
      "Principal": {"AWS": [
          "arn:aws:iam::1234567890:role/KmsUser"
      ]},
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

问题是,现在如果我尝试使用我的密钥作为myadmin用户(附加了 …

amazon-web-services amazon-iam amazon-kms aws-policies

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

如何将 Cognito 身份 ID 附加到 AWS IoT 策略?

我正在尝试在 AWS IoT 和我的 React JS 应用程序之间建立连接。

\n\n

我遵循了本教程(https://medium.com/serverlessguru/serverless-real-time-reactjs-app-aws-iot-mqtt-17d023954045),但我不清楚如何将 Cognito 身份 ID 附加到AWS IoT 政策。

\n\n

在我的所有调查过程中,我发现此过程必须通过命令行完成。

\n\n

在上面的文章中,这些过程是通过以下命令行完成的:

\n\n

\xe2\x80\xa2 请注意,此命令中必须考虑 \xe2\x80\x9cidentity_pool_id\xe2\x80\x9d。

\n\n

在此输入图像描述

\n\n

在aws文档(https://aws-amplify.github.io/docs/js/pubsub)中,它说在命令行中写入\xe2\x80\x9cidentity_id\xe2\x80\x9d:

\n\n

在此输入图像描述

\n\n

当我在命令行中使用 \xe2\x80\x9cidentity_pool_id\xe2\x80\x9d 并尝试从 AWS IoT 发布消息时,出现以下错误:

\n\n

在此输入图像描述

\n\n

当我在命令行中使用 \xe2\x80\x9cidentity_id\xe2\x80\x9d 时,我可以成功执行 AWS IoT 和前端之间的通信:

\n\n

在此输入图像描述

\n\n

问题是 \xe2\x80\x9cidentity_id\xe2\x80\x9d 对于每个用户来说都是不同的代码。考虑到我的应用程序中将有很多用户,我不知道如何执行此任务。

\n\n

\xe2\x80\xa2 我是否正在执行正确的过程来考虑 \xe2\x80\x9cidentity_id\xe2\x80\x9d 而不是 \xe2\x80\x9cidentity_pool_id\xe2\x80\x9d?

\n\n

\xe2\x80\xa2 如果是,每次有新用户在我的应用程序中登录时,如何自动将 Cognito ID 附加到 AWS IoT 策略?

\n\n

\xe2\x80\xa2 在 AWS IoT 策略中附加数千个 Cognito 证书是否有任何问题?

\n

amazon-web-services amazon-cognito aws-iot aws-userpools aws-policies

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

为什么以 AWS root 用户身份登录时不允许角色切换?

根据此处的AWS 文档-当您以 AWS 账户根用户身份登录时,无法切换角色

如果我们遵循 AWS 最佳实践,即不使用 root 用户执行操作,则此限制是有意义的,并且支持了 AWS 不允许以 root 用户进行角色切换的原因。然而,当使用存储桶策略时,一个账户中的根用户可以访问另一个账户中的存储桶,而且 AWS 似乎并没有限制这一点,这与角色不同(从技术上讲,两者都是使用资源策略的跨账户操作)。

为什么此“根用户限制”仅适用于角色而不适用于存储桶 - 有任何安全原因吗?

amazon-web-services amazon-iam aws-policies

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

解码 AWS 中的加密授权/错误消息

某些涉及 IAM 权限的操作可能会返回 Client.UnauthorizedOperation 响应。

amazon-ec2 amazon-web-services amazon-iam aws-policies

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

AWS 策略中的 transfer:HomeFolder 和 transfer:HomeDirectory 之间的区别

根据文档,在 AWS Transfer SFTP 服务器中为用户创建范围缩小策略时,可以使用策略变量${transfer:HomeFolder}${transfer:HomeDirectory}该策略。但是,我找不到任何关于两者之间区别的描述。有人可以解释或链接到相关文档吗?

amazon-s3 aws-sftp aws-policies

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

在 Terraform 上的 aws_iam_policy 资源上包含标签

我正在尝试按照Terraform 文档创建策略

resource "aws_iam_policy" "policy" {
  name        = "test_policy"
  path        = "/"
  description = "My test policy"

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

不幸的是,没有关于如何包含标签的描述。即使我可以从 AWS 管理控制台手动提供,我也无法像使用其他资源那样完成它。

tags设置似乎不起作用。如果我尝试对IAM 角色执行相同操作,则会收到错误消息,包括:

  tags = {
    tag-key = "tag-value"
  }
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-iam terraform terraform-provider-aws aws-policies

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