💡
SSM使ってEC2ログインする設定書いてたらエラー
以下のエラーが出たのでメモ。
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