を使用した AWS IoT Greengrass V2 API コールのログ記録 AWS CloudTrail - AWS IoT Greengrass

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

を使用した AWS IoT Greengrass V2 API コールのログ記録 AWS CloudTrail

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 アカウント、 のイベントの継続的な記録については AWS IoT Greengrass、証跡を作成します。証跡により、 はログファイル 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 コンソール、、または CloudTrail API オペレーションを使用して AWS CLI、 AWS IoT Greengrass リソースタイプのデータイベントをログに記録できます。このセクションのは、 で使用できるリソースタイプを示しています AWS IoT Greengrass。

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

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

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

    3. 使用するログセレクタテンプレートを選択します。リソースタイプのすべてのデータイベントをログに記録したり、すべてのreadOnlyイベントをログに記録したり、すべてのwriteOnlyイベントをログに記録したり、カスタムログセレクタテンプレートを作成して readOnly、、eventNameおよび 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 はアクセス拒否イベントを記録しません。

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

にフィルターを追加して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" }