

# 発信者のアクセス許可を一覧表示する
<a name="access-grants-list-grants"></a>

S3 データ所有者は、S3 Access Grants を使用して、AWS Identity and Access Management (IAM) ID または AWS IAM アイデンティティセンター 企業ディレクトリ ID のアクセス許可を作成できます。IAM アイデンティティと IAM Identity Center ディレクトリ ID は、次に `ListCallerAccessGrants` API を使用して、S3 Access Grants で定義したとおり、アクセスできる Amazon S3 バケット、プレフィックス、およびオブジェクトを一覧表示できます。この API を使用して、IAM またはディレクトリ ID が S3 Access Grants を介してアクセスできるすべての S3 データを検出します。

この機能を使用すると、特定のエンドユーザーがアクセスできるデータを表示するアプリケーションを構築できます。例えば、お客様が S3 バケットにアクセスするために使用するオープンソース UI コンポーネントである AWS Storage Browser for S3 は、この機能を使用して、S3 Access Grants に基づいて Amazon S3 でアクセスできるデータをエンドユーザーに提示します。もう 1 つの例として、Amazon S3 でデータを参照、アップロード、またはダウンロードするためのアプリケーションを構築する場合、この機能を使用して、エンドユーザーが参照できるツリー構造をアプリケーションに構築できます。

**注記**  
企業ディレクトリアイデンティティの場合、呼び出し元のアクセス許可付与を一覧表示する際に、S3 Access Grants は ID 対応セッションに使用される IAM アイデンティティの許可付与を返します。ID 対応セッションの詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[ID 対応コンソールセッションを使用するアクセス許可の付与](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html)」を参照してください。

IAM アイデンティティまたは社内ディレクトリアイデンティティのいずれかである被付与者が、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、および AWS SDK を使用することで、付与されたアクセス許可を一覧表示できます。

## の使用AWS CLI
<a name="access-grants-list-grants-cli"></a>

AWS CLI をインストールするには、**「AWS Command Line Interface ユーザーガイド」の「[AWS CLI をインストールする](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

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

**Example 発信者のアクセス許可を一覧表示する**  
リクエスト:  

```
aws s3control list-caller-access-grants \
--account-id 111122223333 \
--region us-east-2
--max-results 5
```
レスポンス:  

```
{
	"NextToken": "6J9S...",
	"CallerAccessGrantsList": [
		{
			"Permission": "READWRITE",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix1/*",
			"ApplicationArn": "NA"
		},
		{
			"Permission": "READWRITE",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix2/*",
			"ApplicationArn": "ALL"
		},
		{
			"Permission": "READWRITE",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix3/*",
			"ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d"
		}
	]
}
```

**Example バケットに対する発信者のアクセス許可を一覧表示する**  
`grantscope` パラメータを使用して結果を絞り込むことができるようになりました。  
リクエスト:  

```
aws s3control list-caller-access-grants \
--account-id 111122223333 \
--region us-east-2
--grant-scope "s3://amzn-s3-demo-bucket""
--max-results 1000
```
レスポンス:  

```
{
	"NextToken": "6J9S...",
	"CallerAccessGrantsList": [
		{
			"Permission": "READ",
			"GrantScope": "s3://amzn-s3-demo-bucket*",
			"ApplicationArn": "ALL"
		},
		{
			"Permission": "READ",
			"GrantScope": "s3://amzn-s3-demo-bucket/prefix1/*",
			"ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d"
		}
	]
}
```

## REST API の使用
<a name="access-grants-list-grants-rest-api"></a>

API 発信者のアクセス許可リストを取得するための Amazon S3 REST API サポートの詳細については、「Amazon Simple Storage Service API リファレンス」の「[ListCallerAccessGrants](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html)」を参照してください。**

## AWS SDK の使用
<a name="access-grants-list-grants-using-sdk"></a>

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

------
#### [ Java ]

次のコード例は、特定の AWS アカウントの S3 データに対する API 発信者のアクセス許可を返します。次のコマンド例を使用する際は、`user input placeholders` をユーザー自身の情報に置き換えます。

**Example 発信者のアクセス許可を一覧表示する**  
リクエスト:  

```
Public void ListCallerAccessGrants() {
	ListCallerAccessGrantsRequest listRequest = ListCallerAccessGrantsRequest.builder()
				.withMaxResults(1000)
				.withGrantScope("s3://")
				.accountId("111122223333");
	ListCallerAccessGrantsResponse listResponse = s3control.listCallerAccessGrants(listRequest);
	LOGGER.info("ListCallerAccessGrantsResponse: " + listResponse);
	}
```
レスポンス:  

```
ListCallerAccessGrantsResponse(
CallerAccessGrantsList=[
	ListCallerAccessGrantsEntry(
		S3Prefix=s3://amzn-s3-demo-bucket/prefix1/,
		Permission=READ,
		ApplicationArn=ALL
	)
])
```

------