説明
lambda:UpdateFunctionCodeでは、Lambda関数のコードを変更できます。グループのメンバーが変更したコードが実行されると、関数の実行ロールの権限で動作します。
想定される影響
実行ロールに許可されたデータアクセスが悪用されたり、関数の正常な動作が改変されたりするおそれがあります。
対処方法
不要なコード変更権限を削除し、必要なデプロイ権限は承認された関数に限定してください。実行ロールの権限も最小限にし、コード変更をレビューしてください。
例
以下は、Lambdaのコード変更権限を削除し、同じグループにEC2の情報取得権限だけを残す例です。すでにデプロイされたコードを元に戻す変更ではありません。
変更前
hcl
resource "aws_iam_group" "example" {
name = "cosmic"
}
resource "aws_iam_group_policy" "example" {
name = "test_inline_policy"
group = aws_iam_group.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"lambda:UpdateFunctionCode",
]
Effect = "Allow"
Resource = "*"
},
]
})
}
変更後
hcl
resource "aws_iam_group" "example" {
name = "cosmic"
}
resource "aws_iam_group_policy" "example" {
name = "inline_policy_run_instances"
group = aws_iam_group.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"ec2:Describe*",
]
Effect = "Allow"
Resource = "*"
},
]
})
}