説明
IAMポリシーの Effect: Allow、Action: "*"、Resource: "*" の組み合わせは、すべてのアクションとリソースへの権限を付与します。他のポリシーによる制限がある場合も、実行ロールには関数に必要な権限だけを付与してください。
想定される影響
関数の侵害やコードの誤りが、多くのAWSリソースの読み取り、変更、削除に及ぶ可能性があります。
対処方法
provider.iam.role.statements に必要なアクションと対象リソースを明示してください。リソース単位の制限に対応しないアクションは、適用可能な条件とともに別途許可してください。
例
次の抜粋のポリシーステートメントは、example-bucket 内のオブジェクトに対する s3:GetObject のみを許可します。関数定義やログ出力などの必要な権限は省略しています。
変更前
yaml
service: service
frameworkVersion: "4"
provider:
name: aws
runtime: nodejs22.x
iam:
role:
statements:
- Effect: Allow
Resource: "*"
Action: "*"
変更後
yaml
service: service
frameworkVersion: "4"
provider:
name: aws
runtime: nodejs22.x
iam:
role:
statements:
- Effect: Allow
Resource: arn:aws:s3:::example-bucket/*
Action:
- s3:GetObject