このドキュメントでは、Datastore の監査ロギングについて説明します。Google Cloud サービスは、Google Cloud リソース内の管理アクティビティとアクセス アクティビティを記録する監査ログを生成します。 Cloud Audit Logs の詳細については、以下をご覧ください。
メモ
監査ロギングを構成する場合、サービス名 datastore.googleapis.com
は datastore.googleapis.com
API 呼び出しと firestore.googleapis.com
API 呼び出しの両方のログを構成します。DATA_READ
リクエストまたは DATA_WRITE
リクエストの処理に要した時間を表示するには、AuditLog
の metadata
オブジェクト内の processing_duration
フィールドをご覧ください。processing_duration
は、データベースがリクエストを実際に処理するのにかかった時間を表します。これはエンドユーザーのレイテンシよりも小さくなります。特に、ネットワーク オーバーヘッドは含まれません。
サービス名
データストアの監査ログでは、サービス名 datastore.googleapis.com
が使用されます。このサービスでフィルタ:
protoPayload.serviceName="datastore.googleapis.com"
メソッド(権限タイプ別)
各 IAM 権限には type
プロパティがあります。このプロパティの値は列挙型で、ADMIN_READ
、ADMIN_WRITE
、DATA_READ
、DATA_WRITE
のいずれかになります。メソッドを呼び出すと、Datastore はそのメソッドの実行に必要な権限の type
プロパティによって変わるカテゴリの監査ログを生成します。type
プロパティ値が DATA_READ
、DATA_WRITE
、または ADMIN_READ
の IAM 権限を必要とするメソッドは、データアクセス監査ログを生成します。type
プロパティ値が ADMIN_WRITE
の IAM 権限を必要とするメソッドは、管理アクティビティ監査ログを生成します。
権限タイプ | メソッド |
---|---|
ADMIN_READ |
google.datastore.admin.v1.DatastoreAdmin.GetIndex google.datastore.admin.v1.DatastoreAdmin.ListIndexes google.longrunning.Operations.GetOperation google.longrunning.Operations.ListOperations |
ADMIN_WRITE |
google.datastore.admin.v1.DatastoreAdmin.CreateIndex google.datastore.admin.v1.DatastoreAdmin.DeleteIndex google.datastore.admin.v1.DatastoreAdmin.ExportEntities google.datastore.admin.v1.DatastoreAdmin.ImportEntities google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities google.longrunning.Operations.CancelOperation google.longrunning.Operations.DeleteOperation |
DATA_READ |
google.datastore.v1.Datastore.BeginTransaction google.datastore.v1.Datastore.Lookup google.datastore.v1.Datastore.Rollback google.datastore.v1.Datastore.RunAggregationQuery google.datastore.v1.Datastore.RunQuery google.datastore.v1beta3.Datastore.BeginTransaction google.datastore.v1beta3.Datastore.Lookup google.datastore.v1beta3.Datastore.Rollback google.datastore.v1beta3.Datastore.RunAggregationQuery google.datastore.v1beta3.Datastore.RunQuery |
DATA_WRITE |
google.datastore.v1.Datastore.AllocateIds google.datastore.v1.Datastore.Commit google.datastore.v1.Datastore.ReserveIds google.datastore.v1beta3.Datastore.AllocateIds google.datastore.v1beta3.Datastore.Commit google.datastore.v1beta3.Datastore.ReserveIds |
API インターフェースの監査ログ
各メソッドで評価される権限と評価方法については、Datastore の Identity and Access Management のドキュメントをご覧ください。
google.datastore.admin.v1.DatastoreAdmin
次の監査ログは、google.datastore.admin.v1.DatastoreAdmin
に属するメソッドに関連付けられています。
CreateIndex
- メソッド:
google.datastore.admin.v1.DatastoreAdmin.CreateIndex
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.indexes.create - ADMIN_WRITE
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: 長時間実行オペレーション
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.CreateIndex"
DeleteIndex
- メソッド:
google.datastore.admin.v1.DatastoreAdmin.DeleteIndex
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.indexes.delete - ADMIN_WRITE
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: 長時間実行オペレーション
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.DeleteIndex"
ExportEntities
- メソッド:
google.datastore.admin.v1.DatastoreAdmin.ExportEntities
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.databases.export - ADMIN_WRITE
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: 長時間実行オペレーション
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.ExportEntities"
GetIndex
- メソッド:
google.datastore.admin.v1.DatastoreAdmin.GetIndex
- 監査ログのタイプ: データアクセス
- 権限:
datastore.indexes.get - ADMIN_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.GetIndex"
ImportEntities
- メソッド:
google.datastore.admin.v1.DatastoreAdmin.ImportEntities
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.databases.import - ADMIN_WRITE
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: 長時間実行オペレーション
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.ImportEntities"
ListIndexes
- メソッド:
google.datastore.admin.v1.DatastoreAdmin.ListIndexes
- 監査ログのタイプ: データアクセス
- 権限:
datastore.indexes.list - ADMIN_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.ListIndexes"
google.datastore.admin.v1beta1.DatastoreAdmin
次の監査ログは、google.datastore.admin.v1beta1.DatastoreAdmin
に属するメソッドに関連付けられています。
ExportEntities
- メソッド:
google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.databases.export - ADMIN_WRITE
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: 長時間実行オペレーション
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities"
ImportEntities
- メソッド:
google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.databases.import - ADMIN_WRITE
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: 長時間実行オペレーション
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities"
google.datastore.v1.Datastore
次の監査ログは、google.datastore.v1.Datastore
に属するメソッドに関連付けられています。
AllocateIds
- メソッド:
google.datastore.v1.Datastore.AllocateIds
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.allocateIds - DATA_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.AllocateIds"
BeginTransaction
- メソッド:
google.datastore.v1.Datastore.BeginTransaction
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.BeginTransaction"
Commit
- メソッド:
google.datastore.v1.Datastore.Commit
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
datastore.entities.create - DATA_WRITE
datastore.entities.delete - DATA_WRITE
datastore.entities.update - DATA_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.Commit"
Lookup
- メソッド:
google.datastore.v1.Datastore.Lookup
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.Lookup"
ReserveIds
- メソッド:
google.datastore.v1.Datastore.ReserveIds
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.allocateIds - DATA_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.ReserveIds"
Rollback
- メソッド:
google.datastore.v1.Datastore.Rollback
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.Rollback"
RunAggregationQuery
- メソッド:
google.datastore.v1.Datastore.RunAggregationQuery
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READ
datastore.entities.list - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.RunAggregationQuery"
RunQuery
- メソッド:
google.datastore.v1.Datastore.RunQuery
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READ
datastore.entities.list - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.RunQuery"
google.datastore.v1beta3.Datastore
次の監査ログは、google.datastore.v1beta3.Datastore
に属するメソッドに関連付けられています。
AllocateIds
- メソッド:
google.datastore.v1beta3.Datastore.AllocateIds
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
datastore.entities.allocateIds - DATA_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.AllocateIds"
BeginTransaction
- メソッド:
google.datastore.v1beta3.Datastore.BeginTransaction
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.BeginTransaction"
Commit
- メソッド:
google.datastore.v1beta3.Datastore.Commit
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.create - DATA_WRITE
datastore.entities.delete - DATA_WRITE
datastore.entities.update - DATA_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.Commit"
Lookup
- メソッド:
google.datastore.v1beta3.Datastore.Lookup
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.Lookup"
ReserveIds
- メソッド:
google.datastore.v1beta3.Datastore.ReserveIds
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
datastore.entities.allocateIds - DATA_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.ReserveIds"
Rollback
- メソッド:
google.datastore.v1beta3.Datastore.Rollback
- 監査ログのタイプ: データアクセス
- 権限:
datastore.databases.get - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.Rollback"
RunAggregationQuery
- メソッド:
google.datastore.v1beta3.Datastore.RunAggregationQuery
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READ
datastore.entities.list - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.RunAggregationQuery"
RunQuery
- メソッド:
google.datastore.v1beta3.Datastore.RunQuery
- 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READ
datastore.entities.list - DATA_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.RunQuery"
google.longrunning.Operations
次の監査ログは、google.longrunning.Operations
に属するメソッドに関連付けられています。
CancelOperation
- メソッド:
google.longrunning.Operations.CancelOperation
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.operations.cancel - ADMIN_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.longrunning.Operations.CancelOperation"
DeleteOperation
- メソッド:
google.longrunning.Operations.DeleteOperation
- 監査ログのタイプ: 管理アクティビティ
- 権限:
datastore.operations.delete - ADMIN_WRITE
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.longrunning.Operations.DeleteOperation"
GetOperation
- メソッド:
google.longrunning.Operations.GetOperation
- 監査ログのタイプ: データアクセス
- 権限:
datastore.operations.get - ADMIN_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.longrunning.Operations.GetOperation"
ListOperations
- メソッド:
google.longrunning.Operations.ListOperations
- 監査ログのタイプ: データアクセス
- 権限:
datastore.operations.list - ADMIN_READ
- メソッドが長時間実行またはストリーミング オペレーションである:
いいえ。
- このメソッドのフィルタ:
protoPayload.methodName="google.longrunning.Operations.ListOperations"
監査ログを生成しないメソッド
メソッドが監査ログを生成しない理由は、次のいずれかの可能性があります。
- これは、大量のログの生成とストレージのコストを要する大容量法です。
- 監査値が低い。
- 別の監査ログまたはプラットフォーム ログでメソッド カバレッジがすでに提供されている。
次のメソッドは監査ログを生成しません。
google.longrunning.Operations.WaitOperation