

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

# AWS Glue 연결을 사용하여 페더레이션 카탈로그 생성
<a name="create-fed-catalog-data-source"></a>

 를 외부 데이터 소스 AWS Glue Data Catalog 에 연결하려면 외부 데이터 소스와의 통신을 활성화하는 연결을 사용해야 AWS Glue 합니다. AWS Glue 콘솔, 연결 API AWS Glue 생성 및 Amazon SageMaker Lakehouse 콘솔을 사용하여 [연결을](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateConnection.html) 생성할 수 있습니다.

 AWS Glue 연결을 생성하기 위한 단계별 지침은 AWS Glue 개발자 안내서의 [데이터에 연결](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) 또는 [ Amazon SageMaker Lakehouse에서 연결 생성을](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html) 참조하세요.

사용자가 페더레이션 테이블에서 쿼리를 실행하면 Lake Formation은 AWS Glue 연결에 지정된 AWS Lambda 함수를 호출하여 데이터 소스에서 메타데이터 객체를 검색하는 자격 증명을 제공합니다.

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

**외부 데이터 소스에서 페더레이션 카탈로그를 생성하고 권한을 설정하려면(콘솔)**

1. Lake Formation 콘솔([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/))을 엽니다.

1. 탐색 창의 **Data Catalog**에서 **카탈로그**를 선택합니다.

1. **카탈로그 생성** 옵션을 선택합니다.

1. **카탈로그 설정** 세부 정보 페이지에서 다음 정보를 입력합니다.  
![옵션이 있는 카탈로그 생성 페이지입니다.](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/create-glue-connection-catalog.png)
   + **이름** - 페더레이션 카탈로그의 고유한 이름입니다. 이름은 변경할 수 없으며 소문자여야 합니다. 이름은 계정 내에서 최대 255자까지 입력할 수 있습니다.
   + **유형** - 카탈로그 유형으로 페더레이션 카탈로그를 선택합니다.
   + **소스** - 드롭다운에서 데이터 소스를 선택합니다. 연결을 생성한 데이터 소스가 표시됩니다. 외부 데이터 소스에 대한 AWS Glue 연결 생성에 대한 자세한 내용은 AWS Glue 개발자 안내서의 [커넥터에 대한 연결 생성](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) 또는 [ Amazon SageMaker Lakehouse에서 연결 생성을](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html) 참조하세요.
   + **연결** - 데이터 소스에 대한 기존 AWS Glue 연결을 선택합니다.
   + **설명** - 데이터 소스에서 생성된 카탈로그에 대한 설명을 입력합니다.

1. **IAM 역할**을 선택하여 Lake Formation이 데이터 소스로부터 데이터에 액세스하기 위해 쿼리 엔진에 대한 자격 증명을 제공할 IAM 역할을 선택합니다. 이 역할에는 AWS Glue 연결에 액세스하고 Lambda 함수를 호출하여 외부 데이터 소스의 데이터에 액세스하는 데 필요한 권한이 있어야 합니다.

   IAM 콘솔에서 **새 역할을 생성**할 수도 있습니다.

   필요한 권한은 [Data Catalog를 외부 데이터 소스에 연결하기 위한 사전 조건](connect-data-source-prerequisites.md) 섹션을 참조하세요.

1.  Athena가 페더레이션 쿼리를 실행할 수 있도록 **커넥터를 활성화하여 데이터 소스에 연결** 옵션을 선택합니다.

   지원되는 커넥터 목록은 Amazon Athena 사용 설명서에서 [연결 등록](https://docs.aws.amazon.com/athena/latest/ug/register-connection-as-gdc.html)을 참조하세요.

1. **암호화 옵션** – 카탈로그를 암호화하기 위해 사용자 지정 키를 사용하려면 **암호화 설정 사용자 지정** 옵션을 선택합니다. 사용자 지정 키를 사용하려면 KMS 키에 사용자 지정 관리형 키 정책을 추가해야 합니다.

1. **다음**을 선택하여 다른 보안 주체에게 권한을 부여합니다.

1. **권한 부여** 페이지에서 **권한 추가**를 선택합니다.

1.  **권한 추가** 화면에서 부여할 보안 주체와 권한 유형을 선택합니다.  
![보안 주체 유형 및 권한 부여 옵션이 있는 카탈로그 권한 페이지입니다.](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/catalog-permissions.png)
   +  **보안 주체** 섹션에서 보안 주체 유형을 선택한 다음 권한을 부여할 보안 주체를 지정합니다.
     + **IAM 사용자 및 역할** - IAM 사용자 및 역할 목록에서 한 명 이상의 사용자 또는 역할을 선택합니다.
     + **SAML 사용자 및 그룹** - SAML 및 Amazon Quick 사용자 및 그룹의 경우 SAML을 통해 페더레이션된 사용자 또는 그룹의 경우 하나 이상의 Amazon 리소스 이름(ARNs)을 입력하고 Amazon Quick 사용자 또는 그룹의 경우 ARNs 입력합니다. 각 ARN을 입력한 후에 **Enter** 키를 누릅니다.
   +  **권한** 섹션에서 권한 및 부여 가능한 권한을 선택합니다.

     **카탈로그 권한**에서 부여할 권한을 하나 이상 선택합니다.

     **슈퍼 유저**를 선택하면 카탈로그 내의 모든 리소스에 대한 무제한 관리 권한을 부여할 수 있습니다.

      **부여 가능한 권한**에서 권한 부여 수신자가 AWS 계정의 다른 보안 주체에게 부여할 수 있는 권한을 선택합니다. 외부 계정에서 IAM 보안 주체에 권한을 부여하는 경우에는 이 옵션이 지원되지 않습니다.

1. **다음**을 선택하여 정보를 검토하고 카탈로그를 생성합니다. **카탈로그** 목록에는 페더레이션 새 카탈로그가 표시됩니다.

   **데이터 위치** 목록에는 새로 등록된 페더레이션 연결이 표시됩니다.  
![데이터 위치는 페더레이션 연결과 함께 나열됩니다.](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/federated_data_lake_location.png)

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

**외부 데이터 소스에서 페더레이션 카탈로그를 생성하고 권한을 설정하려면**

1.  다음 예제에서는 AWS Glue 연결을 생성하는 방법을 보여줍니다.

   ```
   aws glue create-connection 
     --connection-input \
         '{
            "Name": {{"DynamoDB connection"}},
            "ConnectionType": {{"DYNAMODB"}},
            "Description": {{"A connection created for DynamoDB"}},
            "ConnectionProperties": {},
            "AthenaProperties": "spill_prefix": {{"your_spill_prefix"}},
            "lambda_function_arn": {{"Lambda_function_arn"}},
            "spill_bucket": {{"Your_Bucket_name"}},
            "AuthenticationConfiguration": {}
         }'
   ```

1.  다음 예제에서는 Lake Formation에 AWS Glue 연결을 등록하는 방법을 보여줍니다.

   ```
   aws lakeformation register-resource 
     --cli-input-json \
       {"ResourceArn":{{"arn:aws:glue:us-east-1:123456789012:connection/dynamo","RoleArn":"arn:aws:iam::123456789012:role/AdminTelemetry"}},"WithFederation":true}
   ```

1.  다음 예제는 페더레이션 카탈로그를 생성하는 방법을 보여줍니다.

   ```
   aws glue create-catalog 
    --cli-input-json \
         '{
          "Name":"ddbcatalog",
          "CatalogInput":{"CatalogProperties":{"DataLakeAccessProperties":{"DataTransferRole":"arn:aws:iam::123456789012:role/{{role name}}"}},
          "CreateDatabaseDefaultPermissions":[],
          "CreateTableDefaultPermissions":[],
          "FederatedCatalog":{"ConnectionName":"dynamo","Identifier":"dynamo"}
            }
          }'
   ```

------