SREチームの橋本です。SRE連載の11月号になります。 AWSの多くのリソースはIAMでアクセスを一元管理されていますが、Lambdaではユーザーが実行したり他のAWSサービスから実行されたりする都合上、様々なポリシーが絡んでいます。 特に「Lambdaを呼び出す許可」についてはID(アイデンティティ)ベースのポリシーとリソースベースのポリシーで内容が被るため、どちらで設定するか混乱しているケースも見られます。 本記事ではこうしたポリシー事情をterraformの例と共に整理し、権限設定のベストプラクティスも検討します。 そもそもIAMのポリシーについて ドキュメントによればAWSのポリシーは実に6種類ものタイプがありますが、「使用頻度の高いものから」とあるように最初のIDベースが非常に多くのサービスで共通して使われており、次いで2番目のリソースベースが一部サービスで必要になるでしょう。
