Security Lake 구독자의 데이터 액세스 관리 - Amazon Security Lake

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

Security Lake 구독자의 데이터 액세스 관리

Amazon Security Lake의 원본 데이터에 대한 데이터 액세스 권한이 있는 구독자는 데이터가 S3 버킷에 기록될 때 원본의 새 객체에 대한 알림을 받습니다. 기본적으로 구독자는 자신이 제공하는 HTTPS 엔드포인트를 통해 새 객체에 대한 알림을 받습니다. Amazon Simple Queue Service(Amazon SQS) 대기열을 폴링하여 구독자에게 새 객체에 대한 알림을 받을 수도 있습니다.

데이터에 액세스할 수 있는 구독자를 생성하기 위한 사전 요구 사항

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

위의 목록 외에도 다음 작업을 수행할 수 있는 권한이 필요합니다.

  • events:CreateApiDestination

  • events:CreateConnection

  • events:DescribeRule

  • events:ListApiDestinations

  • events:ListConnections

  • events:PutRule

  • events:PutTargets

  • s3:GetBucketNotification

  • s3:PutBucketNotification

  • sqs:CreateQueue

  • sqs:DeleteQueue

  • sqs:GetQueueAttributes

  • sqs:GetQueueUrl

  • sqs:SetQueueAttributes

구독자의 외부 ID 가져오기

구독자를 만들려면 구독자 ID와 별도로 외부 AWS 계정 ID도 가져와야 합니다. 외부 ID는 구독자가 제공하는 고유 식별자입니다. Security Lake는 생성한 구독자 IAM 역할에 외부 ID를 추가합니다. 외부 ID는 Security Lake 콘솔에서 구독자를 생성할 때, API 또는 AWS CLI를 통해 사용합니다.

외부 ID에 대한 자세한 내용은 IAM 사용 설명서의 제3자에게 AWS 리소스에 대한 액세스 권한을 부여할 때 외부 ID를 사용하는 방법을 참조하십시오.

중요

Security Lake 콘솔을 사용하여 구독자를 추가하려는 경우 다음 단계를 건너뛰고 데이터에 액세스할 수 있는 구독자 만들기 단원으로 진행하면 됩니다. Security Lake 콘솔은 간소화된 시작 프로세스를 제공하며, 필요한 모든 IAM 역할을 생성하거나 사용자 대신 기존 역할을 사용합니다.

Security Lake API를 사용하거나 구독자를 AWS CLI 추가하려는 경우 다음 단계를 계속 진행하여 API 대상을 호출하는 IAM 역할을 생성하십시오. EventBridge

EventBridge API 대상 (API 및 전용 단계) 을 호출하기 위한 IAM 역할 생성 AWS CLI

API 또는 를 통해 Security Lake를 사용하는 경우 AWS CLI, Amazon에 API 대상을 호출하고 올바른 HTTPS 엔드포인트로 객체 알림을 전송할 수 있는 EventBridge 권한을 부여하는 역할 AWS Identity and Access Management (IAM) 을 생성하십시오.

IAM 역할을 정의한 후에는 역할의 Amazon 리소스 이름(ARN)이 있어야 구독자를 생성합니다. 구독자가 Amazon Simple Queue Service (Amazon SQS) 대기열에서 데이터를 폴링하거나 AWS Lake Formation에서 데이터를 직접 쿼리하는 경우에는 이 IAM 역할이 필요하지 않습니다. 이런 종류의 데이터 액세스 방법 (액세스 유형) 에 대한 자세한 정보는 구독자를 위한 쿼리 액세스 관리을 참조하십시오.

다음과 같은 정책을 IAM 역할에 연결합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowInvokeApiDestination", "Effect": "Allow", "Action": [ "events:InvokeApiDestination" ], "Resource": [ "arn:aws:events:{us-west-2}:{123456789012}:api-destination/AmazonSecurityLake*/*" ] } ] }

다음 신뢰 정책을 IAM 역할에 연결하여 역할을 맡을 수 있도록 EventBridge 허용하십시오.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEventBridgeToAssume", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Security Lake는 구독자가 데이터 레이크에서 데이터를 읽을 수 있도록 허용하는 IAM 역할을 자동으로 생성합니다 (또는 선호하는 알림 방법인 경우 Amazon SQS 대기열에서 이벤트를 폴링할 수 있음). 이 역할은 라는 AWS AmazonSecurityLakePermissionsBoundary관리형 정책으로 보호됩니다.

데이터에 액세스할 수 있는 구독자 만들기

다음 액세스 방법 중 하나를 선택하여 현재 AWS 리전데이터에 액세스할 수 있는 구독자를 생성합니다.

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

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

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

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

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

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

  6. 로그 및 이벤트 소스의 경우 구독자에게 사용 권한이 부여된 소스를 선택합니다.

  7. 데이터 액세스 방법에서 S3를 선택하여 구독자에 대한 데이터 액세스를 설정합니다.

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

  9. (선택 사항) 알림 세부 정보에서 구독자가 객체 알림을 위해 폴링할 수 있는 Amazon SQS 대기열을 Security Lake에서 생성하도록 하려면 SQS 대기열을 선택하십시오. Security Lake가 HTTPS 엔드포인트로 알림을 EventBridge 보내도록 하려면 구독 엔드포인트를 선택합니다.

    구독 엔드포인트를 선택하는 경우 다음 작업도 수행하십시오.

    1. 구독 엔드포인트를 입력합니다. http://example.com등 유효한 엔드포인트 형식의 예는 다음과 같습니다. 선택적으로 HTTPS 키 이름HTTPS 키 값을 제공할 수도 있습니다.

    2. 서비스 액세스의 경우 새 IAM 역할을 생성하거나 API 대상을 호출하고 올바른 엔드포인트로 객체 알림을 전송할 수 있는 EventBridge 권한을 부여하는 기존 IAM 역할을 사용하십시오.

      새 IAM 역할을 생성하는 방법에 대한 자세한 내용은 API 대상을 호출하기 위한 IAM 역할 생성을 참조하십시오. EventBridge

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

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

  11. 생성을 선택합니다.

API

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

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

  • sources의 경우 구독자가 액세스할 수 있는 각 소스를 지정하십시오.

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

  • subscriber-name 경우 구독자 이름을 지정합니다.

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

예 1

다음 예제에서는 소스의 지정된 구독자 ID에 대해 현재 AWS 지역의 데이터에 액세스할 수 있는 구독자를 만듭니다. AWS

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

예제 2

다음 예제에서는 사용자 지정 소스의 지정된 구독자 ID에 대해 현재 AWS 지역의 데이터에 액세스할 수 있는 구독자를 만듭니다.

$ aws securitylake create-subscriber \ --subscriber-identity {"accountID": 1293456789123,"externalId": 123456789012} \ --sources [{customLogSource: {sourceName: custom-source-name, sourceVersion: 2.0}}] \ --subscriber-name subscriber name --access-types S3

위의 예제는 Linux, macOS 또는 Unix용으로 포맷되었으며 가독성을 높이기 위해 백슬래시 (\) 줄 연속 문자를 사용합니다.

(선택 사항) 구독자를 만든 후에는 CreateSubscriber알림 작업을 사용하여 구독자가 액세스하도록 하려는 소스의 데이터 레이크에 새 데이터가 기록될 때 구독자에게 알리는 방법을 지정합니다. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 create-subscriber-notification 명령을 실행하십시오.

  • 기본 알림 방법(HTTPS 엔드포인트)을 재정의하고 Amazon SQS 대기열을 생성하려면 sqsNotificationConfiguration 파라미터 값을 지정하세요.

  • HTTPS 엔드포인트를 통한 알림을 선호하는 경우 httpsNotificationConfiguration 파라미터 값을 지정하십시오.

  • targetRoleArn필드에 API 대상을 EventBridge 호출하기 위해 생성한 IAM 역할의 ARN을 지정합니다.

$ aws securitylake create-subscriber-notification \ --subscriber-id "12345ab8-1a34-1c34-1bd4-12345ab9012" \ --configuration httpsNotificationConfiguration={"targetRoleArn"="arn:aws:iam::XXX:role/service-role/RoleName", "endpoint"="https://account-management.$3.$2.securitylake.aws.dev/v1/datalake"}

이를 가져오려면 subscriberID 시큐리티 레이크 ListSubscribersAPI의 작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 list-subscriber 명령을 실행하십시오.

$ aws securitylake list-subscribers

이후에 구독자의 알림 방법 (Amazon SQS 대기열 또는 HTTPS 엔드포인트) 을 변경하려면 UpdateSubscriber알림 작업을 사용하거나, 를 사용하는 경우 update-subscriber-notification 명령을 실행하십시오. AWS CLI Security Lake 콘솔을 사용하여 알림 방법을 변경할 수도 있습니다. 구독자 페이지에서 구독자를 선택한 다음 편집을 선택합니다.

샘플 객체 알림 메시지의 예

{ "source": "aws.s3", "time": "2021-11-12T00:00:00Z", "account": "123456789012", "region": "ca-central-1", "resources": [ "arn:aws:s3:::example-bucket" ], "detail": { "bucket": { "name": "example-bucket" }, "object": { "key": "example-key", "size": 5, "etag": "b57f9512698f4b09e608f4f2a65852e5" }, "request-id": "N4N7GDK58NMKJ12R", "requester": "securitylake.amazonaws.com" } }

데이터 구독자 업데이트

구독자가 소비하는 소스를 변경하여 구독자를 업데이트할 수 있습니다. 구독자에게 태그를 할당하거나 편집할 수도 있습니다. 태그는 구독자를 비롯한 특정 유형의 리소스에 정의하여 할당할 수 있는 레이블입니다. AWS 자세한 내용은 Amazon Security Lake 리소스에 태그 지정 섹션을 참조하세요.

액세스 방법 중 하나를 선택하고 다음 단계에 따라 기존 구독의 새 소스를 정의하십시오.

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

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

  3. 구독자를 선택합니다.

  4. 편집을 선택한 후 다음 중 하나를 수행하십시오.

    • 구독자의 소스를 업데이트하려면 로그 및 이벤트 소스 섹션에 새 설정을 입력합니다.

    • 구독자에게 태그를 할당하거나 편집하려면 태그 섹션에서 필요에 따라 태그를 변경합니다.

  5. 마쳤으면 저장을 선택합니다.

API

구독자의 데이터 액세스 소스를 프로그래밍 방식으로 업데이트하려면 Security Lake UpdateSubscriberAPI의 작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 update-subscriber 명령을 실행하십시오. 요청 시 sources 파라미터를 사용하여 구독자가 액세스할 수 있는 각 소스를 지정하십시오.

$ aws securitylake update-subscriber --subscriber-id subscriber ID

특정 AWS 계정 또는 조직과 관련된 구독자 목록을 보려면 작업을 사용하십시오. ListSubscribers AWS Command Line Interface (AWS CLI) 를 사용하는 경우 list-subscripers 명령을 실행하세요.

$ aws securitylake list-subscribers

특정 구독자의 현재 설정을 검토하려면 GetSubscriber작업을 사용하십시오. get-subscriber 명령을 실행합니다. 그런 다음 Security Lake는 구독자의 이름과 설명, 외부 ID 및 추가 정보를 반환합니다. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 get-subscriber 명령을 실행하십시오.

구독자의 알림 메서드를 업데이트하려면 알림 작업을 사용합니다. UpdateSubscriber AWS Command Line Interface (AWS CLI) 를 사용하는 경우 update-subscriber-notification 명령을 실행하십시오. 예를 들어 구독자를 위해 새 HTTPS 엔드포인트를 지정하거나 HTTPS 엔드포인트에서 Amazon SQS 대기열로 전환할 수 있습니다.

데이터 구독자 제거

구독자가 Security Lake의 데이터를 더 이상 사용하지 않도록 하려면 다음 단계에 따라 구독자를 제거할 수 있습니다.

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

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

  3. 제거할 구독자를 선택합니다.

  4. 삭제(Delete)를 선택하고 작업을 확인합니다. 그러면 구독자 및 모든 관련 알림 설정이 삭제됩니다.

API

시나리오에 따라 다음 중 하나를 수행합니다.

  • 구독자 및 모든 관련 알림 설정을 삭제하려면 Security Lake API의 작업을 사용하십시오. DeleteSubscriber AWS Command Line Interface (AWS CLI) 를 사용하는 경우 구독자 삭제 명령을 실행하십시오.

  • 구독자는 유지하되 구독자에 대한 향후 알림을 중지하려면 Security Lake API의 DeleteSubscriber알림 작업을 사용하십시오. AWS Command Line Interface (AWS CLI) 를 사용하는 경우 구독자-알림 삭제 명령을 실행하십시오.