AWS CloudTrail による AWS IoT Greengrass V2 API コールのログ記録 - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudTrail による AWS IoT Greengrass V2 API コールのログ記録

AWS IoT Greengrass V2 は、 のユーザーAWS CloudTrail、ロール、または AWSのサービスによって実行されたアクションを記録するサービスである と統合されていますAWS IoT Greengrass Version 2。 は、 のすべての API コールをイベントAWS IoT Greengrassとして CloudTrail キャプチャします。キャプチャされた呼び出しには、AWS IoT Greengrass コンソールの呼び出しと、AWS IoT Greengrass API オペレーションへのコード呼び出しが含まれます。

証跡を作成する場合は、 の CloudTrail イベントなど、S3 バケットへのイベントの継続的な配信を有効にすることができますAWS IoT Greengrass。証跡を設定しない場合でも、コンソールのイベント履歴 で最新の CloudTrail イベントを表示できます。 で収集された情報を使用して CloudTrail、 に対するリクエストAWS IoT Greengrass、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。

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

AWS IoT Greengrass V2 内の情報 CloudTrail

CloudTrail アカウントを作成するAWS アカウントと、 は で有効になります。でアクティビティが発生するとAWS IoT Greengrass、そのアクティビティは CloudTrail イベント履歴 の他のAWSサービスイベントとともに イベントに記録されます。 最近のイベントは、AWS アカウント で表示、検索、ダウンロードできます。詳細については、「イベント履歴 での CloudTrail イベントの表示」を参照してください。

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

すべての AWS IoT Greengrass V2 アクションは によってログに記録 CloudTrail され、 AWS IoT Greengrass V2 API リファレンス に記載されています。例えば、、、および CancelDeploymentアクションを呼び出すCreateDeploymentCreateComponentVersion、 CloudTrail ログファイルにエントリが生成されます。

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

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

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

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

詳細については、「CloudTrail userIdentity 要素」を参照してください。

AWS IoT Greengrass での データイベント CloudTrail

データイベントは、リソースで、またはリソースで実行されたリソースオペレーションに関する情報を提供します (コンポーネントバージョンやデプロイの設定の取得など)。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。デフォルトでは、 CloudTrail はデータイベントを記録しません。 CloudTrail イベント履歴にはデータイベントは記録されません。

追加の変更がイベントデータに適用されます。 CloudTrail 料金の詳細については、AWS CloudTrail「 の料金」を参照してください。

CloudTrail コンソール、AWS CLI、または CloudTrail API オペレーションを使用して、AWS IoT Greengrassリソースタイプのデータイベントをログに記録できます。このセクションのは、 で使用できるリソースタイプを示していますAWS IoT Greengrass。

  • CloudTrail コンソールを使用してデータイベントを記録するには、証またはイベントデータストアを作成してデータイベントを記録するか、既存の証跡またはイベントデータストアを更新してデータイベントをログに記録します。

    1. データイベントを選択して、データイベントをログに記録します。

    2. データイベントタイプのリストから、データイベントを記録するリソースタイプを選択します。

    3. 使用するログセレクタテンプレートを選択します。リソースタイプのすべてのデータイベントをログに記録したり、すべてのreadOnlyイベントをログに記録したりwriteOnly、、readOnlyeventNameおよび resources.ARNフィールドでフィルタリングするカスタムログセレクタテンプレートを作成したりできます。

  • を使用してデータイベントをログに記録するにはAWS CLI、 eventCategoryフィールドを Dataに、 resources.typeフィールドをリソースタイプ値に等しく設定するように --advanced-event-selectorsパラメータを設定します (を参照)。、readOnlyeventNameおよび resources.ARNフィールドの値でフィルタリングする条件を追加できます。

以下の表に示しているのは、AWS IoT Greengrass リソースタイプです。データイベントタイプ (コンソール) 列には、 CloudTrail コンソールのデータイベントタイプリストから選択する値が表示されます。resources.type 値列には、 AWS CLIまたは CloudTrail APIsを使用して高度なイベントセレクタを設定するときに指定する resources.type値が表示されます。列にログ記録された Data APIs CloudTrail には、リソースタイプについて に CloudTrailログ記録された API コールが表示されます。

データイベントタイプ (コンソール) resources.type 値 にログ記録APIs CloudTrail
IoT 証明書 AWS::IoT::Certificate
  • VerifyClientDeviceIdentity

  • VerifyClientDeviceIoTCertificateAssociation

IoT Greengrass コンポーネントバージョン AWS::GreengrassV2::ComponentVersion
IoT Greengrass デプロイ AWS::GreengrassV2::Deployment
  • GetDeploymentConfiguration

IoT モノ AWS::IoT::Thing
  • ListThingGroupsForCoreDevices

  • PutCertificateAuthorities

  • VerifyClientDeviceIoTCertificateAssociation

注記

Greengrass はアクセス拒否イベントを記録しません。

eventName、および resources.ARNフィールドでフィルタリングしてreadOnly、自分にとって重要なイベントのみをログに記録するように高度なイベントセレクタを設定できます。

にフィルターを追加してeventName、特定のデータ APIs。

フィールドの詳細については、「AdvancedFieldSelector」を参照してください。

次の例は、 を使用して高度なセレクタを設定する方法を示していますAWS CLI。TrailNameregion をユーザー自身の情報に置き換えます。

例 — IoT モノのデータイベントをログに記録する
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log all thing data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [“Data”] }, { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] } ] } ]’
例 - 特定の IoT モノの API でフィルタリングする
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log IoT Greengrass PutCertificateAuthorities API calls”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [“Data”] }, { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] }, { “Field”: “eventName”, “Equals”: [“PutCertificateAuthorities”] } ] } ]’
例 – すべての Greengrass データイベントをログに記録する
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log all certificate data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::IoT::Certificate” ] } ] }, { “Name”: “Log all component version data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::GreengrassV2::ComponentVersion” ] } ] }, { “Name”: “Log all deployment version”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::GreengrassV2::Deployment” ] } ] }, { “Name”: “Log all thing data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::IoT::Thing” ] } ] } ]’

AWS IoT Greengrass での 管理イベント CloudTrail

管理イベントでは、AWS アカウントのリソースで実行される管理オペレーションについての情報が得られます。これらのイベントは、コントロールプレーンオペレーションとも呼ばれます。デフォルトでは、 は管理イベント CloudTrail を記録します。

AWS IoT Greengrass は、すべてのAWS IoT Greengrassコントロールプレーンオペレーションを管理イベントとして記録します。が AWS IoT Greengrassに記録するAWS IoT Greengrassコントロールプレーンオペレーションのリストについては CloudTrail、 AWS IoT Greengrass API リファレンス、バージョン 2 を参照してください。

AWS IoT Greengrass V2 ログファイルエントリについて

証跡は、指定した S3 バケットにイベントをログファイルとして配信できるようにする設定です。 CloudTrail ログファイルには、1 つ以上のログエントリが含まれます。イベント は、任意の送信元からの単一の要求を表します。これには、リクエストされたアクション、アクションの日時、リクエストパラメータなどに関する情報が含まれます。 CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

次の例は、 CreateDeploymentアクションを示す CloudTrail ログエントリを示しています。

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:user/Administrator", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Administrator" }, "eventTime": "2021-01-06T02:38:05Z", "eventSource": "greengrass.amazonaws.com", "eventName": "CreateDeployment", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.0", "userAgent": "aws-cli/2.1.9 Python/3.7.9 Windows/10 exe/AMD64 prompt/off command/greengrassv2.create-deployment", "requestParameters": { "deploymentPolicies": { "failureHandlingPolicy": "DO_NOTHING", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "deploymentName": "Deployment for MyGreengrassCoreGroup", "components": { "aws.greengrass.Cli": { "componentVersion": "2.0.3" } }, "iotJobConfiguration": {}, "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup" }, "responseElements": { "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/fdfeba1d-ac6d-44ef-ab28-54f684ea578d", "iotJobId": "fdfeba1d-ac6d-44ef-ab28-54f684ea578d", "deploymentId": "4196dddc-0a21-4c54-a985-66a525f6946e" }, "requestID": "311b9529-4aad-42ac-8408-c06c6fec79a9", "eventID": "c0f3aa2c-af22-48c1-8161-bad4a2ab1841", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123456789012" }