AWS System Manager GetParameters 权限被隐式拒绝

Posted

技术标签:

【中文标题】AWS System Manager GetParameters 权限被隐式拒绝【英文标题】:AWS System Manager GetParameters permission being implicitly denied 【发布时间】:2021-04-15 14:00:33 【问题描述】:

我正在尝试为 eks 设置 eksctl,但它抛出 "Error: unable to determine AMI to use: error getting AMI from SSM Parameter Store: AccessDeniedException: User: arn:aws:iam:::user/cnc is not authorized to perform: ssm:GetParameter on resource: arn:aws:ssm:us-east-1::parameter/aws/service/eks/optimized-ami/1.18/amazon-linux-2/recommended/image_id".

我使用的 IAM 权限政策是

    "Version": "2012-10-17",
    "Statement": [
        
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        ,
        
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters",
                "ssm:GetParametersByPath"
            ],
            "Resource": "arn:aws:ssm:::parameter/*"
        
    ]

我也尝试使用策略模拟来检查权限,它给了我“隐式拒绝(无匹配语句)”

【问题讨论】:

【参考方案1】:

我有同样的问题。我解决它的方法是将区域添加到 ssm 资源。并且还添加了一个 ssm:GetParameter 像这样:

"Version": "2012-10-17",
"Statement": [
    
        "Effect": "Allow",
        "Action":[
            "ssm:DescribeParameters"
        ],
        "Resource": "*"
    ,
    
        "Effect": "Allow",
        "Action":[
            "ssm:GetParameters",
            "ssm:GetParameter",
            "ssm:GetParametersByPath"
        ],
        "Resource": "arn:aws:ssm:ca-central-1::parameter/*"
    
]

如果您注意到我添加了区域 ca-central-1,您应该将其更改为您当前的区域。

【讨论】:

【参考方案2】:

我认为您可能还需要授权“ssm:GetParameter”操作。

【讨论】:

我还必须提及我的资源 ID,它确实有效。

以上是关于AWS System Manager GetParameters 权限被隐式拒绝的主要内容,如果未能解决你的问题,请参考以下文章

AWS Systems Manager Parameter Store 和 AWS Secrets Manager 之间的区别?

如何通过python更新AWS Secrets Manager?

如何限制 AWS IAM 组访问 AWS Secret Manager?

AWS Secrets Manager 使用 AWS-SDK Java 更新密钥请求

AWS Certificate Manager 证书对控制台中的 AWS Beanstalk 不可见

text 使用PowerShell创建AWS Systems Manager关联