디렉터리 버킷의 액세스 포인트 만들기 - Amazon Simple Storage Service

디렉터리 버킷의 액세스 포인트 만들기

디렉터리 버킷과 마찬가지로 가용 영역 또는 전용 로컬 영역에서 액세스 포인트를 생성할 수 있습니다. 액세스 포인트는 연결된 디렉터리 버킷과 동일한 영역에서 생성해야 합니다.

액세스 포인트는 정확히 하나의 Amazon S3 디렉터리 버킷과 연결됩니다. AWS 계정 내에서 디렉터리 버킷을 사용하려면 먼저 디렉터리 버킷을 생성해야 합니다. 디렉터리 버킷 생성에 대한 자세한 내용은 가용 영역에서 디렉터리 버킷 생성 또는 로컬 영역에서 디렉터리 버킷 생성 섹션을 참조하세요.

또한, 버킷 이름과 버킷 소유자의 계정 ID를 알고 있으면 다른 AWS 계정 내에 있는 버킷과 연결된 크로스 계정 액세스 포인트를 생성할 수 있습니다. 하지만 크로스 계정 액세스 포인트를 생성해도 버킷 소유자로부터 권한을 부여받기 전까지는 버킷의 데이터에 대한 액세스 권한이 부여되지 않습니다. 버킷 소유자가 버킷 정책을 통해 액세스 포인트 소유자의 계정(귀하의 계정)에게 버킷에 대한 액세스 권한을 부여해야 합니다. 자세한 내용은 크로스 계정 액세스 포인트에 대한 권한 부여 섹션을 참조하세요.

AWS Management Console, AWS CLI, REST API 또는 AWS SDK를 사용하여 모든 디렉터리 버킷에 액세스 포인트를 생성할 수 있습니다. 각 액세스 포인트는 단일 디렉터리 버킷과 연결되며 버킷당 수백 개의 액세스 포인트를 만들 수 있습니다. 액세스 포인트를 만들 때 액세스 포인트의 이름과 이를 연결할 디렉터리 버킷을 선택합니다. 액세스 포인트 이름은 사용자가 제공하는 기본 이름과 버킷 위치의 영역ID와 --xa-s3를 차례로 포함하는 접미사로 구성됩니다. 예를 들어 myaccesspoint-zoneID--xa-s3과 같이 생성할 수 있습니다. 가상 프라이빗 클라우드(VPC)를 통해 액세스 포인트에 대한 액세스를 제한할 수도 있습니다. 그런 다음 디렉터리 버킷 이름을 사용할 때와 같이 이름을 사용하여 액세스 포인트를 통해 데이터 읽기 및 쓰기를 즉시 시작할 수 있습니다.

액세스 포인트 범위를 사용하면 액세스 포인트를 통한 디렉터리 버킷 액세스를 특정 접두사 또는 API 작업으로 제한할 수 있습니다. 액세스 포인트에 범위를 추가하지 않으면 액세스 포인트를 통해 액세스할 때 디렉터리 버킷 내 모든 접두사 및 모든 API 작업을 버킷의 객체에 대해 수행할 수 있습니다. 액세스 포인트를 생성한 후에는 AWS CLI, AWS SDK 또는 REST API를 사용하여 범위를 추가, 수정 또는 삭제할 수 있습니다. 자세한 내용은 디렉터리 버킷의 액세스 포인트 범위 관리 섹션을 참조하세요.

액세스 포인트를 생성한 후 액세스 포인트 IAM 리소스 정책을 구성할 수 있습니다. 자세한 내용은 액세스 포인트 정책 보기, 편집 또는 삭제 섹션을 참조하세요.

참고

디렉터리 버킷 화면에서 디렉터리 버킷의 액세스 포인트를 생성할 수도 있습니다. 이렇게 하면 디렉터리 버킷 이름이 제공되므로 액세스 포인트를 생성할 때 버킷을 선택할 필요가 없습니다. 자세한 내용은 디렉터리 버킷 나열 섹션을 참조하세요.

디렉터리 버킷의 액세스 포인트를 생성하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 S3 콘솔을 엽니다.

  2. 페이지 상단의 탐색 모음에서 현재 표시된 AWS 리전의 이름을 선택합니다. 그런 다음 액세스 포인트를 생성하려는 리전을 선택합니다. 액세스 포인트는 연결된 버킷과 동일한 리전에서 생성해야 합니다.

  3. 왼쪽 탐색 창에서 디렉토리 버킷용 액세스 포인트를 선택합니다.

  4. 액세스 포인트(Access Points) 페이지에서 액세스 포인트 생성(Create access point)을 선택합니다.

  5. 사용 중인 계정 또는 다른 계정의 디렉터리 버킷용 액세스 포인트를 생성할 수 있습니다. 다른 계정의 디렉터리 버킷용 액세스 포인트를 생성하려면 다음과 같이 합니다.

    참고

    다른 AWS 계정의 버킷을 사용하는 경우, 액세스 포인트의 요청을 승인하도록 버킷 소유자가 버킷 정책을 업데이트해야 합니다. 버킷 정책 예제는 크로스 계정 액세스 포인트에 대한 권한 부여를 참조하십시오.

    1. 디렉터리 버킷 필드에서 다른 계정의 버킷 지정을 선택합니다.

    2. 버킷 소유자 계정 ID 필드에 버킷을 소유한 AWS 계정 ID를 입력합니다.

    3. 버킷 이름 필드에 기본 이름과 영역 ID를 포함한 버킷의 이름을 입력합니다. 예를 들어 bucket-base-name--zone-id--x-s3입니다.

  6. 사용 중인 계정의 디렉터리 버킷용 액세스 포인트를 생성하려면 다음과 같이 합니다.

    1. 디렉터리 버킷 필드에서 이 계정에서 버킷 선택을 선택합니다.

    2. 버킷 이름 필드에 기본 이름과 영역 ID를 포함한 버킷의 이름을 입력합니다. 예를 들어 bucket-base-name--zone-id--x-s3입니다. 목록에서 버킷을 선택하려면 S3 찾아보기를 선택한 다음 해당 디렉터리 버킷을 선택합니다.

  7. 액세스 포인트 이름기본 이름 필드에 액세스 포인트의 기본 이름을 입력합니다. 영역 ID와 전체 액세스 포인트 이름이 나타납니다. 액세스 포인트 명명에 대한 자세한 내용은 디렉터리 버킷의 액세스 포인트 이름 지정 규칙 섹션을 참조하십시오.

  8. 네트워크 오리진에서 가상 프라이빗 클라우드(VPC) 또는 인터넷을 선택합니다. 가상 프라이빗 클라우드(VPC)를 선택한 경우 VPC ID 필드에 액세스 포인트에 사용할 VPC의 ID를 입력합니다.

  9. (선택 사항) 이 액세스 포인트에 범위를 적용하려면 액세스 포인트 범위에서 접두사 또는 권한을 사용하여 이 액세스 포인트의 범위 제한을 선택합니다.

    1. 디렉터리 버킷에서 접두사에 대한 액세스를 제한하려면 접두사에서 하나 이상의 접두사를 입력합니다. 다른 접두사를 추가하려면 접두사 추가를 선택합니다. 접두사를 제거하려면 제거를 선택합니다.

      참고

      액세스 포인트 범위에는 모든 접두사에 대한 총 512자의 문자 제한이 있습니다. 접두사 추가 아래에서 남아 있는 문자 수를 확인할 수 있습니다.

    2. 권한에서 액세스 포인트가 허용할 API 작업을 하나 이상 선택합니다. 데이터 작업을 제거하려면 데이터 작업 이름 옆에 있는 X를 선택합니다.

  10. 액세스 포인트에 범위를 적용하지 않고 액세스 포인트를 통한 디렉터리 버킷의 모든 접두사와 모든 API 작업에 대한 액세스를 허용하려면 액세스 포인트 범위에서 전체 버킷에 액세스 적용을 선택합니다.

  11. 디렉터리 버킷용 액세스 포인트 생성을 선택합니다. 액세스 포인트의 이름 및 기타 정보는 디렉토리 버킷용 액세스 포인트 목록에 표시됩니다.

다음 예제 명령은 계정 111122223333 내의 버킷 amzn-s3-demo-bucket--zone-id--x-s3에 대해 이름이 example-ap인 액세스 포인트를 생성합니다.

aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3

VPC를 통해 액세스 포인트에 대한 액세스를 제한하려면 --vpc 파라미터와 VPC ID를 포함합니다.

aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3 --vpc vpc-id

교차 계정 버킷에 대한 액세스 포인트를 만들 때 --bucket-account-id 파라미터를 포함합니다. 다음 예제 명령은 AWS 계정 444455556666이 소유한 버킷 amzn-s3-demo-bucket--zone-id--x-s3에 대해 AWS 계정 111122223333에 액세스 포인트를 생성합니다.

aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3 --bucket-account-id 444455556666

자세한 내용과 예제는 AWS CLI 명령 참조의 create-access-point를 참조하세요.

다음 예제 명령은 계정 111122223333의 버킷 amzn-s3-demo-bucket--zone-id--x-s3에 대해 example-ap이라는 액세스 포인트를 생성하고 VPC vpc-id(선택 사항)를 통해 액세스를 제한합니다.

PUT /v20180820/accesspoint/example-ap--zoneID--xa-s3 HTTP/1.1 Host: s3express-control.region.amazonaws.com x-amz-account-id: 111122223333 <?xml version="1.0" encoding="UTF-8"?> <CreateAccessPointRequest> <Bucket>amzn-s3-demo-bucket--zone-id--x-s3s</Bucket> <BucketAccountId>111122223333</BucketAccountId> <VpcConfiguration> <VpcId>vpc-id</VpcId> </VpcConfiguration> </CreateAccessPointRequest>

응답:

HTTP/1.1 200 <?xml version="1.0" encoding="UTF-8"?> <CreateAccessPointResult> <AccessPointArn> "arn:aws:s3express:region:111122223333:accesspoint/example-ap--zoneID--xa-s3" </AccessPointArn> <Alias>example-ap--zoneID--xa-s3</Alias> </CreateAccessPointResult>

AWS SDK를 사용하여 액세스 포인트를 만들 수 있습니다. 자세한 내용은 Amazon Simple Storage Service API 참조의 지원되는 SDK 목록을 참조하세요.