#概要
MFA認証済みユーザ以外からのアクセスを拒否するS3バケットポリシーを記載する
バケットポリシー
MFA認証をしていないユーザからのアクセスを拒否
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucketname/*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
MFA認証をして、30分以上経過しているユーザからのアクセスを拒否
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucketname/*",
"Condition": {
"NumericGreaterThanIfExists": {
"aws:MultiFactorAuthAge": "1800"
}
}
}
]
}
appendix
MFA認証済み、もしくは指定のIP以外からのアクセスを拒否するバケットポリシー
参考:指定のIPからしかアクセスできないs3バケットポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucketname/*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
},
"NotIpAddress": {
"aws:SourceIp": [
"111.111.111.111/32", # 許可するIPアドレス
"222.222.222.222/32"
]
}
}
}
]
}