Amazon S3: S3 バケットアクセス、ただし最新の MFA がない場合、本稼働バケットが拒否される - AWS Identity and Access Management

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Amazon S3: S3 バケットアクセス、ただし最新の MFA がない場合、本稼働バケットが拒否される

この例では、次のような IAM ポリシーを作成する方法を示します。 を使用すると、Amazon S3 管理者はオブジェクトの更新、追加、削除など、任意のバケットにアクセスできます。ただし、過去 30 分以内にユーザーが Multi-Factor Authentication (MFA) を使用してサインインしていない場合、Production バケットへのアクセスは明示的に拒否されます。このポリシーは、コンソールで、または AWS CLI または AWS APIを使用してプログラムでこのアクションを実行するために必要なアクセス許可を付与します。このポリシーを使用するには、ポリシー例の斜体プレースホルダーテキストを自分の情報に置き換えます。次に、「ポリシーの作成」または「ポリシーの編集」の手順に従います。

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

{ "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:::Production/*", "arn:aws:s3:::Production" ], "Condition": { "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"} } } ] }