를 사용한 Security Lake 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

를 사용한 Security Lake 예제 AWS CLI

다음 코드 예제에서는 Security Lake와 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 create-aws-logsource을 사용하는 방법을 보여 줍니다.

AWS CLI

기본적으로 지원되는 Amazon Web Service를 Amazon Security Lake 소스로 추가하려면

다음 create-aws-logsource 예제에서는 지정된 계정 및 리전에서 VPC 흐름 로그를 Security Lake 소스로 추가합니다.

aws securitylake create-aws-log-source \ --sources '[{"regions": ["us-east-1"], "accounts": ["123456789012"], "sourceName": "SH_FINDINGS", "sourceVersion": "2.0"}]'

출력:

{ "failed": [ "123456789012" ] }

자세한 내용은 Amazon Security Lake 사용 설명서소스로 AWS 서비스 추가를 참조하세요.

다음 코드 예시에서는 create-custom-logsource을 사용하는 방법을 보여 줍니다.

AWS CLI

사용자 지정 소스를 Amazon Security Lake 소스로 추가하려면

다음 create-custom-logsource 예제에서는 사용자 지정 소스를 지정된 로그 공급자 계정과 지정된 리전에 Security Lake 소스로 추가합니다.

aws securitylake create-custom-log-source \ --source-name "VPC_FLOW" \ --event-classes '["DNS_ACTIVITY", "NETWORK_ACTIVITY"]' \ --configuration '{"crawlerConfiguration": {"roleArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4"},"providerIdentity": {"principal": "029189416600","externalId": "123456789012"}}' --region "us-east-1"

출력:

{ "customLogSource": { "attributes": { "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4", "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/E1WG1ZNPRXT0D4", "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/E1WG1ZNPRXT0D4" }, "provider": { "location": "DOC-EXAMPLE-BUCKET--usw2-az1--x-s3", "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-Provider-testCustom2-eu-west-2" }, "sourceName": "testCustom2" "sourceVersion": "2.0" } }

자세한 내용은 Amazon Security Lake 사용 설명서사용자 지정 소스 추가를 참조하세요.

다음 코드 예시에서는 create-data-lake-exception-subscription을 사용하는 방법을 보여 줍니다.

AWS CLI

Security Lake 예외 알림을 보내려면

다음 create-data-lake-exception-subscription 예제에서는 SMS 전송을 통해 Security Lake 예외 알림을 지정된 계정으로 전송합니다. 예외 메시지는 지정된 기간 동안 유지됩니다.

aws securitylake create-data-lake-exception-subscription \ --notification-endpoint "123456789012" \ --exception-time-to-live 30 \ --subscription-protocol "sms"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 문제 해결을 참조하세요.

다음 코드 예시에서는 create-data-lake-organization-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

새 조직 계정에서 Security Lake를 구성하려면

다음 create-data-lake-organization-configuration 예제에서는 Security Lake와 새 조직 계정에서 지정된 소스 이벤트 및 로그의 수집을 활성화합니다.

aws securitylake create-data-lake-organization-configuration \ --auto-enable-new-account '[{"region":"us-east-1","sources":[{"sourceName":"SH_FINDINGS","sourceVersion": "1.0"}]}]'

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서AWS Organizations를 사용하여 여러 계정 관리를 참조하세요.

다음 코드 예시에서는 create-data-lake을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 여러 리전에서 데이터 레이크를 구성하려면

다음 create-data-lake 예제에서는 여러 AWS 리전에서 Amazon Security Lake를 활성화하고 데이터 레이크를 구성합니다.

aws securitylake create-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]' \ --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"

출력:

{ "dataLakes": [ { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-1:522481757177:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "S3_MANAGED_KEY" }, "lifecycleConfiguration": { "expiration": { "days": 365 }, "transitions": [ { "days": 60, "storageClass": "ONEZONE_IA" } ] }, "region": "us-east-1", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-gnevt6s8z7bzby8oi3uiaysbr8v2ml", "updateStatus": { "exception": {}, "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", "status": "INITIALIZED" } }, { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "S3_MANAGED_KEY" }, "lifecycleConfiguration": { "expiration": { "days": 365 }, "transitions": [ { "days": 60, "storageClass": "ONEZONE_IA" } ] }, "region": "us-east-2", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", "updateStatus": { "exception": {}, "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", "status": "INITIALIZED" } } ] }

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 시작하기를 참조하세요.

예제 2: 단일 리전에서 데이터 레이크를 구성하려면

다음 create-data-lake 예제에서는 단일 AWS 리전에서 Amazon Security Lake를 활성화하고 데이터 레이크를 구성합니다.

aws securitylake create-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":30,"storageClass":"GLACIER"}]}}]' \ --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"

출력:

{ "dataLakes": [ { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, "lifecycleConfiguration": { "expiration": { "days": 500 }, "transitions": [ { "days": 30, "storageClass": "GLACIER" } ] }, "region": "us-east-2", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", "updateStatus": { "exception": {}, "requestId": "77702a53-dcbf-493e-b8ef-518e362f3003", "status": "INITIALIZED" } } ] }

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 시작하기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateDataLake를 참조하세요.

다음 코드 예시에서는 create-subscriber-data-access을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 액세스 권한이 있는 구독자를 생성하려면

다음 create-subscriber 예제에서는 AWS 소스에 대해 지정된 구독자 자격 증명에 대해 현재 AWS 리전의 데이터에 액세스할 수 있는 구독자를 Security Lake에 생성합니다.

aws securitylake create-subscriber \ --access-types "S3" \ --sources '[{"awsLogSource": {"sourceName": "VPC_FLOW","sourceVersion": "2.0"}}]' \ --subscriber-name "opensearch-s3" \ --subscriber-identity '{"principal": "029189416600","externalId": "123456789012"}'

출력:

{ "subscriber": { "accessTypes": [ "S3" ], "createdAt": "2024-07-17T19:08:26.787000+00:00", "roleArn": "arn:aws:iam::773172568199:role/AmazonSecurityLake-896f218b-cfba-40be-a255-8b49a65d0407", "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-um632ufwpvxkyz0bc5hkb64atycnf3", "sources": [ { "awsLogSource": { "sourceName": "VPC_FLOW", "sourceVersion": "2.0" } } ], "subscriberArn": "arn:aws:securitylake:us-east-1:773172568199:subscriber/896f218b-cfba-40be-a255-8b49a65d0407", "subscriberId": "896f218b-cfba-40be-a255-8b49a65d0407", "subscriberIdentity": { "externalId": "123456789012", "principal": "029189416600" }, "subscriberName": "opensearch-s3", "subscriberStatus": "ACTIVE", "updatedAt": "2024-07-17T19:08:27.133000+00:00" } }

자세한 내용은 Amazon Security Lake 사용 설명서데이터 액세스 권한이 있는 구독자 생성을 참조하세요.

다음 코드 예시에서는 create-subscriber-notification을 사용하는 방법을 보여 줍니다.

AWS CLI

구독자 알림을 생성하려면

다음 create-subscriber-notification 예제에서는 새 데이터가 데이터 레이크에 기록될 때 알림을 생성하도록 구독자 알림을 지정하는 방법을 보여줍니다.

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"}}'

출력:

{ "subscriberEndpoint": [ "https://account-management.$3.$2.securitylake.aws.dev/v1/datalake" ] }

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

다음 코드 예시에서는 create-subscriber-query-access을 사용하는 방법을 보여 줍니다.

AWS CLI

쿼리 액세스 권한이 있는 구독자를 생성하려면

다음 create-subscriber 예제에서는 지정된 구독자 자격 증명에 대해 현재 AWS 리전에 쿼리 액세스 권한이 있는 구독자를 Security Lake에 생성합니다.

aws securitylake create-subscriber \ --access-types "LAKEFORMATION" \ --sources '[{"awsLogSource": {"sourceName": "VPC_FLOW","sourceVersion": "2.0"}}]' \ --subscriber-name "opensearch-s3" \ --subscriber-identity '{"principal": "029189416600","externalId": "123456789012"}'

출력:

{ "subscriber": { "accessTypes": [ "LAKEFORMATION" ], "createdAt": "2024-07-18T01:05:55.853000+00:00", "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8c31da49-c224-4f1e-bb12-37ab756d6d8a", "resourceShareName": "LakeFormation-V2-NAMENAMENA-123456789012", "sources": [ { "awsLogSource": { "sourceName": "VPC_FLOW", "sourceVersion": "2.0" } } ], "subscriberArn": "arn:aws:securitylake:us-east-1:123456789012:subscriber/e762aabb-ce3d-4585-beab-63474597845d", "subscriberId": "e762aabb-ce3d-4585-beab-63474597845d", "subscriberIdentity": { "externalId": "123456789012", "principal": "029189416600" }, "subscriberName": "opensearch-s3", "subscriberStatus": "ACTIVE", "updatedAt": "2024-07-18T01:05:58.393000+00:00" } }

자세한 내용은 Amazon Security Lake 사용 설명서쿼리 액세스 권한이 있는 구독자 생성을 참조하세요.

다음 코드 예시에서는 delete-aws-logsource을 사용하는 방법을 보여 줍니다.

AWS CLI

기본적으로 지원되는 AWS 서비스를 제거합니다.

다음 delete-aws-logsource 예제에서는 지정된 계정 및 리전에서 VPC 흐름 로그를 Security Lake 소스로 삭제합니다.

aws securitylake delete-aws-log-source \ --sources '[{"regions": ["us-east-1"], "accounts": ["123456789012"], "sourceName": "SH_FINDINGS", "sourceVersion": "2.0"}]'

출력:

{ "failed": [ "123456789012" ] }

자세한 내용은 Amazon Security Lake 사용 설명서소스로 AWS 서비스 제거를 참조하세요.

다음 코드 예시에서는 delete-custom-logsource을 사용하는 방법을 보여 줍니다.

AWS CLI

사용자 지정 소스를 제거합니다.

다음 delete-custom-logsource 예제에서는 지정된 리전의 지정된 로그 공급자 계정에서 사용자 지정 소스를 삭제합니다.

aws securitylake delete-custom-log-source \ --source-name "CustomSourceName"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서사용자 지정 소스 삭제를 참조하세요.

다음 코드 예시에서는 delete-data-lake-organization-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

멤버 계정에서 자동 소스 수집을 중지하려면

다음 delete-data-lake-organization-configuration 예제에서는 조직에 가입한 새 멤버 계정에서 AWS Security Hub 조사 결과의 자동 수집을 중지합니다. 위임된 Security Lake 관리자만이 명령을 실행할 수 있습니다. 새 멤버 계정이 데이터 레이크에 데이터를 자동으로 기여하지 못하도록 합니다.

aws securitylake delete-data-lake-organization-configuration \ --auto-enable-new-account '[{"region":"us-east-1","sources":[{"sourceName":"SH_FINDINGS"}]}]'

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서AWS Organizations로 여러 계정 관리를 참조하세요.

다음 코드 예시에서는 delete-data-lake을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 레이크를 비활성화하려면

다음 delete-data-lake 예제에서는 지정된 AWS 리전에서 데이터 레이크를 비활성화합니다. 지정된 리전에서 소스는 더 이상 데이터 레이크에 데이터를 제공하지 않습니다. AWS Organizations를 사용하는 Security Lake 배포의 경우 조직의 위임된 Security Lake 관리자만 조직 내 계정의 Security Lake를 비활성화할 수 있습니다.

aws securitylake delete-data-lake \ --regions "ap-northeast-1" "eu-central-1"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 비활성화를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteDataLake를 참조하세요.

다음 코드 예시에서는 delete-subscriber-notification을 사용하는 방법을 보여 줍니다.

AWS CLI

구독자 알림을 삭제하려면

다음 delete-subscriber-notification 예제에서는 특정 Security Lake 구독자에 대한 구독자 알림을 삭제하는 방법을 보여줍니다.

aws securitylake delete-subscriber-notification \ --subscriber-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

다음 코드 예시에서는 delete-subscriber을 사용하는 방법을 보여 줍니다.

AWS CLI

구독자를 삭제하려면

다음 delete-subscriber 예제에서는 구독자가 Security Lake에서 데이터를 더 이상 사용하지 않도록 하려면 구독자를 제거하는 방법을 보여줍니다.

aws securitylake delete-subscriber \ --subscriber-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteSubscriber를 참조하세요.

다음 코드 예시에서는 get-data-lake-exception-subscription을 사용하는 방법을 보여 줍니다.

AWS CLI

예외 구독에 대한 세부 정보를 가져오려면

다음 get-data-lake-exception-subscription 예제에서는 Security Lake 예외 구독에 대한 세부 정보를 제공합니다. 이 예제에서는 지정된 AWS 계정의 사용자에게 SMS 전송을 통해 오류를 알립니다. 예외 메시지는 지정된 기간 동안 계정에 남아 있습니다. 예외 구독은 Security Lake 사용자에게 요청자의 기본 프로토콜을 통해 오류를 알립니다.

aws securitylake get-data-lake-exception-subscription

출력:

{ "exceptionTimeToLive": 30, "notificationEndpoint": "123456789012", "subscriptionProtocol": "sms" }

자세한 내용은 Amazon Security Lake 사용 설명서데이터 레이크 상태 문제 해결을 참조하세요.

다음 코드 예시에서는 get-data-lake-organization-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

새 조직 계정의 구성에 대한 세부 정보를 가져오려면

다음 get-data-lake-organization-configuration 예제에서는 Amazon Security Lake에 온보딩한 후 새 조직 계정이 전송할 소스 로그에 대한 세부 정보를 검색합니다.

aws securitylake get-data-lake-organization-configuration

출력:

{ "autoEnableNewAccount": [ { "region": "us-east-1", "sources": [ { "sourceName": "VPC_FLOW", "sourceVersion": "1.0" }, { "sourceName": "ROUTE53", "sourceVersion": "1.0" }, { "sourceName": "SH_FINDINGS", "sourceVersion": "1.0" } ] } ] }

자세한 내용은 Amazon Security Lake 사용 설명서AWS Organizations를 사용하여 여러 계정 관리를 참조하세요.

다음 코드 예시에서는 get-data-lake-sources을 사용하는 방법을 보여 줍니다.

AWS CLI

로그 수집 상태를 가져오려면

다음 get-data-lake-sources 예제에서는 현재 AWS 리전에서 지정된 계정에 대한 로그 수집의 스냅샷을 가져옵니다. 계정에 Amazon Security Lake가 활성화되어 있습니다.

aws securitylake get-data-lake-sources \ --accounts "123456789012"

출력:

{ "dataLakeSources": [ { "account": "123456789012", "sourceName": "SH_FINDINGS", "sourceStatuses": [ { "resource": "vpc-1234567890abcdef0", "status": "COLLECTING" } ] }, { "account": "123456789012", "sourceName": "VPC_FLOW", "sourceStatuses": [ { "resource": "vpc-1234567890abcdef0", "status": "NOT_COLLECTING" } ] }, { "account": "123456789012", "sourceName": "LAMBDA_EXECUTION", "sourceStatuses": [ { "resource": "vpc-1234567890abcdef0", "status": "COLLECTING" } ] }, { "account": "123456789012", "sourceName": "ROUTE53", "sourceStatuses": [ { "resource": "vpc-1234567890abcdef0", "status": "COLLECTING" } ] }, { "account": "123456789012", "sourceName": "CLOUD_TRAIL_MGMT", "sourceStatuses": [ { "resource": "vpc-1234567890abcdef0", "status": "COLLECTING" } ] } ], "dataLakeArn": null }

자세한 내용은 Amazon Security Lake 사용 설명서AWS 서비스에서 데이터 수집을 참조하세요.

다음 코드 예시에서는 get-subscriber을 사용하는 방법을 보여 줍니다.

AWS CLI

구독 정보를 검색하려면

다음 get-subscriber 예제에서는 지정된 Securiy Lake 구독자에 대한 구독 정보를 검색합니다.

aws securitylake get-subscriber \ --subscriber-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "subscriber": { "accessTypes": [ "LAKEFORMATION" ], "createdAt": "2024-04-19T15:19:44.421803+00:00", "resourceShareArn": "arn:aws:ram:eu-west-2:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "resourceShareName": "LakeFormation-V3-TKJGBHCKTZ-123456789012", "sources": [ { "awsLogSource": { "sourceName": "LAMBDA_EXECUTION", "sourceVersion": "1.0" } }, { "awsLogSource": { "sourceName": "EKS_AUDIT", "sourceVersion": "2.0" } }, { "awsLogSource": { "sourceName": "ROUTE53", "sourceVersion": "1.0" } }, { "awsLogSource": { "sourceName": "SH_FINDINGS", "sourceVersion": "1.0" } }, { "awsLogSource": { "sourceName": "VPC_FLOW", "sourceVersion": "1.0" } }, { "customLogSource": { "attributes": { "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/testCustom2", "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/amazon_security_lake_glue_db_eu_west_2", "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/amazon_security_lake_table_eu_west_2_ext_testcustom2" }, "provider": { "location": "s3://aws-security-data-lake-eu-west-2-8ugsus4ztnsfpjbldwbgf4vge98av9/ext/testCustom2/", "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-Provider-testCustom2-eu-west-2" }, "sourceName": "testCustom2" } }, { "customLogSource": { "attributes": { "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/TestCustom", "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/amazon_security_lake_glue_db_eu_west_2", "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/amazon_security_lake_table_eu_west_2_ext_testcustom" }, "provider": { "location": "s3://aws-security-data-lake-eu-west-2-8ugsus4ztnsfpjbldwbgf4vge98av9/ext/TestCustom/", "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-Provider-TestCustom-eu-west-2" }, "sourceName": "TestCustom" } } ], "subscriberArn": "arn:aws:securitylake:eu-west-2:123456789012:subscriber/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "subscriberId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "subscriberIdentity": { "externalId": "123456789012", "principal": "123456789012" }, "subscriberName": "test", "subscriberStatus": "ACTIVE", "updatedAt": "2024-04-19T15:19:55.230588+00:00" } }

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetSubscriber를 참조하세요.

다음 코드 예시에서는 list-data-lake-exceptions을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 레이크에 영향을 미치는 문제를 나열하려면

다음 list-data-lake-exceptions 예제에서는 지정된 AWS 리전에서 지난 14일 동안 데이터 레이크에 영향을 미치는 문제를 나열합니다.

aws securitylake list-data-lake-exceptions \ --regions "us-east-1" "eu-west-3"

출력:

{ "exceptions": [ { "exception": "The account does not have the required role permissions. Update your role permissions to use the new data source version.", "region": "us-east-1", "timestamp": "2024-02-29T12:24:15.641725+00:00" }, { "exception": "The account does not have the required role permissions. Update your role permissions to use the new data source version.", "region": "eu-west-3", "timestamp": "2024-02-29T12:24:15.641725+00:00" } ] }

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 문제 해결을 참조하세요.

다음 코드 예시에서는 list-data-lakes을 사용하는 방법을 보여 줍니다.

AWS CLI

Security Lake 구성 객체를 나열하려면

다음 list-data-lakes 예제에서는 지정된 AWS 리전에 대한 Amazon Security Lake 구성 객체를 나열합니다. 이 명령을 사용하여 Security Lake가 지정된 리전 또는 리전에서 활성화되어 있는지 확인할 수 있습니다.

aws securitylake list-data-lakes \ --regions "us-east-1"

출력:

{ "dataLakes": [ { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-1:123456789012:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "S3_MANAGED_KEY" }, "lifecycleConfiguration": { "expiration": { "days": 365 }, "transitions": [ { "days": 60, "storageClass": "ONEZONE_IA" } ] }, "region": "us-east-1", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:123456789012:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-1234567890abcdef0", "updateStatus": { "exception": { "code": "software.amazon.awssdk.services.s3.model.S3Exception", "reason": "" }, "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "status": "FAILED" } } ] }

자세한 내용은 Amazon Security Lake 사용 설명서리전 상태 확인을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListDataLakes를 참조하세요.

다음 코드 예시에서는 list-log-sources을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon Security Lake 로그 소스를 검색하려면

다음 list-log-sources 예제에서는 지정된 계정의 Amazon Security Lake 로그 소스를 나열합니다.

aws securitylake list-log-sources \ --accounts "123456789012"

출력:

{ "account": "123456789012", "region": "xy-region-1", "sources": [ { "awsLogSource": { "sourceName": "VPC_FLOW", "sourceVersion": "2.0" } }, { "awsLogSource": { "sourceName": "SH_FINDINGS", "sourceVersion": "2.0" } } ] }

자세한 내용은 Amazon Security Lake 사용 설명서소스 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListLogSources를 참조하세요.

다음 코드 예시에서는 list-subscribers을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon Security Lake 구독자를 검색하려면

다음 list-subscribers 예제에서는 특정 계정의 모든 Amazon Security Lake 구독자를 나열합니다.

aws securitylake list-subscribers

출력:

{ "subscribers": [ { "accessTypes": [ "S3" ], "createdAt": "2024-06-04T15:02:28.921000+00:00", "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-E1WG1ZNPRXT0D4", "s3BucketArn": "DOC-EXAMPLE-BUCKET--usw2-az1--x-s3", "sources": [ { "awsLogSource": { "sourceName": "CLOUD_TRAIL_MGMT", "sourceVersion": "2.0" } }, { "awsLogSource": { "sourceName": "LAMBDA_EXECUTION", "sourceVersion": "1.0" } }, { "customLogSource": { "attributes": { "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4", "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/E1WG1ZNPRXT0D4", "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/E1WG1ZNPRXT0D4" }, "provider": { "location": "DOC-EXAMPLE-BUCKET--usw2-az1--x-s3", "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-E1WG1ZNPRXT0D4" }, "sourceName": "testCustom2" } } ], "subscriberArn": "arn:aws:securitylake:eu-west-2:123456789012:subscriber/E1WG1ZNPRXT0D4", "subscriberEndpoint": "arn:aws:sqs:eu-west-2:123456789012:AmazonSecurityLake-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-Main-Queue", "subscriberId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "subscriberIdentity": { "externalId": "ext123456789012", "principal": "123456789012" }, "subscriberName": "Test", "subscriberStatus": "ACTIVE", "updatedAt": "2024-06-04T15:02:35.617000+00:00" } ] }

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListSubscribers를 참조하세요.

다음 코드 예시에서는 list-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

기존 리소스의 태그를 나열하려면

다음 list-tags-for-resource 예제에서는 지정된 Amazon Security Lake 구독자의 태그를 나열합니다. 이 예제에서는 소유자 태그 키에 연결된 태그 값이 없습니다. 이 작업을 사용하여 다른 기존 Security Lake 리소스에 대한 태그를 나열할 수도 있습니다.

aws securitylake list-tags-for-resource \ --resource-arn "arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab"

출력:

{ "tags": [ { "key": "Environment", "value": "Cloud" }, { "key": "CostCenter", "value": "12345" }, { "key": "Owner", "value": "" } ] }

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 리소스 태그 지정을 참조하세요.

다음 코드 예시에서는 register-data-lake-delegated-administrator을 사용하는 방법을 보여 줍니다.

AWS CLI

위임된 관리자를 지정하려면

다음 register-data-lake-delegated-administrator 예제에서는 지정된 AWS 계정을 위임된 Amazon Security Lake 관리자로 지정합니다.

aws securitylake register-data-lake-delegated-administrator \ --account-id 123456789012

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서AWS Organizations를 사용하여 여러 계정 관리를 참조하세요.

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

기존 리소스에 태그를 추가하려면

다음 tag-resource 예제에서는 기존 구독자 리소스에 태그를 추가합니다. 새 리소스를 생성하고 하나 이상의 태그를 추가하려면이 작업을 사용하지 마세요. 대신 생성하려는 리소스 유형에 적절한 생성 작업을 사용합니다.

aws securitylake tag-resource \ --resource-arn "arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab" \ --tags key=Environment,value=Cloud

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 리소스 태그 지정을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조TagResource를 참조하세요.

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

기존 리소스에서 태그를 제거하려면

다음 untag-resource 예제에서는 기존 구독자 리소스에서 지정된 태그를 제거합니다.

aws securitylake untag-resource \ --resource-arn "arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab" \ --tags Environment Owner

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 리소스 태그 지정을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UntagResource를 참조하세요.

다음 코드 예시에서는 update-data-lake-exception-subscription을 사용하는 방법을 보여 줍니다.

AWS CLI

Security Lake 예외에 대한 알림 구독을 업데이트하려면

다음 update-data-lake-exception-subscription 예제에서는 사용자에게 Security Lake 예외를 알리는 알림 구독을 업데이트합니다.

aws securitylake update-data-lake-exception-subscription \ --notification-endpoint "123456789012" \ --exception-time-to-live 30 \ --subscription-protocol "email"

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 문제 해결을 참조하세요.

다음 코드 예시에서는 update-data-lake을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 데이터 레이크 설정 업데이트

다음 update-data-lake 예제에서는 Amazon Security Lake 데이터 레이크의 설정을 업데이트합니다. 이 작업을 사용하여 데이터 암호화, 스토리지 및 롤업 리전 설정을 지정할 수 있습니다.

aws securitylake update-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]' \ --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"

출력:

{ "dataLakes": [ { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-1:522481757177:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "S3_MANAGED_KEY" }, "lifecycleConfiguration": { "expiration": { "days": 365 }, "transitions": [ { "days": 60, "storageClass": "ONEZONE_IA" } ] }, "region": "us-east-1", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-gnevt6s8z7bzby8oi3uiaysbr8v2ml", "updateStatus": { "exception": {}, "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", "status": "INITIALIZED" } }, { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "S3_MANAGED_KEY" }, "lifecycleConfiguration": { "expiration": { "days": 365 }, "transitions": [ { "days": 60, "storageClass": "ONEZONE_IA" } ] }, "region": "us-east-2", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", "updateStatus": { "exception": {}, "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", "status": "INITIALIZED" } } ] }

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 시작하기를 참조하세요.

예제 2: 단일 리전에서 데이터 레이크를 구성하려면

다음 create-data-lake 예제에서는 단일 AWS 리전에서 Amazon Security Lake를 활성화하고 데이터 레이크를 구성합니다.

aws securitylake create-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":30,"storageClass":"GLACIER"}]}}]' \ --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"

출력:

{ "dataLakes": [ { "createStatus": "COMPLETED", "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", "encryptionConfiguration": { "kmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, "lifecycleConfiguration": { "expiration": { "days": 500 }, "transitions": [ { "days": 30, "storageClass": "GLACIER" } ] }, "region": "us-east-2", "replicationConfiguration": { "regions": [ "ap-northeast-3" ], "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" }, "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", "updateStatus": { "exception": {}, "requestId": "77702a53-dcbf-493e-b8ef-518e362f3003", "status": "INITIALIZED" } } ] }

자세한 내용은 Amazon Security Lake 사용 설명서의 Amazon Security Lake 시작하기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateDataLake를 참조하세요.

다음 코드 예시에서는 update-subscriber-notification을 사용하는 방법을 보여 줍니다.

AWS CLI

구독자 알림을 업데이트하려면

다음 update-subscriber-notification 예제에서는 구독자의 알림 방법을 업데이트하는 방법을 보여줍니다.

aws securitylake update-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"}}'

출력:

{ "subscriberEndpoint": [ "https://account-management.$3.$2.securitylake.aws.dev/v1/datalake" ] }

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

다음 코드 예시에서는 update-subscriber을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon Security Lake 구독자를 업데이트하는 방법.

다음 update-subscriber 예제에서는 특정 Security Lake 구독자의 보안 레이크 데이터 액세스 소스를 업데이트합니다.

aws securitylake update-subscriber \ --subscriber-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "subscriber": { "accessTypes": [ "LAKEFORMATION" ], "createdAt": "2024-04-19T15:19:44.421803+00:00", "resourceShareArn": "arn:aws:ram:eu-west-2:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "resourceShareName": "LakeFormation-V3-TKJGBHCKTZ-123456789012", "sources": [ { "awsLogSource": { "sourceName": "LAMBDA_EXECUTION", "sourceVersion": "1.0" } }, { "awsLogSource": { "sourceName": "EKS_AUDIT", "sourceVersion": "2.0" } }, { "awsLogSource": { "sourceName": "ROUTE53", "sourceVersion": "1.0" } }, { "awsLogSource": { "sourceName": "SH_FINDINGS", "sourceVersion": "1.0" } }, { "awsLogSource": { "sourceName": "VPC_FLOW", "sourceVersion": "1.0" } }, { "customLogSource": { "attributes": { "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4", "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/E1WG1ZNPRXT0D4", "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/E1WG1ZNPRXT0D4" }, "provider": { "location": "DOC-EXAMPLE-BUCKET--usw2-az1--x-s3", "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-E1WG1ZNPRXT0D4" }, "sourceName": "testCustom2" } } ], "subscriberArn": "arn:aws:securitylake:eu-west-2:123456789012:subscriber/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "subscriberId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "subscriberIdentity": { "externalId": "123456789012", "principal": "123456789012" }, "subscriberName": "test", "subscriberStatus": "ACTIVE", "updatedAt": "2024-07-18T20:47:37.098000+00:00" } }

자세한 내용은 Amazon Security Lake 사용 설명서구독자 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateSubscriber를 참조하세요.