このページでは、Cloud Audit Logs の一部として Cloud IoT Core によって作成される監査ログについて説明します。
概要
Google Cloud サービスは、「誰がいつどこで何をしたか」の確認に役立つ監査ログを記録します。各 Google Cloud プロジェクトで記録されるのは、そのプロジェクト内に直接存在するリソースの監査ログのみです。フォルダ、組織、請求アカウントなどのその他のエンティティには、そのエンティティ自体の監査ログが含まれます。
Cloud IoT Core は管理アクティビティの監査ログを記録します。このようなアクティビティには、リソースの構成やメタデータを変更するオペレーションが含まれます。このログはデフォルトで提供されます。これには、デバイス設定、クラウドからデバイスの構成、デバイス レジストリの設定が含まれます。
Cloud IoT Core は、データアクセスに関する監査ログを書き込みます。このログには、ユーザー提供データを読み取る API 呼び出しが記録されます。このログは、デフォルトでは提供されません。
監査ログの有効化
管理アクティビティ監査ログはデフォルトで有効になっており、Cloud Logging の除外でのみ無効にできます。
Google Cloud のほとんどのデータアクセス監査ログは、デフォルトで無効になっています。例外は BigQuery のデータアクセス監査ログです。これはデフォルトで有効で、無効にすることはできません。BigQuery のデータアクセス ログは、プロジェクトのログ割り当て量にはカウントされません。
データアクセス ログの一部またはすべてを有効にする方法については、データアクセス ログの構成をご覧ください。
データアクセスログを構成すると、Google Cloud のオペレーションスイートのログの料金に影響する可能性があります。詳細については、このページの料金セクションをご覧ください。
監査対象のオペレーション
次の表に、Cloud IoT Core の各監査ログタイプに対応する API オペレーションをまとめます。
監査ログのカテゴリ | Cloud IoT Core のオペレーション |
---|---|
管理アクティビティ ログ |
|
データアクセス ログ(ADMIN_READ ) |
|
データアクセス ログ(DATA_READ ) |
なし |
データアクセス ログ(DATA_WRITE ) |
なし |
データアクセス ログ
データアクセス監査ログには、3 つのカテゴリ(ADMIN_READ
、DATA_READ
、DATA_WRITE
)があります。ただし、Cloud IoT Core は、ADMIN_READ
データアクセス ログのみを使用します。これは、DATA_READ
ログと DATA_WRITE
ログが、ユーザーデータを保存および管理するサービス(Cloud Storage、Cloud Spanner、Cloud SQL など)にのみ使用されるためで、Cloud IoT Core には当てはまりません。
データアクセス ログの種類 | 説明 | 利用状況 |
---|---|---|
ADMIN_READ |
リソースの構成やメタデータを読み取るオペレーション。 | Cloud IoT Core は、デフォルトでは ADMIN_READ ログを提供しません。 |
DATA_READ |
リソースからユーザー提供のデータを読み取るオペレーション。 | Cloud IoT Core は、DATA_READ ログを提供しません。 |
DATA_WRITE |
ユーザー提供データをリソースに書き込むオペレーション。 | Cloud IoT Core は、DATA_WRITE ログを提供しません。 |
デフォルトで提供されない監査情報は構成できます。詳しくは、データアクセス ログの構成をご覧ください。
監査ログ形式
ログビューア、API、または SDK の gcloud logging
コマンドを使用して表示できる監査ログエントリには、次のオブジェクトがあります。
ログエントリ自体。
LogEntry
型のオブジェクトです。よく使用されるフィールドは次のとおりです。logName
: プロジェクト ID と監査ログタイプが格納されます。resource
: 監査対象オペレーションのターゲットが格納されます。timestamp
: 監査対象オペレーションの時間が格納されます。protoPayload
: 監査情報が格納されます。
監査情報。ログエントリの
protoPayload
フィールドに保持されるAuditLog
オブジェクトです。
これらのオブジェクトの他のフィールド、その内容の例、オブジェクト内の情報に対するクエリの例については、監査ログのデータ型をご覧ください。
ログ名とサービス名
Cloud 監査ログのログ名は、監査ログを所有するプロジェクトまたはその他のエンティティを示します。この名前を見ると、ログに管理アクティビティ、データアクセス情報のどちらが含まれているかわかります。たとえば、次のログ名はプロジェクトの管理アクティビティ ログと組織のデータアクセス ログを表しています。
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
サービス名とリソースタイプ
Cloud IoT Core の監査ログでは、サービス名 cloudiot.googleapis.com
が使用されます。
Cloud IoT Core の監査ログは、すべての監査ログにリソースタイプ cloudiot_device
と cloudiot_device_registry
を使用します。
ロギング サービスとリソースについて詳しくは、サービスとリソースのマッピングをご覧ください。
監査ログに関する権限
どの監査ログを表示またはエクスポートできるかは、Identity and Access Management の権限とロールによって決まります。ログは、プロジェクト内またはその他のエンティティ(組織、フォルダ、請求先アカウントなど)内に存在します。詳しくは、役割についてをご覧ください。
管理アクティビティ ログを表示するには、その監査ログが存在するプロジェクト内で次のいずれかの IAM ロールを持っている必要があります。
- プロジェクト オーナー、プロジェクト編集者、またはプロジェクト閲覧者。詳しくは、基本ロールをご覧ください。
- Logging の ログ閲覧者ロール。
- カスタムの IAM ロール(
logging.logEntries.list
IAM 権限を含む)。
データアクセス ログを表示するには、その監査ログが存在するプロジェクト内で次のいずれかの役割を持っている必要があります。
- プロジェクト オーナー。
- Logging のプライベート ログビューアロール。
- カスタムの IAM ロール(
logging.privateLogEntries.list
IAM 権限を含む)。
組織などのプロジェクト以外のエンティティからの監査ログを使用する場合は、プロジェクトのロールを適切な組織のロールに変更します。
ログの表示
次のいずれかの方法で、プロジェクトの監査ログを表示できます。
アクティビティ ダッシュボードで管理アクティビティ ログの概要を表示します。
ログ エクスプローラを使用してすべての監査ログを表示します。
詳細については、次のオプションをご覧ください。
基本ビューア
ログ エクスプローラの基本的なインターフェースを使用し、次の手順で監査ログのエントリを取得できます。
- 最初のメニューで、監査ログを表示するリソースタイプを選択します。特定のリソースまたはすべてのリソースを選択します。
- 2 番目のメニューで、表示するログ名を選択します。管理アクティビティ監査ログの場合は、
activity
、データアクセス監査ログの場合はdata_access
をご覧ください。これらのオプションの一方または両方が表示されない場合、そのタイプの監査ログは使用できません。
高度なビューア
- ログ エクスプローラで高度なフィルタ インターフェースに切り替えます。
- 目的のリソースタイプとログ名を指定するフィルタを作成します。詳細については、監査ログの取得をご覧ください。
API
Logging API を使用してログエントリを読み取る場合は、entries.list
をご覧ください。
SDK
Google Cloud CLI を使用してログエントリを読み取る方法については、ログエントリを読み取るをご覧ください。
監査ログのエクスポート
監査ログは、他の種類のログをエクスポートする場合と同じ方法でエクスポートできます。ログのエクスポート方法について詳しくは、ログのエクスポートをご覧ください。監査ログのエクスポートに関する応用例の一部を以下に示します。
監査ログを長期間保持する、またはより強力な検索機能を使用するには、監査ログのコピーを Cloud Storage、BigQuery、または Pub/Sub にエクスポートします。Pub/Sub を使用すると、他のアプリケーション、他のリポジトリ、サードパーティ製品にエクスポートできます。
組織全体の監査ログを管理するには、組織内の一部またはすべてのプロジェクトからログをエクスポートできる集約シンクを作成します。
有効にしたデータアクセス ログが原因でプロジェクトのログ割り当てを超過した場合は、データアクセス ログをエクスポートしてロギングから除外できます。詳細については、ログの除外をご覧ください。
料金
デフォルトで有効になっている Cloud Logging の監査ログ(すべての管理アクティビティ ログを含む)は無料です。これらのログは、ログ取り込み割り当ての計算対象外です。
明示的にリクエストしたデータアクセスログについては課金されます。
ログ(監査ログを含む)の料金の詳細については、Google Cloud のオペレーション スイート料金をご覧ください。
除外メソッド
次の Cloud IoT Core API メソッドは、監査ログに記録されません。
registries.testIamPermissions
registries.devices.configVersions.list
registries.devices.states.list