

# S3 Access Grants에서 권한 부여 사용
<a name="access-grants-grant"></a>

S3 Access Grants 인스턴스 내 개별 액세스 *권한 부여*를 통해 특정 자격 증명(AWS Identity and Access Management(IAM) 보안 주체나 기업 디렉터리의 사용자 또는 그룹)이 S3 Access Grants 인스턴스에 등록된 위치 내에서 액세스 권한을 부여받을 수 있습니다. 위치는 버킷 또는 접두사를 IAM 역할에 매핑합니다. S3 Access Grants는 이 IAM 역할을 맡아 피부여자에게 임시 자격 증명을 제공합니다.

S3 Access Grants 인스턴스에 [위치를 하나 이상 등록](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html)한 후 액세스 권한 부여를 생성할 수 있습니다.

피부여자는 IAM 사용자나 역할 또는 디렉터리 사용자나 그룹일 수 있습니다. 디렉터리 사용자는 [S3 Access Grants 인스턴스와 연결한](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-idc.html) 기업 디렉터리 또는 외부 자격 증명 소스의 사용자입니다. 자세한 내용은 [S3 Access Grants 및 기업 디렉터리 ID](access-grants-directory-ids.md) 섹션을 참조하세요. IAM Identity Center에서 특정 디렉터리 사용자 또는 그룹에 대한 권한 부여를 생성하려면 IAM Identity Center에서 해당 사용자를 식별하는 데 사용하는 GUID를 찾으세요(예: `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`). IAM Identity Center를 사용하여 사용자 정보를 보는 방법에 대한 자세한 내용은 **AWS IAM Identity Center 사용 설명서의 [사용자 및 그룹 할당 보기](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-view-assignments.html)를 참조하세요.

버킷, 접두사 또는 객체에 액세스 권한을 부여할 수 있습니다. Amazon S3의 접두사는 객체 키 이름의 앞에 있는 문자열로, 버킷 내의 객체를 구성하는 데 사용됩니다. 이는 허용되는 모든 문자열(예: `engineering/` 접두사로 시작하는 버킷의 객체 키 이름)이 될 수 있습니다.

**Topics**
+ [

# 권한 부여 생성
](access-grants-grant-create.md)
+ [

# 권한 부여 보기
](access-grants-grant-view.md)
+ [

# 권한 부여 삭제
](access-grants-grant-delete.md)

# 권한 부여 생성
<a name="access-grants-grant-create"></a>

S3 Access Grants 인스턴스 내 개별 액세스 *권한 부여*를 통해 특정 자격 증명(AWS Identity and Access Management(IAM) 보안 주체나 기업 디렉터리의 사용자 또는 그룹)이 S3 Access Grants 인스턴스에 등록된 위치 내에서 액세스 권한을 부여받을 수 있습니다. 위치는 버킷 또는 접두사를 IAM 역할에 매핑합니다. S3 Access Grants는 이 IAM 역할을 맡아 피부여자에게 임시 자격 증명을 제공합니다.

S3 Access Grants 인스턴스에 [위치를 하나 이상 등록](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html)한 후 액세스 권한 부여를 생성할 수 있습니다.

피부여자는 IAM 사용자나 역할 또는 디렉터리 사용자나 그룹일 수 있습니다. 디렉터리 사용자는 [S3 Access Grants 인스턴스와 연결한](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-idc.html) 기업 디렉터리 또는 외부 자격 증명 소스의 사용자입니다. 자세한 내용은 [S3 Access Grants 및 기업 디렉터리 ID](access-grants-directory-ids.md) 섹션을 참조하세요. IAM Identity Center에서 특정 디렉터리 사용자 또는 그룹에 대한 권한 부여를 생성하려면 IAM Identity Center에서 해당 사용자를 식별하는 데 사용하는 GUID를 찾으세요(예: `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`). IAM Identity Center를 사용하여 사용자 정보를 보는 방법에 대한 자세한 내용은 **AWS IAM Identity Center 사용 설명서의 [사용자 및 그룹 할당 보기](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-view-assignments.html)를 참조하세요.

버킷, 접두사 또는 객체에 액세스 권한을 부여할 수 있습니다. Amazon S3의 접두사는 객체 키 이름의 앞에 있는 문자열로, 버킷 내의 객체를 구성하는 데 사용됩니다. 이는 허용되는 모든 문자열(예: `engineering/` 접두사로 시작하는 버킷의 객체 키 이름)이 될 수 있습니다.

## 하위 접두사
<a name="subprefix"></a>

등록된 위치에 대한 액세스 권한을 부여할 때 `Subprefix` 필드를 사용하여 액세스 범위를 위치 범위의 하위 집합으로 좁힐 수 있습니다. 권한 부여를 위해 선택한 등록 위치가 기본 S3 경로(`s3://`)인 경우 권한 부여 범위를 좁혀야 합니다. 기본 위치(`s3://`)에 대해서는 액세스 권한 부여를 생성할 수 없습니다. 생성할 경우 피부여자에게 AWS 리전 내 모든 버킷에 대한 액세스 권한을 부여하게 됩니다. 대신 다음 중 하나를 사용하여 권한 부여 범위를 좁혀야 합니다.
+ 버킷: `s3://bucket/*`
+ 버킷 내의 접두사: `s3://bucket/prefix*`
+ 접두사 내의 접두사: `s3://bucket/prefixA/prefixB*`
+ 객체: `s3://bucket/object-key-name`

등록된 위치가 버킷인 곳에 액세스 권한 부여를 생성하는 경우 `Subprefix` 필드에 다음 중 하나를 전달하여 권한 부여 범위를 좁힐 수 있습니다.
+ 버킷 내의 접두사: `prefix*`
+ 접두사 내의 접두사: `prefixA/prefixB*`
+ 객체: `/object-key-name`

권한 부여를 생성한 후 Amazon S3 콘솔에 표시된 권한 범위나 API 또는 AWS Command Line Interface(AWS CLI) 응답에 반환되는 `GrantScope`은 위치 경로를 `Subprefix`와 결합한 결과입니다. 이 연결 경로가 액세스 권한을 부여하려는 S3 버킷, 접두사 또는 객체에 올바르게 매핑되는지 확인하세요.

**참고**  
하나의 객체에만 액세스를 허용하는 액세스 권한 부여를 생성해야 하는 경우 객체에 대한 권한 부여 유형을 지정해야 합니다. API 직접 호출 또는 CLI 명령으로 이 작업을 수행하려면 `s3PrefixType` 파라미터를 `Object` 값과 함께 전달합니다. Amazon S3 콘솔에서 권한 부여를 생성할 때 위치를 선택한 후 **권한 부여 범위**에서 **권한 부여 범위는 객체입니다** 확인란을 선택합니다.
버킷이 아직 존재하지 않는 경우 버킷에 대한 권한 부여를 생성할 수 없습니다. 하지만 아직 존재하지 않는 접두사에 대한 권한 부여를 생성할 수는 있습니다.
S3 Access Grants 인스턴스에서 생성할 수 있는 최대 권한 부여 수는 [S3 Access Grants 한도](access-grants-limitations.md) 섹션을 참조하세요.

Amazon S3 콘솔, AWS CLI, Amazon S3 REST API, AWS SDK를 사용하여 액세스 권한 부여를 생성할 수 있습니다.

## S3 콘솔 사용
<a name="access-grants-grant-create-console"></a>

**액세스 권한 부여 생성**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Access Grants**를 선택합니다.

1. **S3 Access Grants** 페이지에서 사용하려는 S3 Access Grants 인스턴스가 포함된 리전을 선택합니다.

   S3 Access Grants 인스턴스를 처음 사용하는 경우 [2단계 - 위치 등록](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html)을 완료하고 **Access Grants 인스턴스 설정** 마법사의 **3단계**로 이동했는지 확인하세요. 이미 S3 Access Grants 인스턴스가 있는 경우 **세부 정보 보기**를 선택한 다음 **권한 부여** 탭에서 **권한 부여 생성**을 선택합니다.

   1. **권한 부여 범위** 섹션에서 등록된 위치를 선택하거나 입력합니다.

      기본 `s3://` 위치를 선택한 경우 **하위 접두사** 상자를 사용하여 액세스 권한 부여 범위를 좁힐 수 있습니다. 자세한 내용은 [하위 접두사](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html#subprefix)를 참조하세요. 객체에만 액세스 권한을 부여하는 경우 **권한 부여 범위가 객체임**을 선택합니다.

   1. **권한 및 액세스**에서 **권한** 수준(**읽기**, **쓰기** 또는 둘 다)을 선택합니다.

      그런 다음 **피부여자 유형**을 선택합니다. 기업 디렉터리를 IAM Identity Center에 추가하고 이 IAM Identity Center 인스턴스를 S3 Access Grants 인스턴스와 연결한 경우, **IAM Identity Center의 디렉터리 ID**를 선택할 수 있습니다. 이 옵션을 선택하는 경우 IAM Identity Center에서 사용자 또는 그룹의 ID를 가져와 이 섹션에 입력하세요.

      **피부여자 유형**이 IAM 사용자 또는 역할인 경우 **IAM 보안 주체**를 선택합니다. **IAM 보안 주체 유형**에서 **사용자** 또는 **역할**을 선택합니다. 그런 다음, **IAM 보안 주체 사용자** 아래에서 자격 증명의 ID를 목록에서 선택하거나 입력합니다.

   1. S3 Access Grants 권한 부여를 생성하려면 **다음** 또는 **권한 부여 생성**을 선택합니다.

1. **다음** 또는 **권한 부여 생성**이 비활성화된 경우:

**권한 부여를 생성할 수 없음**
   + S3 Access Grants 인스턴스에 먼저 [위치를 등록](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html)해야 할 수 있습니다.
   + 액세스 권한 부여를 생성하는 데 필요한 `s3:CreateAccessGrant` 권한이 없을 수도 있습니다. 계정 관리자에게 문의하세요.

## AWS CLI 사용
<a name="access-grants-grant-create-cli"></a>

AWS CLI를 설치하려면 *AWS Command Line Interface 사용 설명서*의 [AWS CLI 설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

다음 예는 IAM 보안 주체에 대한 액세스 권한 부여 요청을 생성하는 방법과 기업 디렉터리 사용자 또는 그룹에 대한 액세스 권한 부여 요청을 생성하는 방법을 보여줍니다.

다음 예시 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

**참고**  
하나의 객체에만 액세스 권한을 부여하는 액세스 권한 부여를 생성하는 경우 필수 파라미터인 `--s3-prefix-type Object`를 포함하세요.

**Example IAM 보안 주체에 대한 액세스 권한 부여 요청 생성**  

```
aws s3control create-access-grant \
--account-id 111122223333 \
--access-grants-location-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \
--access-grants-location-configuration S3SubPrefix=prefixB* \
--permission READ \
--grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::123456789012:user/data-consumer-3
```

**Example 액세스 권한 부여 응답 생성**  

```
{"CreatedAt": "2023-05-31T18:41:34.663000+00:00",
    "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "Grantee": {
        "GranteeType": "IAM",
        "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
    },
    "AccessGrantsLocationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "AccessGrantsLocationConfiguration": {
        "S3SubPrefix": "prefixB*"
    },
    "GrantScope": "s3://amzn-s3-demo-bucket/prefix*",
    "Permission": "READ"
}
```

**디렉터리 사용자 또는 그룹에 대한 액세스 권한 부여 요청 생성**  
디렉터리 사용자 또는 그룹에 대한 액세스 권한 부여 요청을 생성하려면 먼저 다음 명령 중 하나를 실행하여 디렉터리 사용자 또는 그룹의 GUID를 가져와야 합니다.

**Example 디렉터리 사용자 또는 그룹에 대한 GUID 가져오기**  
IAM Identity Center 사용자의 GUID는 IAM Identity Center 콘솔이나 AWS CLI 또는 AWS SDK를 사용하여 찾을 수 있습니다. 다음 명령은 지정된 IAM Identity Center 인스턴스의 사용자를 이름 및 식별자와 함께 나열합니다.  

```
aws identitystore list-users --identity-store-id d-1a2b3c4d1234 
```
이 명령은 지정된 IAM Identity Center 인스턴스의 그룹을 나열합니다.  

```
aws identitystore list-groups --identity-store-id d-1a2b3c4d1234
```

**Example 디렉터리 사용자 또는 그룹에 대한 액세스 권한 부여 생성**  
이 명령은 IAM 사용자 또는 역할에 대한 권한 부여를 생성하는 것과 비슷합니다. 단, 피부여자 유형은 `DIRECTORY_USER` 또는 `DIRECTORY_GROUP`이고 피부여자 식별자는 디렉터리 사용자 또는 그룹의 GUID입니다.  

```
aws s3control create-access-grant \
--account-id 123456789012 \
--access-grants-location-id default \
--access-grants-location-configuration S3SubPrefix="amzn-s3-demo-bucket/rafael/*" \
--permission READWRITE \
--grantee GranteeType=DIRECTORY_USER,GranteeIdentifier=83d43802-00b1-7054-db02-f1d683aacba5 \
```

## REST API 사용
<a name="access-grants-grant-create-rest-api"></a>

액세스 권한 부여 관리를 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 **Amazon Simple Storage Service API 참조의 다음 섹션을 참조하세요.
+  [CreateAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html) 
+  [DeleteAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html) 
+  [GetAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html) 
+  [ListAccessGrants](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html)

## AWS SDK 사용
<a name="access-grants-grant-create-using-sdk"></a>

이 섹션에서는 AWS SDK를 사용하여 액세스 권한 부여를 생성하는 방법의 예시를 보여줍니다.

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

다음 예시를 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

**참고**  
하나의 객체에만 액세스 권한을 부여하는 액세스 권한 부여를 생성하는 경우 필수 파라미터인 `.s3PrefixType(S3PrefixType.Object)`를 포함하세요.

**Example 액세스 권한 부여 요청 생성**  

```
public void createAccessGrant() {
CreateAccessGrantRequest createRequest = CreateAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa")
.permission("READ")
.accessGrantsLocationConfiguration(AccessGrantsLocationConfiguration.builder().s3SubPrefix("prefixB*").build())
.grantee(Grantee.builder().granteeType("IAM").granteeIdentifier("arn:aws:iam::111122223333:user/data-consumer-3").build())
.build();
CreateAccessGrantResponse createResponse = s3Control.createAccessGrant(createRequest);
LOGGER.info("CreateAccessGrantResponse: " + createResponse);
}
```

**Example 액세스 권한 부여 응답 생성**  

```
CreateAccessGrantResponse(
CreatedAt=2023-06-07T05:20:26.330Z,
AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE33333,
AccessGrantArn=arn:aws:s3:us-east-2:444455556666:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333,
Grantee=Grantee(
GranteeType=IAM,
GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3
),
AccessGrantsLocationId=a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa,
AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration(
S3SubPrefix=prefixB*
),
GrantScope=s3://amzn-s3-demo-bucket/prefixB,
Permission=READ
)
```

------

# 권한 부여 보기
<a name="access-grants-grant-view"></a>

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 S3 Access Grants 인스턴스에 있는 액세스 권한 부여의 세부 정보를 볼 수 있습니다.

## S3 콘솔 사용
<a name="access-grants-grant-view-console"></a>

**액세스 권한 부여의 세부 정보를 보는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Access Grants**를 선택합니다.

1. **S3 Access Grants** 페이지에서 사용하려는 S3 Access Grants 인스턴스가 포함된 리전을 선택합니다.

1. 인스턴스의 **세부 정보 보기**를 선택합니다.

1. 세부 정보 페이지에서 **권한 부여** 탭을 선택합니다.

1. **권한 부여** 섹션에서 보려는 액세스 권한 부여를 찾습니다. 권한 부여 목록을 필터링하려면 검색 상자를 사용하세요.

## AWS CLI 사용
<a name="access-grants-grant-view-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 get-access-grant \
--account-id 111122223333 \
--access-grant-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
```
응답:  

```
{
    "CreatedAt": "2023-05-31T18:41:34.663000+00:00",
    "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "Grantee": {
        "GranteeType": "IAM",
        "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
    },
    "Permission": "READ",
    "AccessGrantsLocationId": "12a6710f-5af8-41f5-b035-0bc795bf1a2b",
    "AccessGrantsLocationConfiguration": {
        "S3SubPrefix": "prefixB*"
    },
    "GrantScope": "s3://amzn-s3-demo-bucket/"
}
```

**Example - S3 Access Grants 인스턴스의 모든 액세스 권한 부여 나열**  
선택적으로 다음 파라미터를 사용하여 결과를 S3 접두사 또는 AWS Identity and Access Management(IAM) ID로 제한할 수 있습니다.  
+ **하위 접두사** - `--grant-scope s3://bucket-name/prefix*`
+ **IAM ID** - `--grantee-type IAM` 및 `--grantee-identifier arn:aws:iam::123456789000:role/accessGrantsConsumerRole`

```
aws s3control list-access-grants \
--account-id 111122223333
```
응답:  

```
{
    "AccessGrantsList": [{"CreatedAt": "2023-06-14T17:54:46.542000+00:00",
            "AccessGrantId": "dd8dd089-b224-4d82-95f6-975b4185bbaa",
            "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/dd8dd089-b224-4d82-95f6-975b4185bbaa",
            "Grantee": {
                "GranteeType": "IAM",
                "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
            },
            "Permission": "READ",
            "AccessGrantsLocationId": "23514a34-ea2e-4ddf-b425-d0d4bfcarda1",
            "GrantScope": "s3://amzn-s3-demo-bucket/prefixA*"
        },
        {"CreatedAt": "2023-06-24T17:54:46.542000+00:00",
            "AccessGrantId": "ee8ee089-b224-4d72-85f6-975b4185a1b2",
            "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/ee8ee089-b224-4d72-85f6-975b4185a1b2",
            "Grantee": {
                "GranteeType": "IAM",
                "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-9"
            },
            "Permission": "READ",
            "AccessGrantsLocationId": "12414a34-ea2e-4ddf-b425-d0d4bfcacao0",
            "GrantScope": "s3://amzn-s3-demo-bucket/prefixB*"
        },

    ]
}
```

## REST API 사용
<a name="access-grants-grant-view-rest-api"></a>

Amazon S3 API 작업을 사용하여 액세스 권한 부여의 세부 정보를 보고 S3 Access Grants 인스턴스의 모든 액세스 권한 부여를 나열할 수 있습니다. 액세스 권한 부여 관리를 위한 REST API 지원에 대한 자세한 내용은 **Amazon Simple Storage Service API 참조의 다음 섹션을 참조하세요.
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html) 

## AWS SDK 사용
<a name="access-grants-grant-view-using-sdk"></a>

이 섹션에서는 AWS SDK를 사용하여 액세스 권한 부여의 세부 정보를 가져오는 방법의 예시를 보여줍니다.

다음 예제를 사용하려면 `user input placeholders`를 사용자의 정보로 대체합니다.

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



**Example - 액세스 권한 부여의 세부 정보 가져오기**  

```
public void getAccessGrant() {
GetAccessGrantRequest getRequest = GetAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantId("a1b2c3d4-5678-90ab-cdef-EXAMPLE22222")
.build();
GetAccessGrantResponse getResponse = s3Control.getAccessGrant(getRequest);
LOGGER.info("GetAccessGrantResponse: " + getResponse);
}
```
응답:  

```
GetAccessGrantResponse(
CreatedAt=2023-06-07T05:20:26.330Z,
AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE22222,
AccessGrantArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/grant-fd3a5086-42f7-4b34-9fad-472e2942c70e,
Grantee=Grantee(
GranteeType=IAM,
GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3
),
Permission=READ,
AccessGrantsLocationId=12a6710f-5af8-41f5-b035-0bc795bf1a2b,
AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration(
S3SubPrefix=prefixB*
),
GrantScope=s3://amzn-s3-demo-bucket/ 
)
```

**Example - S3 Access Grants 인스턴스의 모든 액세스 권한 부여 나열**  
선택적으로 다음 파라미터를 사용하여 결과를 S3 접두사 또는 IAM ID로 제한할 수 있습니다.  
+ **범위** - `GrantScope=s3://bucket-name/prefix*`
+ **피부여자** - `GranteeType=IAM` 및 `GranteeIdentifier= arn:aws:iam::111122223333:role/accessGrantsConsumerRole`

```
public void listAccessGrants() {
ListAccessGrantsRequest listRequest = ListAccessGrantsRequest.builder()
.accountId("111122223333")
.build();
ListAccessGrantsResponse listResponse = s3Control.listAccessGrants(listRequest);
LOGGER.info("ListAccessGrantsResponse: " + listResponse);
}
```
응답:  

```
ListAccessGrantsResponse(
AccessGrantsList=[
ListAccessGrantEntry(
CreatedAt=2023-06-14T17:54:46.540z,
AccessGrantId=dd8dd089-b224-4d82-95f6-975b4185bbaa,
AccessGrantArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/dd8dd089-b224-4d82-95f6-975b4185bbaa,
Grantee=Grantee(
GranteeType=IAM, GranteeIdentifier= arn:aws:iam::111122223333:user/data-consumer-3
),
Permission=READ,
AccessGrantsLocationId=23514a34-ea2e-4ddf-b425-d0d4bfcarda1,
GrantScope=s3://amzn-s3-demo-bucket/prefixA 
),
ListAccessGrantEntry(
CreatedAt=2023-06-24T17:54:46.540Z,
AccessGrantId=ee8ee089-b224-4d72-85f6-975b4185a1b2,
AccessGrantArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/ee8ee089-b224-4d72-85f6-975b4185a1b2,
Grantee=Grantee(
GranteeType=IAM, GranteeIdentifier= arn:aws:iam::111122223333:user/data-consumer-9
),
Permission=READ,
AccessGrantsLocationId=12414a34-ea2e-4ddf-b425-d0d4bfcacao0,
GrantScope=s3://amzn-s3-demo-bucket/prefixB* 
)
]
)
```

------

# 권한 부여 삭제
<a name="access-grants-grant-delete"></a>

Amazon S3 Access Grants 인스턴스에서 액세스 권한 부여를 삭제할 수 있습니다. 액세스 권한 부여 삭제는 실행 취소할 수 없습니다. 액세스 권한 부여를 삭제하면 피부여자는 더 이상 Amazon S3 데이터에 액세스할 수 없습니다.

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 액세스 권한 부여를 삭제할 수 있습니다.

## S3 콘솔 사용
<a name="access-grants-grant-delete-console"></a>

**액세스 권한 부여를 삭제하는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Access Grants**를 선택합니다.

1. **S3 Access Grants** 페이지에서 사용하려는 S3 Access Grants 인스턴스가 포함된 리전을 선택합니다.

1. 인스턴스의 **세부 정보 보기**를 선택합니다.

1. 세부 정보 페이지에서 **권한 부여** 탭을 선택합니다.

1. 삭제할 권한 부여를 검색합니다. 권한 부여를 찾으면 옆에 있는 라디오 버튼을 선택합니다.

1. **삭제**를 선택합니다. 이 작업을 취소할 수 없다는 경고 대화 상자가 나타납니다. **삭제**를 다시 선택하여 권한 부여를 삭제합니다.

## AWS CLI 사용
<a name="access-grants-grant-delete-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 delete-access-grant \
--account-id 111122223333 \
--access-grant-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 

// No response body
```

## REST API 사용
<a name="access-grants-grant-delete-rest-api"></a>

액세스 권한 부여 관리를 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 **Amazon Simple Storage Service API 참조의 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html) 섹션을 참조하세요.

## AWS SDK 사용
<a name="access-grants-grant-delete-using-sdk"></a>

이 섹션에서는 AWS SDK를 사용하여 액세스 권한 부여를 삭제하는 방법의 예시를 보여줍니다. 다음 예시를 사용하려면 `user input placeholders`를 실제 정보로 대체하십시오.

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

**Example - 액세스 권한 부여 삭제**  

```
public void deleteAccessGrant() {
DeleteAccessGrantRequest deleteRequest = DeleteAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantId("a1b2c3d4-5678-90ab-cdef-EXAMPLE11111")
.build();
DeleteAccessGrantResponse deleteResponse = s3Control.deleteAccessGrant(deleteRequest);
LOGGER.info("DeleteAccessGrantResponse: " + deleteResponse);
}
```
응답:  

```
DeleteAccessGrantResponse()
```

------