AWS CloudTrail を使用した Slack での AWS サポート アプリ API コールのログ記録 - AWS サポート

AWS CloudTrail を使用した Slack での AWS サポート アプリ API コールのログ記録

Slack での AWS サポート アプリには、AWS CloudTrail が統合されています。CloudTrail は、AWS サポート アプリのユーザー、ロール、または AWS のサービス によって実行されたアクションを記録します。このレコードを作成するために、CloudTrail は、AWS サポート アプリのパブリック API コールをすべてイベントとしてキャプチャします。キャプチャされた呼び出しには、AWS サポート アプリコンソールからの呼び出しと、AWS サポート アプリパブリック API オペレーションへのコード呼び出しが含まれます。証跡を作成する場合は、 のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます これらには、AWS サポート アプリのイベントが含まれます。証跡を設定しない場合でも、CloudTrail コンソールの [Event history (イベント履歴)] で最新のイベントを表示できます。CloudTrail で収集された情報は、AWS サポート アプリに対して行われたリクエストの特定に使用できます。また、呼び出し元の IP アドレス、リクエスト実行者、実行日時、追加の詳細を知ることもできます。

CloudTrail の詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。

CloudTrail での AWS サポート アプリ情報

AWS アカウント を作成すると、アカウントで CloudTrail がアクティブ化されます。パブリック API アクティビティが AWS サポート アプリで発生すると、そのアクティビティは、[Event history] (イベント履歴) にある他の AWS サービスにおけるイベントと共に、CloudTrail イベントに記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、「CloudTrail Event 履歴でのイベントの表示」を参照してください。

AWS アカウント アプリのイベントを含め、AWS サポート におけるイベントを継続的に記録するには、証跡を作成します。デフォルトでは、コンソールで証跡を作成するときに、証跡がすべての AWS リージョン に適用されます。証跡は、AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、他の AWS のサービス を設定して、CloudTrail ログに収集されたイベントデータを詳細に分析し、そのデータに基づいてアクションを実行することができます。詳細については、次を参照してください:

CloudTrail は、すべてのパブリック AWS サポート アプリアクションのログを記録します。これらのアクションについては、「Slack の AWS サポート アプリケーションの API リファレンス」にも記載されています。例えば、CreateSlackChannelConfigurationGetAccountAliasUpdateSlackChannelConfiguration の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます:

  • リクエストが、ルート認証情報と AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか。

  • リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。

  • リクエストが、別の AWS のサービス によって送信されたかどうか。

詳細については、「CloudTrail userIdentity エレメント」を参照してください。

AWS サポート アプリのログファイルエントリの理解

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは任意ソースからの単一リクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどの情報を含みます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではありません。つまり、ログは特定の順序で表示されるわけではありません。

例 : CreateSlackChannelConfiguration のログの例

次の例は、CreateSlackChannelConfiguration オペレーションの CloudTrail ログエントリを示したものです。

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:JaneDoe", "arn": "arn:aws:sts::111122223333:assumed-role/Administrator/JaneDoe", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Administrator", "accountId": "111122223333", "userName": "Administrator" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-02-26T01:37:57Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-02-26T01:48:20Z", "eventSource": "supportapp.amazonaws.com", "eventName": "CreateSlackChannelConfiguration", "awsRegion": "us-east-1", "sourceIPAddress": "205.251.233.183", "userAgent": "aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5", "requestParameters": { "notifyOnCreateOrReopenCase": true, "teamId": "T012ABCDEFG", "notifyOnAddCorrespondenceToCase": true, "notifyOnCaseSeverity": "all", "channelName": "troubleshooting-channel", "notifyOnResolveCase": true, "channelId": "C01234A5BCD", "channelRoleArn": "arn:aws:iam::111122223333:role/AWSSupportAppRole" }, "responseElements": null, "requestID": "d06df6ca-c233-4ffb-bbff-63470c5dc255", "eventID": "0898ce29-a396-444a-899d-b068f390c361", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
例 : ListSlackChannelConfigurations のログの例

次の例は、ListSlackChannelConfigurations オペレーションの CloudTrail ログエントリを示したものです。

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:AWSSupportAppRole", "arn": "arn:aws:sts::111122223333:assumed-role/AWSSupportAppRole", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/AWSSupportAppRole", "accountId": "111122223333", "userName": "AWSSupportAppRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-03-01T20:06:32Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-03-01T20:06:46Z", "eventSource": "supportapp.amazonaws.com", "eventName": "ListSlackChannelConfigurations", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.217.131", "userAgent": "aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5", "requestParameters": null, "responseElements": null, "requestID": "20f81d63-31c5-4351-bd02-9eda7f76e7b8", "eventID": "70acb7fe-3f84-47cd-8c28-cc148ad06d21", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
例 : GetAccountAlias のログの例

次の例は、GetAccountAlias オペレーションの CloudTrail ログエントリを示したものです。

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:devdsk", "arn": "arn:aws:sts::111122223333:assumed-role/AWSSupportAppRole/devdsk", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/AWSSupportAppRole", "accountId": "111122223333", "userName": "AWSSupportAppRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-03-01T20:31:27Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-03-01T20:31:47Z", "eventSource": "supportapp.amazonaws.com", "eventName": "GetAccountAlias", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.217.142", "userAgent": "aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5", "requestParameters": null, "responseElements": null, "requestID": "a225966c-0906-408b-b8dd-f246665e6758", "eventID": "79ebba8d-3285-4023-831a-64af7de8d4ad", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }