

# Amazon S3: S3 バケットアクセス、しかし最新の MFA がなく、本番バケットが拒否された
<a name="reference_policies_examples_s3_full-access-except-production"></a>

この例では、オブジェクトの更新、追加、削除など、Amazon S3 管理者が任意のバケットへのアクセスを許可する ID ベースのポリシーを作成する方法を示します。ただし、過去 30 分以内にユーザーが [多要素認証 (MFA)](id_credentials_mfa.md) を使用してサインインしていない場合、`amzn-s3-demo-bucket-production` バケットへのアクセスは明示的に拒否されます。このポリシーは、コンソールで、AWS CLI または AWS APIを使用してプログラムでこのアクションを実行するために必要なアクセス許可を付与します。このポリシーを使用するには、サンプルポリシーの*イタリック体のプレースホルダーテキスト*を独自の情報に置き換えます。次に、[ポリシーの作成](access_policies_create.md)または[ポリシーの編集](access_policies_manage-edit.md)の手順に従います。

このポリシーでは、長期的なユーザーアクセスキーを使用して `amzn-s3-demo-bucket` バケットへのプログラムによるアクセスを許可することはありません。これは、`aws:MultiFactorAuthAge` 条件キーと `NumericGreaterThanIfExists` 条件演算子を使用して行います。このポリシー条件は、MFA が存在しない場合、または MFA の経過時間が 30 分を超える場合に `true` を返します。このような場合、アクセスが拒否されます。`amzn-s3-demo-bucket-production` バケットにプログラムでアクセスするには、S3 管理者は [GetSessionToken](id_credentials_temp_request.md#api_getsessiontoken) API オペレーションを使用して直近 30 分以内に生成された一時的な認証情報を使用する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListAllS3Buckets",
            "Effect": "Allow",
            "Action": ["s3:ListAllMyBuckets"],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketLevelActions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketObjectActions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::*/*"
        },
        {
            "Sid": "RequireMFAForProductionBucket",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-production/*",
                "arn:aws:s3:::amzn-s3-demo-bucket-production"
            ],
            "Condition": {
                "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"}
            }
        }
    ]
}
```

------