Model Armor の監査とプラットフォームのロギング

このドキュメントでは、Model Armor の監査ロギングについて説明します。 Google Cloud サービスは、 Google Cloud リソース内の管理アクティビティとアクセス アクティビティを記録する監査ログを生成します。Cloud Audit Logs の詳細については、以下をご覧ください。

サービス名

Model Armor の監査ログでは、サービス名 modelarmor.googleapis.com が使用されます。このサービスでフィルタ:

    protoPayload.serviceName="modelarmor.googleapis.com"
  

メソッド(権限タイプ別)

各 IAM 権限には type プロパティがあります。このプロパティの値は列挙型で、ADMIN_READADMIN_WRITEDATA_READDATA_WRITE のいずれかになります。メソッドを呼び出すと、Model Armor は、カテゴリがメソッドの実行に必要な権限の type プロパティに依存する監査ログを生成します。type プロパティ値が DATA_READDATA_WRITE、または ADMIN_READ の IAM 権限を必要とするメソッドは、データアクセス監査ログを生成します。type プロパティ値が ADMIN_WRITE の IAM 権限を必要とするメソッドは、管理アクティビティ監査ログを生成します。

権限タイプ メソッド
ADMIN_READ google.cloud.modelarmor.v1.ModelArmor.GetFloorSetting
google.cloud.modelarmor.v1.ModelArmor.GetTemplate
google.cloud.modelarmor.v1.ModelArmor.ListTemplates
google.cloud.modelarmor.v1alpha.ModelArmor.GetFloorSetting
google.cloud.modelarmor.v1alpha.ModelArmor.GetTemplate
google.cloud.modelarmor.v1alpha.ModelArmor.ListTemplates
ADMIN_WRITE google.cloud.modelarmor.v1.ModelArmor.CreateTemplate
google.cloud.modelarmor.v1.ModelArmor.DeleteTemplate
google.cloud.modelarmor.v1.ModelArmor.UpdateFloorSetting
google.cloud.modelarmor.v1.ModelArmor.UpdateTemplate
google.cloud.modelarmor.v1alpha.ModelArmor.CreateTemplate
google.cloud.modelarmor.v1alpha.ModelArmor.DeleteTemplate
google.cloud.modelarmor.v1alpha.ModelArmor.UpdateFloorSetting
google.cloud.modelarmor.v1alpha.ModelArmor.UpdateTemplate
DATA_READ google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse
google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt
google.cloud.modelarmor.v1alpha.ModelArmor.SanitizeModelResponse
google.cloud.modelarmor.v1alpha.ModelArmor.SanitizeUserPrompt

API インターフェースの監査ログ

各メソッドで評価される権限と評価方法については、Identity and Access Management のドキュメントで Model Armor の情報をご覧ください。

google.cloud.modelarmor.v1.ModelArmor

次の監査ログは、google.cloud.modelarmor.v1.ModelArmor に属するメソッドに関連付けられています。

CreateTemplate

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.CreateTemplate
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.templates.create - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.CreateTemplate"

DeleteTemplate

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.DeleteTemplate
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.templates.delete - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.DeleteTemplate"

GetFloorSetting

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.GetFloorSetting
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.floorSettings.get - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.GetFloorSetting"

GetTemplate

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.GetTemplate
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.get - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.GetTemplate"

ListTemplates

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.ListTemplates
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.list - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.ListTemplates"

SanitizeModelResponse

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.useToSanitizeModelResponse - DATA_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse"

SanitizeUserPrompt

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.useToSanitizeUserPrompt - DATA_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt"

UpdateFloorSetting

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.UpdateFloorSetting
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.floorSettings.update - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.UpdateFloorSetting"

UpdateTemplate

  • メソッド: google.cloud.modelarmor.v1.ModelArmor.UpdateTemplate
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.templates.update - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1.ModelArmor.UpdateTemplate"

google.cloud.modelarmor.v1alpha.ModelArmor

次の監査ログは、google.cloud.modelarmor.v1alpha.ModelArmor に属するメソッドに関連付けられています。

CreateTemplate

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.CreateTemplate
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.templates.create - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.CreateTemplate"

DeleteTemplate

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.DeleteTemplate
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.templates.delete - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.DeleteTemplate"

GetFloorSetting

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.GetFloorSetting
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.floorSettings.get - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.GetFloorSetting"

GetTemplate

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.GetTemplate
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.get - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.GetTemplate"

ListTemplates

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.ListTemplates
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.list - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.ListTemplates"

SanitizeModelResponse

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.SanitizeModelResponse
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.useToSanitizeModelResponse - DATA_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.SanitizeModelResponse"

SanitizeUserPrompt

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.SanitizeUserPrompt
  • 監査ログのタイプ: データアクセス
  • 権限:
    • modelarmor.templates.useToSanitizeUserPrompt - DATA_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.SanitizeUserPrompt"

UpdateFloorSetting

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.UpdateFloorSetting
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.floorSettings.update - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.UpdateFloorSetting"

UpdateTemplate

  • メソッド: google.cloud.modelarmor.v1alpha.ModelArmor.UpdateTemplate
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • modelarmor.templates.update - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.cloud.modelarmor.v1alpha.ModelArmor.UpdateTemplate"

監査ログを生成しないメソッド

メソッドが監査ログを生成しない理由としては、次のいずれかが考えられます。

  • ログを大量に生成し、かなりのストレージ費用が発生するメソッドである。
  • 監査価値が低い。
  • 別の監査ログまたはプラットフォーム ログでメソッド カバレッジがすでに提供されている。

次のメソッドは監査ログを生成しません。

  • envoy.service.ext_proc.v3.ExternalProcessor.Process
  • google.cloud.location.Locations.GetLocation
  • google.cloud.location.Locations.ListLocations

ロギング構成

Model Armor を構成して、次のオペレーションをログに記録できます。

  • テンプレートの作成、更新、削除
  • ユーザー プロンプトとモデルのレスポンスをサニタイズする

REST

  curl -X POST \
   -d "{filter_config: {}, 'template_metadata': { 'log_template_operations': 'true', 'log_sanitize_operations': 'true'} }" \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     "https://modelarmor.<var>LOCATION</var>.rep.googleapis.com/v1/projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/templates?template_id=<var>TEMPLATE_ID</var>"

Python

   request = modelarmor_v1.CreateTemplateRequest(
     parent="projects/PROJECT_ID/locations/LOCATION",
     template_id="TEMPLATE_ID",
     template={
        "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
        "filter_config": {},
        "template_metadata": {
           "log_template_operations": True,
           "log_sanitize_operations": True
        }
     }
   )
   response = client.create_template(request=request)
   

  • log_template_operations : テンプレートの作成、更新、読み取り、削除のオペレーションをプラットフォーム ログに記録するかどうかを決定するブール値。

  • log_sanitize_operations : サニタイズ オペレーションをプラットフォーム ログに記録するかどうかを決定するブール値。ログには、プロンプトとレスポンス、Model Armor の評価結果、追加のメタデータ フィールドが含まれます。

    以下を置き換えます。

    • PROJECT_ID は、テンプレートが属するプロジェクトの ID です。
    • LOCATION は、テンプレートの場所です。
    • TEMPLATE_ID はテンプレートの ID です。