를 사용하여 Step Functions API 호출 기록 AWS CloudTrail - AWS Step Functions

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

를 사용하여 Step Functions API 호출 기록 AWS CloudTrail

AWS Step Functions 는 사용자AWS CloudTrail, 역할 또는가 수행한 작업에 대한 레코드를 제공하는 서비스인와 통합됩니다 AWS 서비스.는 Step Functions에 대한 모든 API 호출을 이벤트로 CloudTrail 캡처합니다. 캡처된 호출에는 Step Functions 콘솔의 호출과 Step Functions API 작업에 대한 코드 호출이 포함됩니다. 에서 수집한 정보를 사용하여 Step Functions에 수행된 요청, 요청이 수행된 IP 주소, 요청이 수행된 시간 및 추가 세부 정보를 확인할 CloudTrail수 있습니다.

모든 이벤트 또는 로그 항목에는 요청을 생성했던 사용자에 대한 정보가 포함됩니다. 자격 증명을 이용하면 다음을 쉽게 판단할 수 있습니다.

  • 요청을 루트 사용자로 했는지 사용자 보안 인증으로 했는지 여부.

  • IAM Identity Center 사용자를 대신하여 요청이 이루어졌는지 여부입니다.

  • 역할 또는 페더레이션 사용자에 대한 임시 보안 인증을 사용하여 요청이 생성되었는지 여부.

  • 다른 AWS 서비스에서 요청했는지 여부.

CloudTrail 는 계정을 생성할 AWS 계정 때에서 활성화되며 CloudTrail 자동으로 이벤트 기록에 액세스할 수 있습니다. CloudTrail 이벤트 이력은에서 기록된 관리 이벤트의 지난 90일에 대한 보기, 검색, 다운로드 및 변경 불가능한 레코드를 제공합니다 AWS 리전. 자세한 내용은 AWS CloudTrail 사용 설명서 CloudTrail 이벤트 기록 작업을 참조하세요. 이벤트 기록을 보는 데는 요금이 부과되지 않습니다 CloudTrail.

AWS 계정 지난 90일 동안 진행 중인 이벤트 레코드의 경우 추적 또는 CloudTrail Lake 이벤트 데이터 스토어를 생성합니다.

CloudTrail 추적

추적 CloudTrail 을 사용하면가 Amazon S3 버킷에 로그 파일을 전송할 수 있습니다. 를 사용하여 생성된 모든 추적 AWS Management Console 은 다중 리전입니다. AWS CLI를 사용하여 단일 리전 또는 다중 리전 추적을 생성할 수 있습니다. 계정 AWS 리전 의 모든에서 활동을 캡처하기 때문에 다중 리전 추적을 생성하는 것이 좋습니다. 단일 리전 추적을 생성하는 경우 추적의 AWS 리전에 로깅된 이벤트만 볼 수 있습니다. 추적에 대한 자세한 내용은 AWS CloudTrail 사용 설명서의 Creating a trail for your AWS 계정Creating a trail for an organization을 참조하세요.

추적을 생성하여에서 Amazon S3 버킷 CloudTrail 으로 진행 중인 관리 이벤트의 사본 하나를 무료로 전송할 수 있지만 Amazon S3 스토리지 요금이 있습니다. CloudTrail 요금에 대한 자세한 내용은 AWS CloudTrail 요금을 참조하세요. Amazon S3 요금에 대한 자세한 내용은 Amazon S3 요금을 참조하세요.

CloudTrail Lake 이벤트 데이터 스토어

CloudTrail Lake를 사용하면 이벤트에 대해 SQL기반 쿼리를 실행할 수 있습니다. CloudTrail Lake는 기존 이벤트를 행 기반 JSON 형식으로 Apache ORC 형식으로 변환합니다. ORC는 빠른 데이터 검색에 최적화된 열 기반 스토리지 형식입니다. 이벤트는 이벤트 데이터 스토어로 집계되며, 이벤트 데이터 스토어는 고급 이벤트 선택기를 적용하여 선택한 기준을 기반으로 하는 변경 불가능한 이벤트 컬렉션입니다. 이벤트 데이터 스토어에 적용하는 선택기는 어떤 이벤트가 지속되고 쿼리할 수 있는지 제어합니다. CloudTrail Lake에 대한 자세한 내용은 AWS CloudTrail 사용 설명서AWS CloudTrail Lake 작업을 참조하세요.

CloudTrail Lake 이벤트 데이터 스토어 및 쿼리에는 비용이 발생합니다. 이벤트 데이터 스토어를 생성할 때 이벤트 데이터 스토어에 사용할 요금 옵션을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. CloudTrail 요금에 대한 자세한 내용은 AWS CloudTrail 요금을 참조하세요.

의 데이터 이벤트 CloudTrail

데이터 이벤트는 리소스 기반 또는 리소스에서 수행된 리소스 작업에 대한 정보를 제공합니다(예: Amazon S3 객체 읽기 또는 쓰기). 이를 데이터 영역 작업이라고도 합니다. 데이터 이벤트가 대량 활동인 경우도 있습니다. 기본적으로 CloudTrail 는 데이터 이벤트를 로깅하지 않습니다. CloudTrail 이벤트 기록은 데이터 이벤트를 기록하지 않습니다.

데이터 이벤트에는 추가 요금이 적용됩니다. CloudTrail 요금에 대한 자세한 내용은 AWS CloudTrail 요금을 참조하세요.

CloudTrail 콘솔 AWS CLI또는 CloudTrail API 작업을 사용하여 Step Functions 리소스 유형에 대한 데이터 이벤트를 로깅할 수 있습니다. 데이터 이벤트를 로깅하는 방법에 대한 자세한 내용은 AWS CloudTrail 사용 설명서의 Logging data events with the AWS Management ConsoleLogging data events with the AWS Command Line Interface를 참조하세요.

다음 표에는 데이터 이벤트를 로깅할 수 있는 Step Functions 리소스 유형이 나와 있습니다. 데이터 이벤트 유형 열에는 CloudTrail 콘솔의 데이터 이벤트 유형 목록에서 선택할 값이 표시됩니다. resources.type 값 열에는 AWS CLI 또는를 사용하여 고급 이벤트 선택기를 구성할 때 지정하는 resources.type 값이 표시됩니다 CloudTrail APIs. 에 APIs 기록된 데이터 CloudTrail 열에는 리소스 유형에 CloudTrail 대해에 기록된 API 호출이 표시됩니다.

eventName, readOnlyresources.ARN 필드를 필터링하여 중요한 이벤트만 로깅하도록 고급 이벤트 선택기를 구성할 수 있습니다. 이러한 필드에 대한 자세한 내용은 섹션을 참조하세요. AdvancedFieldSelector AWS CloudTrail API 참조의 .

데이터 이벤트 유형 resources.type 값 에 APIs 기록된 데이터 CloudTrail
Step Functions 상태 시스템 AWS::StepFunctions::StateMachine
  • InvokeHTTPEndpoint

의 관리 이벤트 CloudTrail

관리 이벤트는의 리소스에서 수행되는 관리 작업에 대한 정보를 제공합니다 AWS 계정. 이를 컨트롤 플레인 작업이라고도 합니다. 기본적으로는 관리 이벤트를 CloudTrail 기록합니다.

상태 시스템

상태 시스템 별칭

상태 시스템 버전

실행

활동

작업 토큰

MapRun

태그

이벤트 예

이벤트는 모든 소스의 단일 요청을 나타내며 요청된 API 작업, 작업 날짜 및 시간, 요청 파라미터 등에 대한 정보를 포함합니다. CloudTrail 로그 파일은 퍼블릭 API 호출의 정렬된 스택 추적이 아니므로 이벤트는 특정 순서로 표시되지 않습니다.

다음 예제에서는를 보여주는 CloudTrail 데이터 이벤트를 보여줍니다InvokeHTTPEndpoint.

{ "eventVersion": "1.09", "userIdentity": { "accountId": "123456789012", "invokedBy": "states.amazonaws.com" }, "eventTime": "2024-05-01T01:23:45Z", "eventSource": "states.amazonaws.com", "eventName": "InvokeHTTPEndpoint", "awsRegion": "us-east-1", "sourceIPAddress": "states.amazonaws.com", "userAgent": "states.amazonaws.com", "requestParameters": null, "responseElements": null, "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "readOnly": false, "resources": [ { "accountId": "123456789012", "type": "AWS::StepFunctions::StateMachine", "ARN": "arn:aws:states:us-east-1:123456789012:stateMachine:ExampleStateMachine" } ], "eventType": "AwsServiceEvent", "managementEvent": false, "recipientAccountId": "123456789012", "serviceEventDetails": { "httpMethod": "GET", "httpEndpoint": "https://example.com" }, "eventCategory": "Data" }

다음 예제에서는 CreateStateMachine 작업을 보여주는 CloudTrail 관리 이벤트를 보여줍니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAJYDLDBVBI4EXAMPLE", "arn": "arn:aws:iam::123456789012:user/test-user", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "test-user" }, "eventTime": "2024-05-01T01:23:45Z", "eventSource": "states.amazonaws.com", "eventName": "CreateStateMachine", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "name": "MyStateMachine", "definition": "HIDDEN_DUE_TO_SECURITY_REASONS", "roleArn": "arn:aws:iam::123456789012:role/MyStateMachineRole", "type": "STANDARD", "loggingConfiguration": { "level": "OFF", "includeExecutionData": false }, "tags": [], "tracingConfiguration": { "enabled": false }, "publish": false }, "responseElements": { "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:MyStateMachine", "creationDate": "May 1, 2024 1:23:45 AM" }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }

CloudTrail 레코드 콘텐츠에 대한 자세한 내용은 AWS CloudTrail 사용 설명서CloudTrail 레코드 콘텐츠를 참조하세요.