

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 데이터 위치 권한 부여
<a name="granting-location-permissions"></a>

의 데이터 위치 권한을 AWS Lake Formation 통해 보안 주체는 지정된 등록된 Amazon S3 위치를 가리키는 데이터 카탈로그 리소스를 생성하고 변경할 수 있습니다. 데이터 위치 권한은 Lake Formation 데이터 권한과 함께 작동하여 데이터 레이크의 정보를 보호합니다.

Lake Formation은 데이터 위치 권한 부여에 AWS Resource Access Manager (AWS RAM) 서비스를 사용하지 않으므로 데이터 위치 권한에 대한 리소스 공유 초대를 수락할 필요가 없습니다.

Lake Formation 콘솔, API 또는 AWS Command Line Interface (AWS CLI)를 사용하여 데이터 위치 권한을 부여할 수 있습니다.

**참고**  
권한 부여에 성공하려면 먼저 데이터 위치를 Lake Formation에 등록해야 합니다.

**추가 참고:**  
[Underlying data access control](access-control-underlying-data.md#data-location-permissions)

**Topics**
+ [데이터 위치 권한 부여(동일 계정)](granting-location-permissions-local.md)
+ [데이터 위치 권한 부여(외부 계정)](granting-location-permissions-external.md)
+ [계정과 공유되는 데이터 위치에 대한 권한 부여](regranting-locations.md)

# 데이터 위치 권한 부여(동일 계정)
<a name="granting-location-permissions-local"></a>

다음 단계에 따라 AWS 계정 내 보안 주체에 데이터 위치 권한을 부여합니다. Lake Formation 콘솔, API 또는 AWS Command Line Interface (AWS CLI)를 사용하여 권한을 부여할 수 있습니다.

------
#### [ AWS Management Console ]

**데이터 위치 권한을 부여하려면(동일 계정)**

1. [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) AWS Lake Formation 콘솔을 엽니다. 데이터 레이크 관리자 또는 원하는 데이터 위치에 대한 권한을 부여한 보안 주체로 로그인합니다.

1. 탐색 창의 **권한**에서 **데이터 위치**를 선택합니다.

1. **권한 부여**를 선택합니다.

1. **권한 부여** 대화 상자에서 **내 계정** 타일이 선택되어 있는지 확인합니다. 다음 정보를 제공합니다.
   + **IAM 사용자 및 역할**의 경우 보안 주체를 하나 이상 선택합니다.
   + **SAML 및 Amazon Quick 사용자 및 그룹의** 경우 SAML을 통해 페더레이션된 사용자 또는 그룹의 Amazon 리소스 이름(ARNs) 또는 Amazon Quick 사용자 또는 그룹의 ARNs 하나 이상 입력합니다.

     ARN을 한 번에 하나씩 입력하고 각 ARN을 입력한 후에 **Enter** 키를 누릅니다. ARN을 구성하는 방법에 대한 자세한 내용은 [Lake Formation 권한 부여 및 취소 AWS CLI 명령](lf-permissions-reference.md#perm-command-format) 섹션을 참조하세요.
   + **스토리지 위치**의 경우 **찾아보기**를 선택하고 Amazon Simple Storage Service(S3) 스토리지 위치를 선택합니다. 위치가 Lake Formation에 등록되어 있어야 합니다. 다른 위치를 추가하려면 **찾아보기**를 다시 선택합니다. 위치를 입력할 수도 있지만 위치 앞에 `s3://`를 추가해야 합니다.
   + **등록된 계정 위치에** 위치가 등록된 AWS 계정 ID를 입력합니다. 기본값은 사용자의 계정 ID입니다. 교차 계정 시나리오에서 수신자 계정의 데이터 레이크 관리자는 수신자 계정의 다른 보안 주체에게 데이터 위치 권한을 부여할 때 여기에서 소유자 계정을 지정할 수 있습니다.
   + (선택 사항) 선택한 보안 주체가 선택한 위치에 대한 데이터 위치 권한을 부여할 수 있도록 하려면 **부여 가능**을 선택합니다.  
![\[권한 부여 대화 상자에서 사용자 datalake_user와 스토리지 위치 s3://retail/transactions/q119가 선택됩니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/grant-location-dialog-local.png)

1. **권한 부여**를 선택합니다.

------
#### [ AWS CLI ]

**데이터 위치 권한을 부여하려면(동일 계정)**
+ `grant-permissions`명령을 실행하고 보안 주체에 `DATA_LOCATION_ACCESS` 권한을 부여하여 Amazon S3 경로를 리소스로 지정합니다.  
**Example**  

  다음 예제는 `s3://retail`에 대한 데이터 위치 권한을 사용자 `datalake_user1`에게 부여합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail"}}'
  ```  
**Example**  

  다음 예제는 `s3://retail`에 대한 데이터 위치 권한을 `ALLIAMPrincipals` 그룹에 부여합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail", "CatalogId": "111122223333"}}'
  ```

------

**추가 참고:**  
[Lake Formation 권한 참조](lf-permissions-reference.md)

# 데이터 위치 권한 부여(외부 계정)
<a name="granting-location-permissions-external"></a>

다음 단계에 따라 외부 AWS 계정 또는 조직에 데이터 위치 권한을 부여합니다.

Lake Formation 콘솔, API 또는 AWS Command Line Interface (AWS CLI)를 사용하여 권한을 부여할 수 있습니다.

**시작하기 전 준비 사항**  
모든 교차 계정 액세스 필수 조건이 충족되는지 확인합니다. 자세한 내용은 [사전 조건](cross-account-prereqs.md) 단원을 참조하십시오.

------
#### [ AWS Management Console ]

**데이터 위치 권한을 부여하려면(외부 계정, 콘솔)**

1. [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) AWS Lake Formation 콘솔을 엽니다. 데이터 레이크 관리자로 로그인합니다.

1. 탐색 창의 **권한**에서 **데이터 위치** 및 **권한 부여**를 차례로 선택합니다.

1. **권한 부여** 대화 상자에서 **외부 계정** 타일을 선택합니다.

1. 다음 정보를 제공합니다.
   + **AWS 계정 ID 또는 AWS 조직 ID**에 유효한 AWS 계정 번호, 조직 IDs 또는 조직 단위 IDs 입력합니다.

     각 ID를 입력한 후에 **Enter** 키를 누릅니다.

     조직 ID는 'o-'와 10\$132개의 소문자 또는 숫자로 구성됩니다.

     조직 단위 ID는 'ou-'와 4\$132개의 소문자 또는 숫자로 구성됩니다(OU가 포함된 루트의 ID). 이 문자열 뒤에는 두 번째 '-'(하이픈)과 8\$132개의 추가 소문자 또는 숫자가 옵니다.
   + **스토리지 위치**에서 **찾아보기**를 선택하고 Amazon Simple Storage Service(S3) 스토리지 위치를 선택합니다. 위치가 Lake Formation에 등록되어 있어야 합니다.  
![\[권한 부여 대화 상자에는 외부 계정 라디오 버튼이 선택되어 있고, AWS 계정이 지정되어 있으며, 스토리지 위치가 지정되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/grant-location-dialog-external.png)

1. **부여 가능**을 선택합니다.

1. **권한 부여**를 선택합니다.

------
#### [ AWS CLI ]

**데이터 위치 권한을 부여하려면(외부 계정 AWS CLI)**
+ 외부 AWS 계정에 권한을 부여하려면 다음과 유사한 명령을 입력합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333  --permissions "DATA_LOCATION_ACCESS" --permissions-with-grant-option "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"123456789012","ResourceArn":"arn:aws:s3::retail/transactions/2020q1"}}'
  ```

  이 명령은 권한 부여 옵션을 통해 계정 1234-5678-9012가 소유한 Amazon S3 위치 `s3://retail/transactions/2020q1`의 계정 1111-2222-3333에 `DATA_LOCATION_ACCESS` 권한을 부여합니다.

  조직에 권한을 부여하려면 다음과 유사한 명령을 입력합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "DATA_LOCATION_ACCESS" --permissions-with-grant-option "DATA_LOCATION_ACCESS" --resource '{"DataLocation": {"CatalogId":"123456789012","ResourceArn":"arn:aws:s3::retail/transactions/2020q1"}}'
  ```

  이 명령은 권한 부여 옵션을 통해 계정 1234-5678-9012가 소유한 Amazon S3 위치 `s3://retail/transactions/2020q1`의 계정 조직 `o-abcdefghijkl`에 `DATA_LOCATION_ACCESS` 권한을 부여합니다.

   외부 AWS 계정의 보안 주체에게 권한을 부여하려면 다음과 유사한 명령을 입력합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3::retail/transactions/2020q1", "CatalogId": "123456789012"}}'
  ```

  이 명령은 계정 1234-5678-9012가 소유한 Amazon S3 위치 `s3://retail/transactions/2020q1`의 계정 1111-2222-3333에 `DATA_LOCATION_ACCESS` 권한을 부여합니다.  
**Example**  

  다음 예제는 외부 계정의 `ALLIAMPrincipals` 그룹에 `s3://retail`에 대한 데이터 위치 권한을 부여합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail", "CatalogId": "123456789012"}}'
  ```

------

**추가 참고:**  
[Lake Formation 권한 참조](lf-permissions-reference.md)

# 계정과 공유되는 데이터 위치에 대한 권한 부여
<a name="regranting-locations"></a>

Data Catalog 리소스를 AWS 계정과 공유한 후 데이터 레이크 관리자는 계정의 다른 보안 주체에게 리소스에 대한 권한을 부여할 수 있습니다. 공유 테이블에 대한 `ALTER` 권한이 부여되고 테이블이 등록된 Amazon S3 위치를 가리키는 경우 해당 위치에 대한 데이터 위치 권한도 부여해야 합니다. 마찬가지로 공유 데이터베이스에 대한 `CREATE_TABLE` 또는 `ALTER` 권한이 부여되고 데이터베이스에 등록된 위치를 가리키는 위치 속성이 있는 경우 해당 위치에 대한 데이터 위치 권한도 부여해야 합니다.

계정의 보안 주체에 공유 위치에 대한 데이터 위치 권한을 부여하려면 권한 부여 옵션을 통해 계정에 해당 위치에 대한 `DATA_LOCATION_ACCESS` 권한이 부여되어 있어야 합니다. 그런 다음 계정의 다른 보안 주체`DATA_LOCATION_ACCESS`에게를 부여할 때 소유자 계정의 데이터 카탈로그 ID(AWS 계정 ID)를 포함해야 합니다. 소유자 계정은 위치를 등록한 계정입니다.

 AWS Lake Formation 콘솔, API 또는를 사용하여 AWS Command Line Interface (데이터 위치 권한을 부여AWS CLI 할 수 있습니다.

**계정과 공유되는 데이터 위치에 대한 권한을 부여하려면(콘솔)**
+ [데이터 위치 권한 부여(동일 계정)](granting-location-permissions-local.md) 섹션의 단계를 따르세요.

  **스토리지 위치**에는 위치를 입력해야 합니다. **등록된 계정 위치에** 소유자 AWS 계정의 계정 ID를 입력합니다.

**계정과 공유되는 데이터 위치에 대한 권한을 부여하려면(AWS CLI)**
+ 다음 명령 중 하나를 입력하여 사용자 또는 역할에 권한을 부여합니다.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name> --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"<owner-account-ID>","ResourceArn":"arn:aws:s3:::<s3-location>"}}'
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name> --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"<owner-account-ID>","ResourceArn":"arn:aws:s3:::<s3-location>"}}'
  ```