IAMユーザーに過剰なglue:UpdateDevEndpoint権限がある

Glue開発エンドポイントの変更権限を必要な対象に限定してください。

説明

glue:UpdateDevEndpointでは、開発エンドポイントの公開キーやライブラリなどを変更できます。ユーザーが接続可能なエンドポイントを制御できると、関連付けられたロールの権限で処理を実行できる場合があります。

想定される影響

  • エンドポイントのロールがより強い権限を持つ場合、ユーザーのアクセス範囲が広がるおそれがあります。
  • 正常な開発環境が、悪意のあるコードの実行経路に変わるおそれがあります。

対処方法

不要なglue:UpdateDevEndpoint権限を削除してください。必要な管理権限は承認された開発エンドポイントに限定し、エンドポイントのロールにも必要な権限だけを付与して、変更履歴を確認してください。

例

以下は、同じユーザーのインラインポリシーをEC2の情報取得権限に変更する例です。実際の業務に合う権限を選び、他の関連付けられたポリシーも確認してください。すでに変更されたエンドポイントを復旧する操作ではありません。

変更前

hcl
resource "aws_iam_user" "example" {
  name = "cosmic"
}

resource "aws_iam_user_policy" "example" {
  name = "test_inline_policy"
  user = aws_iam_user.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "glue:UpdateDevEndpoint",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

変更後

hcl
resource "aws_iam_user" "example" {
  name = "cosmic"
}

resource "aws_iam_user_policy" "example" {
  name = "inline_policy_run_instances"
  user = aws_iam_user.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

参考資料