Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

S3 Access Grants を介して Amazon S3 データへのアクセスをリクエストする

フォーカスモード
S3 Access Grants を介して Amazon S3 データへのアクセスをリクエストする - Amazon Simple Storage Service

S3 Access Grants を使用してアクセス許可付与を作成した後、被付与者は、アクセス許可が付与された S3 データにアクセスするための認証情報をリクエストできます。被付与者は AWS Identity and Access Management (IAM) プリンシパル、企業ディレクトリアイデンティティ、または認可されたアプリケーションです。

アプリケーションまたは AWS のサービス は、S3 Access Grants GetDataAccess API オペレーションを使用して、被付与者に代わって S3 データへのアクセスを S3 Access Grants にリクエストできます。GetDataAccess はまず、この ID にそのデータへのアクセス権が付与されたことを確認します。次に S3 Access Grants は AssumeRole API オペレーションを使用して一時的な認証トークンを取得し、それをリクエスタに送信します。この一時的な認証情報トークンは AWS Security Token Service (AWS STS) トークンです。

GetDataAccess リクエストには、一時的な認証情報が適用される S3 target データの範囲を指定するパラメータを含める必要があります。この target スコープは許可付与のスコープと同一でも、そのスコープのサブセットでもかまいません。ただし、target スコープは被付与者の許可付与のスコープ内であることが必要です。このリクエストでは、一時認証情報の権限レベル (READWRITEREADWRITE、など) を示す permission パラメータも指定する必要があります。

特権

リクエスタは、認証情報リクエストで一時トークンの特権レベルを指定できます。リクエスタはこの privilege パラメータを使用して、一時的な認証情報のアクセス範囲を付与範囲内で拡大または縮小できます。privilege パラメータのデフォルト値は Default であり、返される認証情報のターゲット範囲は元の権限範囲です。privilege でこれ以外に指定できる値は、Minimal です。target 範囲が元の権限範囲から縮小される場合、target 範囲が権限範囲内にある限り、一時的な認証情報は target 範囲と一致するように範囲が再定義されます。

2 つの権限に対する privilege パラメータの効果の詳細は、次のテーブルのとおりです。一方の権限の範囲は、S3://amzn-s3-demo-bucket1/bob/*で、amzn-s3-demo-bucket1 バケットの bob/ プレフィックス全体が含まれます。もう一方の権限の範囲は、S3://amzn-s3-demo-bucket1/bob/reports/* で、amzn-s3-demo-bucket1 バケットの bob/reports/ プレフィックスのみが含まれます。

権限範囲 リクエスト範囲 特権 返される範囲 効果
S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/* Default amzn-s3-demo-bucket1/bob/*

リクエスタは、amzn-s3-demo-bucket1 バケット内のプレフィックス bob/ で始まるキー名を持つすべてのオブジェクトにアクセスできます。

S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/ Minimal amzn-s3-demo-bucket1/bob/

プレフィックス名 bob/ の後にワイルドカードの * 文字がないと、リクエスタがアクセスできるのは、amzn-s3-demo-bucket1 バケット内のオブジェクト名 bob/ のみです。このようなオブジェクトは通常存在しません。リクエスタは、bob/ プレフィックスで始まるキー名を持つオブジェクトを含め、その他のオブジェクトにはアクセスできません。

S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/images/* Minimal amzn-s3-demo-bucket1/bob/images/*

リクエスタは、amzn-s3-demo-bucket1 バケット内のプレフィックス bob/images/* で始まるキー名を持つすべてのオブジェクトにアクセスできます。

S3://amzn-s3-demo-bucket1/bob/reports/* amzn-s3-demo-bucket1/bob/reports/file.txt Default amzn-s3-demo-bucket1/bob/reports/*

リクエスタは、amzn-s3-demo-bucket1 バケット内の bob/reports プレフィックスで始まるキー名を持つすべてのオブジェクトにアクセスできます。これは、権限と一致する範囲です。

S3://amzn-s3-demo-bucket1/bob/reports/* amzn-s3-demo-bucket1/bob/reports/file.txt Minimal amzn-s3-demo-bucket1/bob/reports/file.txt

リクエスタは、amzn-s3-demo-bucket1 バケット内のキー名 bob/reports/file.txt のオブジェクトにのみアクセスできます。リクエスタは、その他のオブジェクトにはアクセスできません。

ディレクトリアイデンティティ

GetDataAccess は、適切な許可付与を照合するときに、リクエストに関連するすべての ID を考慮します。企業ディレクトリアイデンティティの場合、GetDataAccess は、ID 対応セッションに使用される IAM アイデンティティの許可付与も返します。ID 対応セッションの詳細については、「AWS Identity and Access Management ユーザーガイド」の「ID 対応コンソールセッションを使用するアクセス許可の付与」を参照してください。GetDataAccess は、次の表に示すように、最も制限の厳しい許可付与にスコープを絞り込む認証情報を生成します。

IAM アイデンティティの許可付与スコープ ディレクトリアイデンティティの許可付与スコープ リクエスト範囲 返される範囲 特権 効果
S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/images/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/* Default

リクエスト元は、IAM ロールの許可付与の一環として、プレフィックス bob/ で始まるキー名の付いたすべてのオブジェクトにアクセスできますが、ディレクトリアイデンティティの許可付与の一環として、プレフィックス bob/images/ で制限されます。IAM ロールとディレクトリアイデンティティの両方がリクエストされた範囲 (bob/images/image1.jpeg) へのアクセスを提供しますが、ディレクトリアイデンティティにはより制限の厳しい許可付与があります。したがって、返されるスコープはディレクトリアイデンティティのより制限の厳しい許可付与で絞り込まれます。

S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/images/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg Minimal

権限が Minimal に設定されているため、ID がより大きなスコープにアクセスできる場合でも、リクエストされたスコープ bob/images/image1.jpeg のみが返されます。

S3://amzn-s3-demo-bucket1/bob/images/* amzn-s3-demo-bucket1/bob/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/* Default

リクエスト元は、ディレクトリアイデンティティの許可付与の一環として、プレフィックス bob/ で始まるキー名の付いたすべてのオブジェクトにアクセスできますが、IAM ロールの許可付与の一環として、プレフィックス bob/images/ で制限されます。IAM ロールとディレクトリアイデンティティの両方がリクエストされた範囲 (bob/images/image1.jpeg) へのアクセスを提供しますが、IAM ロールにはより制限の厳しい許可付与があります。したがって、返されるスコープは IAM ロールのより制限の厳しい許可付与で絞り込まれます。

S3://amzn-s3-demo-bucket1/bob/images/* amzn-s3-demo-bucket1/bob/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg Minimal

権限が Minimal に設定されているため、ID がより大きなスコープにアクセスできる場合でも、リクエストされたスコープ bob/images/image1.jpeg のみが返されます。

期間

durationSeconds パラメータでは一時認証情報の有効期間を秒単位で設定します。デフォルト値は 3600 秒 (1 時間) です。リクエスタ (被付与者) は 900 秒 (15 分) から 43200 秒 (12 時間) までの範囲を指定できます。被付与者がこの最大値よりも高い値をリクエストすると、そのリクエストは失敗します。

注記

一時トークンのリクエストで、ロケーションがオブジェクトの場合は、targetType リクエスト内のパラメータの値を Object に設定します。このパラメータは、ロケーションがオブジェクトで、特権レベルが Minimal の場合にのみ必要です。ロケーションがバケットまたはプレフィックスの場合、このパラメータを指定する必要はありません。

AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、AWS SDK を使用して一時的な認証情報をリクエストできます。これらの例を参照してください。

詳細については、「Amazon Simple Storage Service API リファレンス」の「GetDataAccess」を参照してください。

AWS CLI をインストールするには、「AWS Command Line Interface ユーザーガイド」の「AWS CLI をインストールする」を参照してください。

次のコマンド例を使用するには、user input placeholders をユーザー自身の情報に置き換えます。

例 一時認証情報のリクエスト

リクエスト:

aws s3control get-data-access \ --account-id 111122223333 \ --target s3://amzn-s3-demo-bucket/prefixA* \ --permission READ \ --privilege Default \ --region us-east-2

レスポンス:

{ "Credentials": { "AccessKeyId": "Example-key-id", "SecretAccessKey": "Example-access-key", "SessionToken": "Example-session-token", "Expiration": "2023-06-14T18:56:45+00:00"}, "MatchedGrantTarget": "s3://amzn-s3-demo-bucket/prefixA**", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333:role/role-name" } }

AWS CLI をインストールするには、「AWS Command Line Interface ユーザーガイド」の「AWS CLI をインストールする」を参照してください。

次のコマンド例を使用するには、user input placeholders をユーザー自身の情報に置き換えます。

例 一時認証情報のリクエスト

リクエスト:

aws s3control get-data-access \ --account-id 111122223333 \ --target s3://amzn-s3-demo-bucket/prefixA* \ --permission READ \ --privilege Default \ --region us-east-2

レスポンス:

{ "Credentials": { "AccessKeyId": "Example-key-id", "SecretAccessKey": "Example-access-key", "SessionToken": "Example-session-token", "Expiration": "2023-06-14T18:56:45+00:00"}, "MatchedGrantTarget": "s3://amzn-s3-demo-bucket/prefixA**", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333:role/role-name" } }

Amazon S3 REST API での S3 Access Grants からの一時認証情報のリクエストのサポートの詳細については、「Amazon Simple Storage Service API リファレンス」の「https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html」を参照してください。

Amazon S3 REST API での S3 Access Grants からの一時認証情報のリクエストのサポートの詳細については、「Amazon Simple Storage Service API リファレンス」の「https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html」を参照してください。

このセクションでは、AWS SDK を使用して被付与者が一時認証情報をリクエストする方法の例を説明します。

Java

次のコード例は、被付与者が S3 データにアクセスするために使用する一時的な認証情報を返します。次のコマンド例を使用する際は、user input placeholders をユーザー自身の情報に置き換えます。

例 一時認証情報を入手する

リクエスト:

public void getDataAccess() { GetDataAccessRequest getDataAccessRequest = GetDataAccessRequest.builder() .accountId("111122223333") .permission(Permission.READ) .privilege(Privilege.MINIMAL) .target("s3://amzn-s3-demo-bucket/prefixA*") .build(); GetDataAccessResponse getDataAccessResponse = s3Control.getDataAccess(getDataAccessRequest); LOGGER.info("GetDataAccessResponse: " + getDataAccessResponse); }

レスポンス:

GetDataAccessResponse( Credentials=Credentials( AccessKeyId="Example-access-key-id", SecretAccessKey="Example-secret-access-key", SessionToken="Example-session-token", Expiration=2023-06-07T06:55:24Z ))

このセクションでは、AWS SDK を使用して被付与者が一時認証情報をリクエストする方法の例を説明します。

Java

次のコード例は、被付与者が S3 データにアクセスするために使用する一時的な認証情報を返します。次のコマンド例を使用する際は、user input placeholders をユーザー自身の情報に置き換えます。

例 一時認証情報を入手する

リクエスト:

public void getDataAccess() { GetDataAccessRequest getDataAccessRequest = GetDataAccessRequest.builder() .accountId("111122223333") .permission(Permission.READ) .privilege(Privilege.MINIMAL) .target("s3://amzn-s3-demo-bucket/prefixA*") .build(); GetDataAccessResponse getDataAccessResponse = s3Control.getDataAccess(getDataAccessRequest); LOGGER.info("GetDataAccessResponse: " + getDataAccessResponse); }

レスポンス:

GetDataAccessResponse( Credentials=Credentials( AccessKeyId="Example-access-key-id", SecretAccessKey="Example-secret-access-key", SessionToken="Example-session-token", Expiration=2023-06-07T06:55:24Z ))

次のコード例は、被付与者が S3 データにアクセスするために使用する一時的な認証情報を返します。次のコマンド例を使用する際は、user input placeholders をユーザー自身の情報に置き換えます。

例 一時認証情報を入手する

リクエスト:

public void getDataAccess() { GetDataAccessRequest getDataAccessRequest = GetDataAccessRequest.builder() .accountId("111122223333") .permission(Permission.READ) .privilege(Privilege.MINIMAL) .target("s3://amzn-s3-demo-bucket/prefixA*") .build(); GetDataAccessResponse getDataAccessResponse = s3Control.getDataAccess(getDataAccessRequest); LOGGER.info("GetDataAccessResponse: " + getDataAccessResponse); }

レスポンス:

GetDataAccessResponse( Credentials=Credentials( AccessKeyId="Example-access-key-id", SecretAccessKey="Example-secret-access-key", SessionToken="Example-session-token", Expiration=2023-06-07T06:55:24Z ))
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.