了解 IAM 主体

问题描述

我试图了解以下策略的含义,特别是 Principal Service 部分,我已将其附加到 AWS KMS 密钥。

{
    "Version": "2012-10-17","Statement": [
        {
            "Effect": "Allow","Principal": {
                "Service": "ecs-tasks.amazonaws.com"
            },"Action": [
                "kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"
            ],"Resource": "*"
        }
    ]
}

这是否意味着我的软件(在 fargate 中的 docker 内运行)可以调用此 KMS 密钥来加密数据?

是不是说ecs自己可以调用这个KMS密钥来加密一些东西?

解决方法

在这种情况下,它意味着两件事。这是因为 IAM Roles for TasksECS task execution IAM role 使用 ecs-tasks.amazonaws.com相同原理

您必须准确指定 Resource 中的哪个角色可以使用该密钥。目前仅使用 *,任何角色,IAM Roles for TasksECS task execution IAM role 都可以使用此类密钥。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...