로그인 및 모니터링 AWS Organizations - AWS Organizations

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

로그인 및 모니터링 AWS Organizations

조직에서 변경 사항이 기록되고 있는지 모니터링하는 것이 좋습니다. 이렇게 하면 예상치 못한 변경 사항을 조사하고 원치 않는 변경 사항을 롤백할 수 있습니다. AWS Organizations 현재 두 가지 AWS 서비스를 지원합니다. 이 서비스를 통해 조직과 조직 내에서 발생하는 활동을 모니터링할 수 있습니다.

를 AWS Organizations 사용하여 API 호출을 로깅합니다. AWS CloudTrail

AWS Organizations 에서 사용자 AWS CloudTrail, 역할 또는 서비스가 수행한 작업의 기록을 제공하는 AWS 서비스와 통합됩니다 AWS Organizations. CloudTrail AWS Organizations 콘솔에서의 호출 및 API로의 코드 호출을 포함하여 AWS Organizations as 이벤트에 대한 모든 API 호출을 캡처합니다 AWS Organizations . 트레일을 생성하면 에 대한 이벤트를 포함하여 Amazon S3 버킷으로 CloudTrail 이벤트를 지속적으로 전송할 수 AWS Organizations있습니다. 트레일을 구성하지 않아도 CloudTrail 콘솔의 이벤트 기록에서 가장 최근 이벤트를 계속 볼 수 있습니다. 에서 수집한 정보를 사용하여 요청을 받은 사람 CloudTrail, 보낸 IP 주소 AWS Organizations, 보낸 사람, 생성 시기 및 추가 세부 정보를 확인할 수 있습니다.

자세한 CloudTrail 내용은 AWS CloudTrail 사용 설명서를 참조하십시오.

중요

미국 동부 (버지니아 북부) AWS Organizations 지역에서만 모든 CloudTrail 정보를 볼 수 있습니다. CloudTrail 콘솔에 AWS Organizations 활동이 표시되지 않는 경우 오른쪽 상단의 메뉴를 사용하여 본체를 미국 동부 (버지니아 북부) 로 설정하십시오. AWS CLI 또는 SDK 도구를 CloudTrail 사용하여 쿼리하는 경우 미국 동부 (버지니아 북부) 엔드포인트로 쿼리를 보내십시오.

AWS Organizations 다음 정보 CloudTrail

CloudTrail 계정을 만들 AWS 계정 때 활성화됩니다. 에서 AWS Organizations활동이 발생하면 해당 활동이 CloudTrail 이벤트 기록의 다른 AWS 서비스 이벤트와 함께 이벤트에 기록됩니다. 내 페이지에서 최근 이벤트를 보고, 검색하고, 다운로드할 수 있습니다 AWS 계정. 자세한 내용은 이벤트 기록으로 CloudTrail 이벤트 보기를 참조하십시오.

AWS Organizations에 대한 이벤트를 포함하여 AWS 계정에 이벤트를 지속적으로 기록하려면 추적을 생성합니다. 트레일을 사용하면 CloudTrail Amazon S3 버킷에 로그 파일을 전송할 수 있습니다. 에서 CloudTrail 로깅이 활성화되면 AWS Organizations 작업에 대한 API 호출이 CloudTrail 로그 파일에서 추적되며, 이 호출은 다른 AWS 서비스 레코드와 함께 기록됩니다. AWS 계정 CloudTrail 로그에서 수집된 이벤트 데이터를 추가로 분석하고 이에 따라 조치를 취하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 내용은 다음 자료를 참조하십시오.

모든 AWS Organizations 작업은 AWS Organizations API 참조에 의해 CloudTrail 기록되고 문서화됩니다. 예를 들어,, 를 호출하고 CreateAccount (CreateAccountResult이벤트 포함) CloudTrail 로그 파일에 항목을 InviteAccountToOrganization 생성할 수 있습니다. ListHandshakesForAccount CreatePolicy

모든 로그 항목은 누가 요청을 생성했는가에 대한 정보가 들어 있습니다. 로그 항목의 사용자 신원 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.

  • 요청을 루트 사용자로 했는지 IAM 사용자 자격 증명으로 했는지 여부

  • IAM 역할 또는 연합된 사용자용 임시 보안 자격 증명을 사용하여 요청이 생성되었는지 여부

  • 요청이 다른 AWS 서비스에 의해 이루어졌는지 여부

자세한 내용은 CloudTrail사용자 ID 요소를 참조하십시오.

로그 파일 항목 이해 AWS Organizations

트레일은 지정한 Amazon S3 버킷에 이벤트를 로그 파일로 전송할 수 있는 구성입니다. CloudTrail 로그 파일에는 하나 이상의 로그 항목이 포함되어 있습니다. 이벤트는 모든 소스로부터의 단일 요청을 나타내며 요청 작업, 작업 날짜와 시간, 요청 파라미터 등에 대한 정보가 들어 있습니다. CloudTrail 로그 파일은 공개 API 호출의 정렬된 스택 추적이 아니므로 특정 순서로 표시되지 않습니다.

로그 항목 예시: CloseAccount

다음 예제는 API가 CloseAccount 호출되고 계정을 폐쇄하는 워크플로가 백그라운드에서 처리를 시작할 때 생성되는 샘플 호출의 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE:my-admin-role", "arn": "arn:aws:sts::111122223333:assumed-role/my-admin-role/my-session-id", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111122223333:role/my-admin-role", "accountId": "111122223333", "userName": "my-session-id" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2022-03-18T18:17:06Z" } } }, "eventTime": "2022-03-18T18:17:06Z", "eventSource": "organizations.amazonaws.com", "eventName": "CloseAccount", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "requestParameters": { "accountId": "555555555555" }, "responseElements": null, "requestID": "e28932f8-d5da-4d7a-8238-ef74f3d5c09a", "eventID": "19fe4c10-f57e-4cb7-a2bc-6b5c30233592", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

다음 예제는 계정 폐쇄를 위한 백그라운드 워크플로가 성공적으로 완료된 후의 CloseAccountResult 통화 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "invokedBy": "organizations.amazonaws.com" }, "eventTime": "2022-03-18T18:17:06Z", "eventSource": "organizations.amazonaws.com", "eventName": "CloseAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "organizations.amazonaws.com", "userAgent": "organizations.amazonaws.com", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "111122223333", "serviceEventDetails": { "closeAccountStatus": { "accountId": "555555555555", "state": "SUCCEEDED", "requestedTimestamp": "Mar 18, 2022 6:16:58 PM", "completedTimestamp": "Mar 18, 2022 6:16:58 PM" } }, "eventCategory": "Management" }

로그 항목 예시: CreateAccount

다음 예제는 API가 CreateAccount 호출되고 계정 생성 워크플로가 백그라운드에서 처리를 시작할 때 생성되는 샘플 호출의 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE:my-admin-role", "arn": "arn:aws:sts::111122223333:assumed-role/my-admin-role/my-session-id", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111122223333:role/my-admin-role", "accountId": "111122223333", "userName": "my-session-id" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-09-16T21:16:45Z" } } }, "eventTime": "2018-06-21T22:06:27Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccount", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...", "requestParameters": { "tags": [], "email": "****", "accountName": "****" }, "responseElements": { "createAccountStatus": { "accountName": "****", "state": "IN_PROGRESS", "id": "car-examplecreateaccountrequestid111", "requestedTimestamp": "Sep 16, 2020 9:20:50 PM" } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

다음 예제는 계정을 만들기 위한 백그라운드 워크플로가 성공적으로 완료된 후의 CreateAccount 통화 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.05", "userIdentity": { "accountId": "111122223333", "invokedBy": "..." }, "eventTime": "2020-09-16T21:20:53Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "....", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "serviceEventDetails": { "createAccountStatus": { "id": "car-examplecreateaccountrequestid111", "state": "SUCCEEDED", "accountName": "****", "accountId": "444455556666", "requestedTimestamp": "Sep 16, 2020 9:20:50 PM", "completedTimestamp": "Sep 16, 2020 9:20:53 PM" } } }

다음 예제는 CreateAccount 백그라운드 워크플로에서 계정을 만들지 못한 후 생성되는 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.06", "userIdentity": { "accountId": "111122223333", "invokedBy": "AWS Internal" }, "eventTime": "2018-06-21T22:06:27Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "serviceEventDetails": { "createAccountStatus": { "id": "car-examplecreateaccountrequestid111", "state": "FAILED", "accountName": "****", "failureReason": "EMAIL_ALREADY_EXISTS", "requestedTimestamp": Jun 21, 2018 10:06:27 PM, "completedTimestamp": Jun 21, 2018 10:07:15 PM } } }

로그 항목 예시: CreateOrganizationalUnit

다음 예제는 샘플 CreateOrganizationalUnit 통화의 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:40:11Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "requestParameters": { "name": "OU-Developers-1", "parentId": "r-a1b2" }, "responseElements": { "organizationalUnit": { "arn": "arn:aws:organizations::111111111111:ou/o-aa111bb222/ou-examplerootid111-exampleouid111", "id": "ou-examplerootid111-exampleouid111", "name": "test-cloud-trail" } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

예제 로그 항목: InviteAccountToOrganization

다음 예제는 샘플 InviteAccountToOrganization 통화의 CloudTrail 로그 항목을 보여줍니다.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:41:17Z", "eventSource": "organizations.amazonaws.com", "eventName": "InviteAccountToOrganization", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "requestParameters": { "notes": "This is a request for Mary's account to join Diego's organization.", "target": { "type": "ACCOUNT", "id": "111111111111" } }, "responseElements": { "handshake": { "requestedTimestamp": "Jan 18, 2017 9:41:16 PM", "state": "OPEN", "arn": "arn:aws:organizations::111111111111:handshake/o-aa111bb222/invite/h-examplehandshakeid111", "id": "h-examplehandshakeid111", "parties": [ { "type": "ORGANIZATION", "id": "o-aa111bb222" }, { "type": "ACCOUNT", "id": "222222222222" } ], "action": "invite", "expirationTimestamp": "Feb 2, 2017 9:41:16 PM", "resources": [ { "resources": [ { "type": "MASTER_EMAIL", "value": "diego@example.com" }, { "type": "MASTER_NAME", "value": "Management account for organization" }, { "type": "ORGANIZATION_FEATURE_SET", "value": "ALL" } ], "type": "ORGANIZATION", "value": "o-aa111bb222" }, { "type": "ACCOUNT", "value": "222222222222" }, { "type": "NOTES", "value": "This is a request for Mary's account to join Diego's organization." } ] } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

예제 로그 항목: AttachPolicy

다음 예제는 샘플 AttachPolicy 통화의 CloudTrail 로그 항목을 보여줍니다. 요청한 정책 유형이 연결 요청을 시도한 루트에서 활성화되지 않았기 때문에 응답에서 호출이 실패했다고 표시됩니다.

{ "eventVersion": "1.06", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:42:44Z", "eventSource": "organizations.amazonaws.com", "eventName": "AttachPolicy", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "errorCode": "PolicyTypeNotEnabledException", "errorMessage": "The given policy type ServiceControlPolicy is not enabled on the current view", "requestParameters": { "policyId": "p-examplepolicyid111", "targetId": "ou-examplerootid111-exampleouid111" }, "responseElements": null, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

아마존 EventBridge

AWS Organizations Amazon (이전의 Amazon EventBridge CloudWatch Events) 과 연동하여 조직에서 관리자가 지정한 작업이 발생할 때 이벤트를 발생시킬 수 있습니다. 예를 들어 작업의 중요성 때문에 대부분의 관리자는 사용자가 조직에 새 계정을 만들 때마다 또는 멤버 계정의 관리자가 조직을 탈퇴하려고 할 때 경고를 표시하려고 합니다. 이러한 작업을 찾는 EventBridge 규칙을 구성한 다음 생성된 이벤트를 관리자가 정의한 대상으로 보낼 수 있습니다. 대상은 해당 구독자에게 이메일 또는 문자 메시지를 보내는 Amazon SNS 주제가 될 수 있습니다. 나중에 검토할 수 있도록 작업의 세부 정보를 로깅하는 AWS Lambda 함수를 만들 수도 있습니다.

조직의 주요 활동을 모니터링할 수 있도록 설정하는 EventBridge 방법을 보여주는 자습서는 을 참조하십시오. 자습서: Amazon EventBridge를 사용하여 조직에 대한 중요 변경 사항 모니터링

중요

현재는 미국 동부 (버지니아 북부) 지역에서만 호스팅됩니다 (전 세계에서 사용 가능). AWS Organizations 이 자습서의 단계를 수행하려면 해당 지역을 사용하도록 AWS Management Console 를 구성해야 합니다.

구성 및 활성화 방법을 EventBridge 포함하여 자세한 내용은 Amazon 사용 EventBridge 설명서를 참조하십시오.