概要
指定されたEC2の起動停止権限を付与するjsonと、思った事についてまとめます。
なぜこのようなことが必要なのか?
起動停止させたいなら、AdministratorAccessでも付与したらいいじゃないか?
と思う人もいるでしょう。(自分も最初そう思いました)
ただ、AWS公式が提唱しているIAM でのセキュリティのベストプラクティスには反してしまいます。
最小権限にしておかないと、ポリシーをアタッチしたユーザーが意図しない
操作をできてしまいインタンスの停止起動等ができてしまいます。
そのため、最小権限を付与し動作を縛ってあげる必要があります。
実際のコード
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": [
"arn:aws:ec2:[リージョン名]:[アカウント番号]:instance/[インスタンスID]",
"arn:aws:ec2:[リージョン名]:[アカウント番号]:instance/[インスタンスID]"
]
}
]
}
結論
EC2に対して行う場合になります。
このjsonをコピーして、リージョン名・アカウント番号・インスタンスIDを変えてあげると適用できます。
毎回作るのは大変ですが、適した権限を付与しないと事故の元なので
面倒くさらずやるしかないですね。
補足
どこからポリシー作るの?という方向けにコンソールのスクショ等を張っておきます。