思考停止でFullAccess許可しないためのIAMポリシー例
必要以上の権限を与えすぎると、アカウント流出時に広範囲な被害受けたり、調査が必要になったりますし、IAMを使うプログラムやオペレーションで意図しない操作を行ってしまったりと非常に危険です。
個人的によく設定してるものをいくつか紹介。
目次
S3の特定のバケットの読み書き
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:Delete*",
"s3:Get*",
"s3:List*",
"s3:Put*"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}
DynamoDBの特定テーブルの読み書き
SESでメール送信のみ
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
CloudFrontのインバリデーションのみ
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"cloudfront:CreateInvalidation",
"cloudfront:GetDistribution",
"cloudfront:GetInvalidation",
"cloudfront:GetStreamingDistribution",
"cloudfront:GetDistributionConfig",
"cloudfront:ListDistributions",
"cloudfront:ListInvalidations",
"cloudfront:ListStreamingDistributions"
],
"Resource": "*"
}
]
}
ディスカッション
コメント一覧
まだ、コメントがありません