IAMは使い回すべきか?個別に分けるべきか?
場合によります
tsawada.iconは
同一のIAM Role にするメリットとデメリット
基本は「同一オブジェクト(=クラス)を再利用」するcaseと同じメリット/デメリットが発生する
メリット
管理対象が増えない。
AWS内に重要なResourceを追加することになった時、既存のIAM Roleに禁止actionを指定する必要がうまれても、Policyを修正しなければいけないIAM Roleが少しで済む
デメリット
IAM Roleに付与する権限が不必要に大きくなりがち
IAM Roleが付与される「IAM User, AWS Resourceができないといけないこと」の最小公倍数が権限として付与される。
Resource Aでは必要だけどResource Bでは不要…といったPolicyが増える
結果「ResourceA(例えばLambda)で利用するScriptでdescribeとdeleteを書き間違えて、大事なDataを消してしまった」といった事態が起こりかねない
本来はdeleteをdenyするはずだった。
Resource Bのprocessにおいてdeleteをする必要があり、IAM Roleでdeleteがdenyされていなかった