AWS CloudTrail로 IAM Identity Center SCIM API 직접 호출 로깅
IAM Identity Center SCIM은 사용자, 역할, 또는 AWS 서비스가 수행한 작업에 대한 레코드를 제공하는 서비스인 AWS CloudTrail와 통합됩니다. CloudTrail은 SCIM에 대한 API 직접 호출을 이벤트로 캡처합니다. CloudTrail에서 수집한 정보를 사용하여 요청된 작업에 대한 정보, 작업 날짜 및 시간, 요청 파라미터 등을 확인할 수 있습니다. CloudTrail에 대한 자세한 내용은 AWS CloudTrail 사용 설명서를 참조하십시오.
지원되는 이벤트 활동이 SCIM에서 발생하면, 해당 활동이 이벤트 기록의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에서 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. SCIM의 이벤트는 eventSource
가 identitystore-scim.amazonaws.com
로 설정됩니다. 자세한 설명은 CloudTrail 이벤트 기록 작업을 참조하세요.
참고
CloudTrail은 계정 생성 시 AWS 계정에서 사용되도록 설정됩니다. 그러나 SCIM에서 이벤트를 보려면 액세스 토큰을 교체해야 할 수도 있습니다.
자세한 내용은 액세스 토큰 교체 단원을 참조하십시오.
SCIM는 다음 작업에 대한 로그를 CloudTrail의 이벤트로 기록할 수 있도록 지원합니다.
예시
다음은 CloudTrail 이벤트의 몇 가지 예입니다.
예제 1: 성공적인 CreateUser
호출의 이벤트입니다.
{
"eventVersion": "1.10",
"userIdentity": {
"type": "WebIdentityUser",
"accountId": "123456789012",
"accessKeyId": "xxxx"
},
"eventTime": "xxxx",
"eventSource": "identitystore-scim.amazonaws.com",
"eventName": "CreateUser",
"awsRegion": "us-east-1",
"sourceIPAddress": "xx.xxx.xxx.xxx",
"userAgent": "Go-http-client/2.0",
"requestParameters": {
"httpBody": {
"displayName": "HIDDEN_DUE_TO_SECURITY_REASONS",
"name": {
"familyName": "HIDDEN_DUE_TO_SECURITY_REASONS",
"givenName": "HIDDEN_DUE_TO_SECURITY_REASONS"
},
"active": true,
"userName": "HIDDEN_DUE_TO_SECURITY_REASONS"
},
"tenantId": "xxxx"
},
"responseElements": {
"displayName": "HIDDEN_DUE_TO_SECURITY_REASONS",
"name": {
"familyName": "HIDDEN_DUE_TO_SECURITY_REASONS",
"givenName": "HIDDEN_DUE_TO_SECURITY_REASONS"
},
"active": true,
"userName": "HIDDEN_DUE_TO_SECURITY_REASONS"
},
"requestID": "xxxx",
"eventID": "xxxx",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "123456789012",
"eventCategory": "Management",
"tlsDetails": {
"clientProvidedHostHeader": "scim.us-east-1.amazonaws.com"
}
}
예 2: 경로 누락으로 인한 Missing path in PATCH request
오류 메시지가 발생하는 PatchGroup
의 이벤트입니다.
{
"eventVersion": "1.10",
"userIdentity": {
"type": "WebIdentityUser",
"accountId": "123456789012",
"accessKeyId": "xxxx"
},
"eventTime": "xxxx",
"eventSource": "identitystore-scim.amazonaws.com",
"eventName": "PatchGroup",
"awsRegion": "us-east-1",
"sourceIPAddress": "xxx.xxx.xxx.xxx",
"userAgent": "Go-http-client/2.0",
"errorCode": "ValidationException",
"errorMessage": "Missing path in PATCH request",
"requestParameters": {
"httpBody": {
"operations": [
{
"op": "REMOVE",
"value": "HIDDEN_DUE_TO_SECURITY_REASONS"
}
],
"schemas": [
"HIDDEN_DUE_TO_SECURITY_REASONS"
]
},
"tenantId": "xxxx",
"id": "xxxx"
},
"responseElements": null,
"requestID": "xxxx",
"eventID": "xxxx",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "123456789012",
"eventCategory": "Management",
"tlsDetails": {
"clientProvidedHostHeader": "scim.us-east-1.amazonaws.com"
}
}
예 3: 생성하려는 그룹의 이름이 존재하므로 Duplicate GroupDisplayName
오류 메시지가 표시되는 CreateGroup
호출 이벤트입니다.
{
"eventVersion": "1.10",
"userIdentity": {
"type": "WebIdentityUser",
"accountId": "123456789012",
"accessKeyId": "xxxx"
},
"eventTime": "xxxx",
"eventSource": "identitystore-scim.amazonaws.com",
"eventName": "CreateGroup",
"awsRegion": "us-east-1",
"sourceIPAddress": "xxx.xxx.xxx.xxx",
"userAgent": "Go-http-client/2.0",
"errorCode": "ConflictException",
"errorMessage": "Duplicate GroupDisplayName",
"requestParameters": {
"httpBody": {
"displayName": "HIDDEN_DUE_TO_SECURITY_REASONS"
},
"tenantId": "xxxx"
},
"responseElements": null,
"requestID": "xxxx",
"eventID": "xxxx",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "123456789012",
"eventCategory": "Management",
"tlsDetails": {
"clientProvidedHostHeader": "scim.us-east-1.amazonaws.com"
}
}
예 4: List attribute emails exceeds allowed limit of 1 error
오류 메시지가 표시되는 PatchUser
호출 이벤트입니다. 사용자는 이메일 주소를 하나만 가질 수 있습니다.
{ "eventVersion": "1.10", "userIdentity": { "type": "WebIdentityUser", "accountId": "123456789012", "accessKeyId": "xxxx" }, "eventTime": "xxxx", "eventSource": "identitystore-scim.amazonaws.com", "eventName": "PatchUser", "awsRegion": "us-east-1", "sourceIPAddress": "xxx.xxx.xxx.xxx", "userAgent": "Go-http-client/2.0", "errorCode": "ValidationException", "errorMessage": "List attribute emails exceeds allowed limit of 1", "requestParameters": { "httpBody": { "operations": [ { "op": "REPLACE", "path": "emails", "value": "HIDDEN_DUE_TO_SECURITY_REASONS" } ], "schemas": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ] }, "tenantId": "xxxx", "id": "xxxx" }, "responseElements": null, "requestID": "xxxx", "eventID": "xxxx", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "scim.us-east-1.amazonaws.com" } }
일반 오류 메시지
다음은 IAM Identity Center SCIM API 호출에 대한 CloudTrail 이벤트에서 수신할 수 있는 일반적인 검증 오류 메시지입니다.
-
목록 속성 이메일이 허용 한도인 1을 초과합니다.
-
허용 한도 1의 속성 주소 나열
-
유효성 검사 오류 1건이 감지됨: '*name.familyName *'의 값이 제약 조건을 충족하지 못함: 구성원이 정규식 패턴을 충족해야 함: [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+
-
검증 오류가 2건 감지됨: 'name.familyName'의 값이 제약 조건을 충족하지 못함: 구성원의 길이는 1 이상이어야 합니다. 'name.familyName'의 값이 제약 조건을 충족하지 못했습니다. 구성원은 정규식 패턴을 충족해야 합니다. [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+
-
검증 오류 2건이 감지됨: 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.value'의 값이 제약 조건을 충족하지 못함: 구성원의 길이가 1 이상이어야 함; 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.value'의 값이 제약 조건을 충족하지 못함: 구성원이 정규 표현식 패턴을 충족해야 함: [\\p{L}\\p{M}\\p{S}\\p{N}\\t\n\\r]+',
-
RequestBody의 잘못된 JSON
-
잘못된 필터 형식
IAM Identity Center SCIM 프로비저닝 오류 문제 해결에 대한 자세한 내용은 이 AWS re:Post 문서