Amazon Connect 管理画面を操作した際のログを確認する方法

困っていた内容

Amazon Connect の管理画面でエージェントが操作した記録を確認したいです。
操作ログを確認する方法を教えてください。

どう対応すればいいの?

CloudTrail のイベント履歴の機能を利用することで、Amazon Connect の管理画面で操作した際のログを確認することができます。
CloudTrail では AWS コンソール上の Amazon Connect サービスの操作のみではなく、Amazon Connect の管理画面で操作した際のイベントも記録します。

やってみた

どのように CloudTrail のイベント履歴に Amazon Connect の管理画面で操作した記録を確認していきます。
今回は Amazon Connect の管理画面からキューを作成して、その後、どのように記録されるかを CloudTrail で確認します。

まずはじめに、Amazon Connect管理画面より「ルーティング」→「キュー」を選択して、キューの追加をします。
下記のように、名前とオペレーション時間を記入して作成します。

その後、CloudTrail を確認します。
CloudTrail のイベント履歴より、Amazon Connect で記録されたイベントを確認するために、イベントソースを connect.amazonaws.com と設定します。

上記の通り、「CreateQueue」のイベントを確認することができます。
操作した時間、操作したユーザーなどが表示されます。
CloudTrail イベントのレコード内容については、CloudTrail レコードの内容 のドキュメントをご確認ください。

イベントレコードについては下記に記載いたします。

イベントレコード
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "XXXXXXXXXXXXX:5d5a4d61-a5cc-48b9-b388-bdba7c4eed25",
        "arn": "arn:aws:sts::XXXXXXXX:assumed-role/AWSServiceRoleForAmazonConnect_RXHyB7FEfLt18sirsvEE/5d5a4d61-a5cc-48b9-b388-bdba7c4eed25",
        "accountId": "XXXXXXXXXXX",
        "accessKeyId": "XXXXXXXXXX",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "XXXXXXXXX",
                "arn": "arn:aws:iam::XXXXXXXXX:role/aws-service-role/connect.amazonaws.com/AWSServiceRoleForAmazonConnect_RXHyB7FEfLt18sirsvEE",
                "accountId": "XXXXXXXXXX",
                "userName": "AWSServiceRoleForAmazonConnect_RXHyB7FEfLt18sirsvEE"
            },
            "attributes": {
                "creationDate": "2024-05-11T22:58:42Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "connect.amazonaws.com"
    },
    "eventTime": "2024-05-11T23:09:34Z",
    "eventSource": "connect.amazonaws.com",
    "eventName": "CreateQueue",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "connect.amazonaws.com",
    "userAgent": "connect.amazonaws.com",
    "requestParameters": {
        "InstanceId": "XXXXXXXXX",
        "HoursOfOperationId": "XXXXXXXXX",
        "Name": "queue-test-1"
    },
    "responseElements": {
        "QueueArn": "arn:aws:connect:us-east-1:XXXXXXXXX:instance/e013010d-c287-401c-8e59-XXXXXXXXX/queue/a83ab579-6766-4d6f-82e1-fef7c743a510",
        "QueueId": "a83ab579-6766-4d6f-82e1-fef7c743a510"
    },
    "requestID": "bc8c8c7d-87b6-4959-95aa-a7e9bc3c0d21",
    "eventID": "0fa6827c-2ff1-4317-be02-d94be2334bb3",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "XXXXXXXXX",
    "eventCategory": "Management"
}

ユーザ名 5d5a4d61-a5cc-48b9-b388-bdba7c4eed25 は記載がございますが、こちらはユーザーの ID となり、ユーザーネームとして、表示されておりません。
そのため、このユーザーIDから、ユーザーネーム(ユーザー名)を特定する必要がございます。
ユーザー名を特定するために、CloudShell 経由で AWS CLI を利用して、ListUsers の API でユーザーリストの情報を取得します。

aws connect list-users --instance-id e013010d-c287-401c-8e59-XXXXXXXXX
{
    "UserSummaryList": [
        {
            "Id": "5d5a4d61-a5cc-48b9-b388-bdba7c4eed25",
            "Arn": "arn:aws:connect:us-east-1:XXXXXXXXX:instance/e013010d-c287-401c-8e59-XXXXXXXXX/agent/5d5a4d61-a5cc-48b9-b388-bdba7c4eed25",
            "Username": "test-1",
            "LastModifiedTime": "2024-01-18T06:41:13.185000+00:00",
            "LastModifiedRegion": "us-east-1"
        }
    ]
}

上記の通り、ユーザー ID 5d5a4d61-a5cc-48b9-b388-bdba7c4eed25 のユーザー名は test-1 と確認できます。 今回キューを作成したユーザーは test-1 なので、情報が一致していることが分かります。

このように、CloudTrail を利用して、Amazon Connect 管理画面の操作ログを確認することができます。

参考情報