AWS Signature Version 4 (SigV4) での認証固有ポリシーキー - Amazon Simple Storage Service

AWS Signature Version 4 (SigV4) での認証固有ポリシーキー

次の表に、Amazon S3 on Outposts で使用する AWS Signature Version 4 (SigV4) 認証に関連する条件キーを示します。これらの条件をバケットポリシーに追加して、Signature Version 4 を使用してリクエストが認証された際の特定の動作を適用できます。エンドポイントポリシーの例については、「Signature Version 4 関連の条件キーを使用するバケットポリシーの例」を参照してください。Signature Version 4 によるリクエストの認証の詳細については、「Amazon Simple Storage Service API リファレンス」の「Authenticating requests (AWS Signature Version 4)」(リクエストの認証 (AWS Signature Version 4)) を参照してください。

s3-outposts:* アクションまたは S3 on Outposts アクションに適用可能なキー
適用できるキー 説明

s3-outposts:authType

S3 on Outposts では、さまざまな認証方式をサポートしています。受信するリクエストが特定の認証方法を使用するように制限するには、このオプションの条件キーを使用します。例えば、この条件キーを使用すると、リクエスト認証のために HTTP Authorization ヘッダーのみの使用を指定できます。

有効な値:

REST-HEADER

REST-QUERY-STRING

s3-outposts:signatureAge

認証されたリクエストの中で署名が有効である時間長 (ミリ秒単位)。

この条件は、署名付き URL でのみ機能します。

Signature Version 4 では、署名キーは最大 7 日間有効です。したがって、署名の有効期間も最大 7 日間となります。詳細については、「Amazon Simple Storage Service API リファレンス」の「Introduction to Signing Requests」(リクエスト署名の導入) を参照してください。この条件を使用すると、署名の有効期間をさらに制限できます。

値の例: 600000

s3-outposts:x-amz-content-sha256

この条件キーを使用すると、バケット内にある署名されていないコンテンツを許可しません。

Authorization ヘッダを使用するリクエストに対し Signature Version 4 を使用する場合、署名計算に x-amz-content-sha256 ヘッダーを追加した後、その値をハッシュペイロードに設定します。

この条件キーをバケットポリシーで使用すると、ペイロードに署名がないアップロードを、すべて拒否することができます。例:

  • リクエスト認証において、Authorization ヘッダーを使用するアップロードを拒否し、ペイロードには署名しません。詳細については、「Amazon Simple Storage Service API リファレンス」の「Transferring payload in a single chunk」(ペイロードを 1 つのチャンクで転送する) を参照してください。

  • 署名付き URL を使用するアップロードを拒否します。署名済み URL は常に UNSIGNED_PAYLOAD を持ちます。詳細については、「Amazon Simple Storage Service API リファレンス」の「Authenticating Requests」(認証リクエスト) 「Authentication methods」(認証メソッド) を参照してください。

有効な値: UNSIGNED-PAYLOAD

Signature Version 4 関連の条件キーを使用するバケットポリシーの例

次の例を実行するには、user input placeholders をユーザー自身の情報に置き換えます。

例 : s3-outposts:signatureAge

次のバケットポリシーは、署名が作成されてから 10分以上経過している場合、example-outpost-bucket 内のオブジェクトに対する S3 on Outposts の署名付き URL リクエストを拒否します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 minutes old", "Effect": "Deny", "Principal": {"AWS":"444455556666"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "NumericGreaterThan": {"s3-outposts:signatureAge": 600000}, "StringEquals": {"s3-outposts:authType": "REST-QUERY-STRING"} } } ] }
例 : s3-outposts:authType

次のバケットポリシーでは、リクエスト認証に Authorizationヘッダーを使用しているリクエストのみを許可します。署名付き URL リクエストは、クエリパラメーターを使用してリクエストと認証情報を指定しているため、すべての署名付き URL リクエストは拒否されます。詳細については、「Amazon Simple Storage Service API リファレンス」の「Authentication methods」(認証メソッド) を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow only requests that use the Authorization header for request authentication. Deny presigned URL requests.", "Effect": "Deny", "Principal": {"AWS":"111122223333"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "StringNotEquals": { "s3-outposts:authType": "REST-HEADER" } } } ] }
例 : s3-outposts:x-amz-content-sha256

次のバケットポリシーは、署名付き URL を使用するアップロードなど、未署名のペイロードを含むすべてのアップロードを拒否します。詳細については、「Amazon Simple Storage Service API リファレンス」の「Authenticating Requests」(認証リクエスト) 「Authentication methods」(認証メソッド) を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Deny uploads with unsigned payloads.", "Effect": "Deny", "Principal": {"AWS":"111122223333"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "StringEquals": { "s3-outposts:x-amz-content-sha256": "UNSIGNED-PAYLOAD" } } } ] }