我正在尝试为我正在使用AWS Fargate构建的AWS服务创建一些基础设施。我使用SSM作为我的一些应用程序配置的值存储,所以我需要Fargate的常规权限以及SSM的附加权限。然而,在我的头撞在这面墙上一段时间后,我得出结论,我只是不理解AWS IAM,尤其是这个问题,所以我来这里寻求帮助。
我的IAM代码的基础来自于本教程;IAM代码实际上不是在该教程中,而是在与教程链接的github中的这个文件中。我想我需要保留STS对某件事的许可,尽管我不完全确定是什么。
我已经将本教程中的IAM代码转换为JSON文档,因为我发现JSON比Terraform本机更容易使用。这是我想出来的。它不起作用。我想知道它为什么不起作用,以及如何修复它。请ELI5 (解释我5岁),因为我对此一无所知。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParameters",
"secretsmanager:GetSecretValue",
"kms:Decrypt",
"sts:AssumeRole"
],
"Principal": {
"Service": ["ecs-tasks.amazonaws.com"]
}
}
]
}发布于 2020-01-02 04:03:55
至少,您的ECS任务应该具有以下权限:
在示例中,您已经提到,创建了一个IAM角色,如下所示:
AmazonECSTaskExecutionRolePolicy。<-资源权限因此,为了检索SSM参数值,请在资源权限下面添加。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:Describe*",
"ssm:Get*",
"ssm:List*"
],
"Resource": [
"arn:aws:ssm:*:*:parameter/{your-path-hierarchy-to-parameter}/*"
]
}
]
}如果您的秘密使用KMS,则授予必要的kms权限(kms:Decrypt)。参考指定敏感数据。
https://stackoverflow.com/questions/59534822
复制相似问题