AWS CloudTrail を使用した IAM Identity Center SCIM API コールのログ記録 - AWS IAM Identity Center

AWS CloudTrail を使用した IAM Identity Center SCIM API コールのログ記録

IAM Identity Center は、ユーザー、ロール、または AWS のサービスによって実行されるアクションの記録を提供するサービスである AWS CloudTrail と統合されています。CloudTrail は、SCIM の API コールをイベントとしてキャプチャします。CloudTrail によって収集される情報を使用することで、リクエストされたアクション、アクションの日付と時刻、リクエストパラメータなどに関する情報を確認できます。CloudTrail の詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。

サポートされるイベントアクティビティが SCIM で発生すると、そのアクティビティは [イベント履歴] にある他の AWS のサービスイベントと共に CloudTrail イベントに記録されます。最近のイベントは、AWS アカウント で表示、検索、ダウンロードできます。SCIM からのイベントでは、eventSourceidentitystore-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 呼び出しからのイベント。ユーザーは E メールアドレスを 1 つだけ持つことができます。

{ "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 イベントで受信できる一般的な検証エラーメッセージを次に示します。

  • リスト属性の E メールが 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}\\p{P}\\t\\n\\r ]+"、

  • RequestBody からの無効な JSON

  • 無効なフィルター形式

IAM Identity Center SCIM プロビジョニングエラーのトラブルシューティングの詳細については、こちらの「AWS re:Post 記事」を参照してください。