今回は時事ネタというか。。
Problem
2024/09/29にAWSから次のようなタイトルの警告メールが届きました:
[要対応] Lambda GetFunction API 認証の変更 に関するフォローアップ | [Action Required] Follow up on changes to Lambda GetFunction API authorization [AWS Account: XXXX] [XX-XXXX-X]
本文には以下のようにあって・・・
ListTags API を明示的に使用する場合にのみ ListTags に対する権限が必要でした。しかし、GetFunction API 権限を持つプリンシパルは、ListTags API が明示的に拒否されている場合でも、GetFunction 呼び出しによって出力されたタグ情報にアクセスできました。 2024 年 10 月 2 日以降、Lambda は GetFunction API を呼び出すプリンシパルに ListTags API に対する明示的な許可権限が設定されたポリシーがある場合にのみタグデータを返す ようになります。GetFunction API を呼び出すロールに ListTags API への拒否ポリシーがあるか、アクセスを明示的に許可するポリシーがない場合、Lambda は GetFunction API 呼び出しへの応答でタグデータを返しません。
ただし、 お客様のアカウントには GetFunction API にアクセスする権限を持つロールがある ことがわかりました。
影響を受けるIAMロールとそれがアタッチされたリソースをチェックせねば!焦ったものの、運用しているAWSアカウントで作成したロールで、該当するカスタマー管理ポリシーを持つものが見つからず。。。
Solution
何もしなくて良い(後述の条件に該当する場合)。
メールの案内をよく読むと「影響を受けるロールのリストは、AWS Health ダッシュボードの『影響を受けるリソース』タブで確認できます」とあります。
実際に確認してみると、私の運用しているAWSアカウントの場合、影響を受けるロールは AWSServiceRoleForSupport
のみで、その名前や作成日からどうやらLanding Zone(Control Tower)の仕組みで自動生成されたもののよう:
これに紐づくIAMポリシーはAWS管理ポリシー AWSSupportServiceRolePolicy
でその説明には「Allows AWS Support to access AWS resources to provide billing, administrative, and support services.」とありました:
つまり「要対応」という文言に慌てて対応開始しましたが、警告の原因はAWSサポートのためのAWS管理ポリシーだったということ。
翻って、あらためてメールを良く読むと・・・
また、Lambda は、AWSServiceRoleForAmazonInspector2、FinSpaceServiceRole、AWSServiceRoleForSupport など、AWS サービスで使用される IAM ロールを自動的に更新することにも注意してください。影響を受けるロールのリストに AWS サービスのロールのみが含まれている場合は、対応は不要です。
ということで、当たり前のことですが AWS管理ポリシーやそれと紐づく「AWS サービスで使用される IAM ロール」はAWS側で対応するので、これだけが「影響を受けるリソース」に登場するのであれば、ユーザー開発者側では何もする必要がない ということ。