💡

SSM使ってEC2ログインする設定書いてたらエラー

2022/05/24に公開

以下のエラーが出たのでメモ。

User: arn:aws:iam::11111111111:user/user is not authorized to perform: ssm:DescribeInstanceInformation on resource: arn:aws:ssm:ap-northeast-1:1111111111:* because no identity-based policy allows the ssm:DescribeInstanceInformation action

まぁエラーメッセージに書いてある通りなんですが。

data "aws_iam_policy_document" "user" {
    statement {
        actions   = ["ssm:DescribeInstanceInformation"]
        resources = ["*"]
    }
}

みたいな感じじゃだめで、ちゃんとリージョンとアカウントを指定してあげないといけない。

data "aws_iam_policy_document" "user" {
    statement {
        actions   = ["ssm:DescribeInstanceInformation"]
        resources = ["arn:aws:ssm:ap-northeast-1:1111111111:*"]
    }
}

アカウントIDとかリージョンとか動的に書きたい場合はこんな感じかな

data "aws_caller_identity" "current" {}
data "aws_region" "current" {}

data "aws_iam_policy_document" "user" {
    statement {
        actions   = ["ssm:DescribeInstanceInformation"]
        resources = ["arn:aws:ssm:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:*"]
    }
}

Discussion