このドキュメントでは、Datastore の監査ロギングについて説明します。 Google Cloud サービスは、 Google Cloud リソース内の管理アクティビティとアクセス アクティビティを記録する監査ログを生成します。Cloud Audit Logs の詳細については、以下をご覧ください。
メモ
監査ロギングを構成する場合、サービス名 datastore.googleapis.com は datastore.googleapis.com と firestore.googleapis.com の両方の API 呼び出しのログを構成します。DATA_READ リクエストまたは DATA_WRITE リクエストの処理にかかった時間を表示するには、AuditLog の metadata オブジェクト内の processing_duration フィールドをご覧ください。processing_duration は、データベースがリクエストの処理に実際に要した時間を示します。これはエンドユーザーのレイテンシよりも小さくなります。特に、ネットワーク オーバーヘッドは含まれません。
サービス名
Datastore 監査ログではサービス名 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.GetIndexgoogle.datastore.admin.v1.DatastoreAdmin.ListIndexesgoogle.longrunning.Operations.GetOperationgoogle.longrunning.Operations.ListOperations |
ADMIN_WRITE |
google.datastore.admin.v1.DatastoreAdmin.CreateIndex(LRO)google.datastore.admin.v1.DatastoreAdmin.DeleteIndexgoogle.datastore.admin.v1.DatastoreAdmin.ExportEntities(LRO)google.datastore.admin.v1.DatastoreAdmin.ImportEntities(LRO)google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities(LRO)google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities(LRO)google.longrunning.Operations.CancelOperationgoogle.longrunning.Operations.DeleteOperation |
DATA_READ |
google.datastore.v1.Datastore.BeginTransactiongoogle.datastore.v1.Datastore.Lookupgoogle.datastore.v1.Datastore.Rollbackgoogle.datastore.v1.Datastore.RunAggregationQuerygoogle.datastore.v1.Datastore.RunQuerygoogle.datastore.v1beta3.Datastore.BeginTransactiongoogle.datastore.v1beta3.Datastore.Lookupgoogle.datastore.v1beta3.Datastore.Rollbackgoogle.datastore.v1beta3.Datastore.RunAggregationQuerygoogle.datastore.v1beta3.Datastore.RunQuery |
DATA_WRITE |
google.datastore.v1.Datastore.AllocateIdsgoogle.datastore.v1.Datastore.Commitgoogle.datastore.v1.Datastore.ReserveIdsgoogle.datastore.v1beta3.Datastore.AllocateIdsgoogle.datastore.v1beta3.Datastore.Commitgoogle.datastore.v1beta3.Datastore.ReserveIds |
API インターフェースの監査ログ
各メソッドで評価される権限と評価方法については、Identity and Access Management のドキュメントで Datastore の情報をご覧ください。
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_READdatastore.entities.create - DATA_WRITEdatastore.entities.delete - DATA_WRITEdatastore.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_READdatastore.entities.list - DATA_READ
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか:
どちらでもない。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1.Datastore.RunAggregationQuery"
RunQuery
- メソッド:
google.datastore.v1.Datastore.RunQuery - 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READdatastore.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.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_WRITEdatastore.entities.delete - DATA_WRITEdatastore.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.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_READdatastore.entities.list - DATA_READ
- メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか:
どちらでもない。
- このメソッドのフィルタ:
protoPayload.methodName="google.datastore.v1beta3.Datastore.RunAggregationQuery"
RunQuery
- メソッド:
google.datastore.v1beta3.Datastore.RunQuery - 監査ログのタイプ: データアクセス
- 権限:
datastore.entities.get - DATA_READdatastore.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