구독자를 위한 쿼리 액세스 관리 - Amazon Security Lake

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

구독자를 위한 쿼리 액세스 관리

쿼리 액세스 권한이 있는 구독자는 Security Lake가 수집하는 데이터를 쿼리할 수 있습니다. 이러한 구독자는 Amazon Athena와 같은 서비스를 사용하여 S3 버킷의 AWS Lake Formation 테이블을 직접 쿼리합니다. Security Lake의 기본 쿼리 엔진은 Athena이지만 AWS Glue Data Catalog와 통합되는 Amazon Redshift Spectrum 및 Spark SQL과 같은 다른 서비스를 사용할 수도 있습니다.

참고

이 섹션에서는 타사 구독자에게 쿼리 액세스 권한을 부여하는 방법을 설명합니다. 자체 데이터 레이크에 대해 쿼리 실행에 대한 자세한 내용은 4단계: 자체 데이터 보기 및 쿼리을 참조하세요.

쿼리 액세스 권한을 가진 구독자를 생성하기 위한 사전 조건

Security Lake에서 데이터 액세스 권한을 가진 구독자를 생성하려면 먼저 다음 사전 조건을 완료해야 합니다.

권한 확인

쿼리 액세스 권한이 있는 구독자를 생성하기 전에 다음 작업 목록을 수행할 권한이 있는지 확인하십시오.

권한을 확인하려면 IAM을 사용하여 IAM ID에 연결된 IAM 정책을 검토하십시오. 그런 다음 해당 정책의 정보를 쿼리 액세스 권한이 있는 구독자를 생성하기 위해 수행할 수 있어야 하는 다음 작업 목록과 비교하세요.

  • iam:CreateRole

  • iam:DeleteRolePolicy

  • iam:GetRole

  • iam:PutRolePolicy

  • lakeformation:GrantPermissions

  • lakeformation:ListPermissions

  • lakeformation:RegisterResource

  • lakeformation:RevokePermissions

  • ram:GetResourceShareAssociations

  • ram:GetResourceShares

  • ram:UpdateResourceShare

중요

권한을 확인한 후:

  • Security Lake 콘솔을 사용하여 쿼리 액세스 권한이 있는 구독자를 추가하려는 경우 다음 단계를 건너뛰고 Lake Formation 관리자 권한 부여로 진행하면 됩니다. Security Lake는 사용자를 대신하여 필요한 모든 IAM 역할을 생성하거나 기존 역할을 사용합니다.

  • Security Lake API 또는 CLI를 사용하여 쿼리 액세스 권한이 있는 구독자를 추가하려는 경우 다음 단계를 계속 진행하여 Security Lake 데이터를 쿼리하는 IAM 역할을 생성합니다.

시큐리티 레이크 데이터 (API 및 AWS CLI전용 단계) 를 쿼리할 IAM 역할을 생성합니다.

Security Lake API를 사용하거나 구독자에게 쿼리 액세스 권한을 AWS CLI 부여하려면 이름이 지정된 역할을 생성해야 합니다. AmazonSecurityLakeMetaStoreManager Security Lake는 이 역할을 사용하여 AWS Glue 파티션을 등록하고 AWS Glue 테이블을 업데이트합니다. 필요한 IAM 역할을 생성하는 동안 이 역할을 이미 생성했을 수 있습니다.

Lake Formation 관리자 권한 부여

또한 Security Lake 콘솔에 액세스하고 구독자를 추가하는 데 사용하는 IAM 역할에 Lake Formation 관리자 권한을 추가해야 합니다.

다음 단계에 따라 Lake Formation 관리자에게 역할에 권한을 부여할 수 있습니다.

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

  2. 관리 사용자로 로그인

  3. Welcome to Lake Formation 창이 나타나면 1단계에서 생성하거나 선택한 사용자를 선택한 다음 시작하기를 선택합니다.

  4. Welcome to Lake Formation 창이 표시되지 않는 경우 다음 단계를 수행하여 Lake Formation 관리자를 구성하십시오.

    1. 탐색 창의 권한에서 관리자 역할 및 작업을 선택합니다. 데이터 레이크 관리자 섹션에서 관리자 선택을 선택합니다.

    2. 데이터 레이크 관리자 관리 대화 상자의 IAM 사용자 및 역할에서 Security Lake 콘솔에 액세스할 때 사용하는 관리자 역할을 선택한 다음 저장을 선택합니다.

데이터 레이크 관리자의 권한 변경에 대한 자세한 내용은 AWS Lake Formation 개발자 가이드의 데이터 레이크 관리자 생성을 참조하십시오.

IAM 역할에는 구독자에게 액세스 권한을 부여하려는 데이터베이스 및 테이블에 대한 SELECT 권한이 있어야 합니다. 이 작업을 수행하는 방법에 대한 지침은 AWS Lake Formation 개발자 안내서명명된 리소스 방법을 사용하여 데이터 카탈로그 권한 부여를 참조하십시오.

쿼리 액세스 권한이 있는 구독자 만들기

선호하는 방법을 선택하여 현재 AWS 리전쿼리 액세스 권한이 있는 구독자를 생성하십시오. 구독자는 AWS 리전 해당 데이터가 생성된 데이터에서만 데이터를 쿼리할 수 있습니다. 구독자를 만들려면 구독자의 AWS 계정 ID와 외부 ID가 있어야 합니다. 외부 ID는 구독자가 사용자에게 제공하는 고유 식별자입니다. 외부 ID에 대한 자세한 내용은 IAM 사용 설명서의 제3자에게 AWS 리소스에 대한 액세스 권한을 부여할 때 외부 ID를 사용하는 방법을 참조하십시오.

참고

Security Lake는 Lake Formation 계정 간 데이터 공유 버전 1을 지원하지 않습니다. Lake Formation 크로스 계정 데이터 공유를 버전 2 또는 버전 3으로 업데이트해야 합니다. AWS Lake Formation 콘솔 또는 AWS CLI를 통해 교차 계정 버전 설정을 업데이트하는 단계는 AWS Lake Formation 개발자 안내서의 새 버전을 활성화하는 방법을 참조하십시오.

Console
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 관리자 계정에 로그인하기

  2. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 구독자를 생성할 지역을 선택합니다.

  3. 탐색 창에서 구독자를 선택합니다.

  4. 구독자 페이지에서 구독자 생성을 선택합니다.

  5. 구독자 세부 정보를 보려면 구독자 이름과 설명 (선택 사항)을 입력합니다.

    지역은 현재 선택한 대로 자동 AWS 리전 입력되며 수정할 수 없습니다.

  6. 로그 및 이벤트 소스의 경우 쿼리 결과를 반환할 때 Security Lake에 포함할 소스를 선택합니다.

  7. 데이터 액세스 방법에서 Lake Formation을 선택하여 구독자에 대한 쿼리 액세스를 생성합니다.

  8. 구독자 자격 증명의 경우 구독자 AWS 계정 ID와 외부 ID를 제공하십시오.

  9. (선택 사항) 태그에는 구독자에게 할당할 태그를 50개까지 입력합니다.

    태그는 특정 유형의 AWS 리소스에 정의하여 할당할 수 있는 레이블입니다. 각 태그는 필수 태그 키 및 선택적 태그 값으로 구성됩니다. 태그를 사용하면 다양한 방식으로 리소스를 식별, 분류 및 관리할 수 있습니다. 자세한 내용은 Amazon Security Lake 리소스에 태그 지정을 참조하십시오.

  10. 생성을 선택합니다.

API

프로그래밍 방식으로 쿼리 액세스 권한이 있는 구독자를 만들려면 Security Lake CreateSubscriberAPI의 작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 create-subscriber 명령을 실행하십시오.

요청 시 이러한 매개 변수를 사용하여 구독자에 대해 다음 설정을 지정하십시오.

  • accessTypes에서 LAKEFORMATION를 지정합니다.

  • sources에 대해 쿼리 결과를 반환할 때 Security Lake에 포함하려는 각 소스를 지정하십시오.

  • subscriberIdentity 경우 구독자가 소스 데이터를 쿼리하는 데 사용하는 AWS ID 및 외부 ID를 지정합니다.

다음 예제에서는 현재 AWS 지역에서 지정된 구독자 ID에 대한 쿼리 액세스 권한을 가진 구독자를 만듭니다. 이 예제는 Linux, macOS 또는 Unix용으로 포맷되었으며 가독성을 높이기 위해 백슬래시(\) 줄 연속 문자를 사용합니다.

$ aws securitylake create-subscriber \ --subscriber-identity {"accountID": 129345678912,"externalId": 123456789012} \ --sources [{awsLogSource: {sourceName: VPC_FLOW, sourceVersion: 2.0}}] \ --subscriber-name subscriber name \ --access-types LAKEFORMATION

계정 간 테이블 공유 설정 (구독자 단계)

Security Lake는 Lake Formation 크로스 계정 테이블 공유를 사용하여 구독자 쿼리 액세스를 지원합니다. Security Lake 콘솔, API 또는 AWS CLI에서 쿼리 액세스 권한을 가진 구독자를 생성하면 Security Lake는 AWS Resource Access Manager ()AWS RAM에서 리소스 공유를 생성하여 구독자와 관련 Lake Formation 테이블에 대한 정보를 공유합니다.

쿼리 액세스 권한이 있는 구독자를 특정 유형으로 편집하면 Security Lake에서 새 리소스 공유를 생성합니다. 자세한 정보는 쿼리 액세스 권한이 있는 구독자 편집을 참조하세요.

구독자는 다음 단계에 따라 Lake Formation 테이블의 데이터를 사용해야 합니다.

  1. 리소스 공유 수락 - 구독자는 구독자를 만들거나 편집할 때 생성되는 resourceShareArnresourceShareName을 지닌 해당 리소스 공유를 수락해야 합니다. 다음 방법 중 한 가지를 선택하세요.

    리소스 공유 초대는 12시간 후에 만료되므로 12시간 이내에 초대를 확인하고 수락해야 합니다. 초대장이 만료되어도 초대장은 특정 PENDING 상태로 계속 표시되지만 수락해도 공유 리소스에 액세스할 수 있는 권한은 없습니다. 12시간이 지난 경우 Lake Formation 구독자를 삭제하고 구독자를 다시 생성하여 새 리소스 공유 초대장을 받으세요.

  2. 공유 테이블에 대한 리소스 링크 생성 - 구독자는 AWS Lake Formation (콘솔을 사용하는 경우) 또는 AWS Glue (API/AWS CLI를 사용하는 경우) 공유 Lake Formation 테이블에 대한 리소스 링크를 생성해야 합니다. 이 리소스 링크는 구독자 계정을 공유 테이블로 연결합니다. 다음 액세스 방법 중 한 가지를 선택하세요.

  3. 공유 테이블 쿼리 — Amazon Athena와 같은 서비스는 테이블을 직접 참조할 수 있으며 Security Lake가 수집하는 새 데이터를 자동으로 쿼리할 수 있습니다. 쿼리는 구독자 내에서 AWS 계정실행되며 쿼리로 인해 발생한 비용은 구독자에게 청구됩니다. 자신의 Security Lake 계정에 있는 리소스에 대한 읽기 액세스를 제어할 수 있습니다.

계정 간 권한 부여에 대한 자세한 내용은 AWS Lake Formation 개발자 안내서Lake Formation에서의 계정 간 데이터 공유를 참조하십시오.

쿼리 액세스 권한이 있는 구독자 편집

Security Lake는 쿼리 액세스 권한이 있는 구독자를 편집할 수 있도록 지원합니다. 구독자의 이름, 설명, 외부 ID, 주체 (AWS 계정 ID) 및 구독자가 사용할 수 있는 로그 소스를 편집할 수 있습니다. 원하는 방법을 선택하고 단계에 따라 현재 AWS 리전내 쿼리 액세스 권한이 있는 구독자를 편집하십시오.

참고

Security Lake는 Lake Formation 계정 간 데이터 공유 버전 1을 지원하지 않습니다. Lake Formation 크로스 계정 데이터 공유를 버전 2 또는 버전 3으로 업데이트해야 합니다. AWS Lake Formation 콘솔 또는 AWS CLI를 통해 교차 계정 버전 설정을 업데이트하는 단계는 AWS Lake Formation 개발자 안내서의 새 버전을 활성화하는 방법을 참조하십시오.

Console

편집하려는 세부 정보에 따라 해당 작업에 대해 제공된 단계만 따르십시오.

구독자 이름을 편집하려면
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 관리자 계정에 로그인하기

  2. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 구독자 세부 정보를 편집할 지역을 선택합니다.

  3. 탐색 창에서 구독자를 선택합니다.

  4. 구독자 페이지에서 라디오 버튼을 사용하여 편집하려는 구독자를 선택합니다. 선택한 구독자의 데이터 액세스 방법LAKEFORMATION이어야 합니다.

  5. 편집을 선택합니다.

  6. 구독자 이름을 입력하고 저장을 선택합니다.

구독자 설명을 편집하려면
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 관리자 계정에 로그인하기

  2. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 구독자를 편집할 지역을 선택합니다.

  3. 탐색 창에서 구독자를 선택합니다.

  4. 구독자 페이지에서 라디오 버튼을 사용하여 편집하려는 구독자를 선택합니다. 선택한 구독자의 데이터 액세스 방법LAKEFORMATION이어야 합니다.

  5. 편집을 선택합니다.

  6. 구독자에 대한 새 설명을 입력하고 저장을 선택합니다.

외부 ID를 편집하려면
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 관리자 계정에 로그인하기

  2. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 구독자 세부 정보를 편집할 지역을 선택합니다.

  3. 탐색 창에서 구독자를 선택합니다.

  4. 구독자 페이지에서 라디오 버튼을 사용하여 편집하려는 구독자를 선택합니다. 선택한 구독자의 데이터 액세스 방법LAKEFORMATION이어야 합니다.

  5. 편집을 선택합니다.

  6. 구독자가 제공한 새 외부 ID를 입력하고 저장을 선택합니다.

    새 외부 ID를 저장하면 이전 AWS RAM 리소스 공유가 자동으로 제거되고 구독자를 위한 새 리소스 공유가 만들어집니다.

  7. 구독자는 계정 간 테이블 공유 설정 (구독자 단계)의 1단계에 따라 새 리소스 공유를 수락해야 합니다. 구독자 세부 정보에 표시되는 Amazon 리소스 이름(ARN) 이 Lake Formation 콘솔과 동일한지 확인하십시오. 공유 테이블에 대한 리소스 링크는 그대로 유지되므로 구독자는 새 리소스 링크를 생성할 필요가 없습니다.

보안 주체 (AWS 계정 ID) 를 편집하려면
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 관리자 계정에 로그인하기

  2. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 구독자 세부 정보를 편집할 지역을 선택합니다.

  3. 탐색 창에서 구독자를 선택합니다.

  4. 구독자 페이지에서 라디오 버튼을 사용하여 편집하려는 구독자를 선택합니다. 선택한 구독자의 데이터 액세스 방법LAKEFORMATION이어야 합니다.

  5. 편집을 선택합니다.

  6. 구독자의 새 AWS 계정 ID를 입력하고 저장을 선택합니다.

    새 계정 ID를 저장하면 이전 AWS RAM 리소스 공유가 자동으로 제거되므로 이전 보안 주체가 로그 및 이벤트 소스를 사용할 수 없습니다. Security Lake는 새 리소스 공유를 생성합니다.

  7. 구독자는 새 보안 주체의 자격 증명을 사용하여 새 리소스 공유를 수락하고 공유 테이블에 대한 리소스 링크를 생성해야 합니다. 이렇게 하면 새 보안 주체가 공유 리소스에 액세스할 수 있습니다. 지침은 계정 간 테이블 공유 설정 (구독자 단계)의 1 및 2단계를 참조하십시오. 구독자 세부 정보에 표시되는 ARN이 Lake Formation 콘솔에 표시되는 ARN과 동일한지 확인하십시오.

로그 및 이벤트 소스를 편집하려면
  1. Security Lake 콘솔(https://console.aws.amazon.com/securitylake/)을 엽니다.

    위임된 관리자 계정에 로그인하기

  2. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 구독자 세부 정보를 편집할 지역을 선택합니다.

  3. 탐색 창에서 구독자를 선택합니다.

  4. 구독자 페이지에서 라디오 버튼을 사용하여 편집하려는 구독자를 선택합니다. 선택한 구독자의 데이터 액세스 방법LAKEFORMATION이어야 합니다.

  5. 편집을 선택합니다.

  6. 기존 소스를 선택 취소하거나 추가하려는 소스를 선택합니다. 소스를 선택 취소하면 사용자가 추가 조치를 취하지 않아도 됩니다. 소스를 추가하도록 선택하면 새 리소스 공유 초대가 생성되지 않습니다. 하지만 Security Lake는 추가된 소스를 기반으로 공유 Lake Formation 테이블을 업데이트합니다. 구독자는 업데이트된 공유 테이블에 대한 리소스 링크를 생성해야 소스 데이터를 쿼리할 수 있습니다. 지침은 계정 간 테이블 공유 설정 (구독자 단계)의 2단계를 참조하십시오.

  7. 저장을 선택합니다.

API

쿼리 액세스 권한이 있는 구독자를 프로그래밍 방식으로 편집하려면 Security Lake API의 UpdateSubscriber작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 update-subscriber 명령을 실행하십시오. 요청 시 지원되는 파라미터를 사용하여 구독자에 대해 다음 설정을 지정하십시오.

  • subscriberName의 경우 새 구독자 이름을 지정합니다.

  • subscriberDescription의 경우 새 설명을 지정합니다.

  • subscriberIdentity 경우 구독자가 소스 데이터를 쿼리하는 데 사용할 주체 (AWS 계정 ID) 및 외부 ID를 지정합니다. 주체 ID와 외부 ID를 모두 제공해야 합니다. 이러한 값 중 하나를 동일하게 유지하려면 현재 값을 전달하십시오.

    • 외부 ID만 업데이트 - 이 작업을 수행하면 이전 AWS RAM 리소스 공유가 제거되고 구독자를 위한 새 리소스 공유가 생성됩니다. 구독자는 계정 간 테이블 공유 설정 (구독자 단계)의 1단계에 따라 새 리소스 공유를 수락해야 합니다. 공유 테이블에 대한 리소스 링크는 그대로 유지되므로 구독자는 새 리소스 링크를 생성할 필요가 없습니다.

    • 보안 주체만 업데이트 - 이 작업을 수행하면 이전 AWS RAM 리소스 공유가 제거되므로 이전 보안 주체가 로그 및 이벤트 소스를 사용할 수 없습니다. Security Lake는 새 리소스 공유를 생성합니다. 구독자는 새 보안 주체의 자격 증명을 사용하여 새 리소스 공유를 수락하고 공유 테이블에 대한 리소스 링크를 생성해야 합니다. 이렇게 하면 새 보안 주체가 공유 리소스에 액세스할 수 있습니다. 지침은 계정 간 테이블 공유 설정 (구독자 단계)의 1 및 2단계를 참조하십시오.

    외부 ID 보안 주체를 업데이트하려면 계정 간 테이블 공유 설정 (구독자 단계)의 1단계와 2단계를 따르세요.

  • sources의 경우, 기존 소스를 제거하거나 추가하려는 소스를 지정하십시오. 소스를 삭제하면 추가 조치가 필요하지 않습니다. 소스를 추가하면 새 리소스 공유 초대가 생성되지 않습니다. 하지만 Security Lake는 추가된 소스를 기반으로 공유 Lake Formation 테이블을 업데이트합니다. 구독자는 업데이트된 공유 테이블에 대한 리소스 링크를 생성해야 소스 데이터를 쿼리할 수 있습니다. 지침은 계정 간 테이블 공유 설정 (구독자 단계)의 2단계를 참조하십시오.