アクティビティ ロギング
このドキュメントでは、Identity Platform でのアクティビティ ログに Cloud Logging を使用する方法について説明します。
アクティビティ ロギングを有効にする
デフォルトでは、アクティビティ ログは無効になっています。アクティビティ ログは、 Google Cloud コンソールまたは REST API を使用して有効にできます。
コンソール
Google Cloud コンソールの [設定] ページに移動します。
[設定] に移動[ユーザー アクティビティのロギング] で [有効] を選択します。
[保存] をクリックします。
REST
curl -d "{'monitoring':{'requestLogging':{'enabled':true}}}" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -X PATCH -H 'Content-Type: application/json' \ https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=monitoring.requestLogging.enabled
PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。
アクティビティ ロギングを有効にすると、料金に影響する可能性があります。詳細については、Google Cloud Observability の料金をご覧ください。
テナント プロジェクトのアクティビティ ロギングを有効にする
テナント プロジェクトのアクティビティ ログはデフォルトで無効になっています。REST API を使用してテナント プロジェクトのアクティビティ ロギングを有効にするには、次のコマンドを実行します。
curl -d "{'monitoring':{'requestLogging':{'enabled':true}}}" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID \ -X PATCH -H 'Content-Type: application/json' \ https://identitytoolkit.googleapis.com/v2/projects/PROJECT_ID/tenants/TENANT_ID?updateMask=monitoring.requestLogging.enabled
次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。TENANT_ID: Identity Platform テナントの ID。
アクティビティ ロギングを有効にすると、料金に影響する可能性があります。詳細については、Google Cloud Observability の料金をご覧ください。
アクティビティ ログを表示する
Logging が有効になると、ユーザー リクエストごとにログエントリが生成されます。各ログエントリには次のフィールドが含まれています。
| フィールド | 説明 |
|---|---|
logName |
projects/PROJECT_ID/logs/identitytoolkit.googleapis.com/requests |
resource |
identitytoolkit_project or identitytoolkit_tenant |
serviceName |
identitytoolkit.googleapis.com |
protoPayload |
ログに記録されたリクエストまたはレスポンス。 |
[ログ エクスプローラ] を使用して、プロジェクトまたはテナントのアクティビティ ログを表示できます。ログを表示するには:
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
リソース リストから [Identity Toolkit Project] または [Identity Toolkit Tenant] を選択します。マルチテナンシーを使用している場合は、すべてのテナントを表示したり、特定のテナントだけをフィルタリングしたりできます。
ログに記録されるオペレーション
次の表は、アクティビティ ログを生成できる API オペレーションをまとめたものです。
| サービス | メソッド |
|---|---|
| google.cloud.identitytoolkit.v1.AccountManagementService | DeleteAccount |
| GetAccountInfo | |
| GetOobCode | |
| ResetPassword | |
| SetAccountInfo | |
| google.cloud.identitytoolkit.v1.AuthenticationService | CreateAuthUri |
| GetRecaptchaParam | |
| SendVerificationCode | |
| SignInWithCustomToken | |
| SignInWithEmailLink | |
| SignInWithGameCenter | |
| SignInWithIdp | |
| SignInWithPassword | |
| SignInWithPhoneNumber | |
| SignUp | |
| VerifyIosClient | |
| google.cloud.identitytoolkit.v1.ProjectConfigService | GetProjectConfig |
オペレーションを除外する
ロギングには、ログ取り込みを無効にするツールや、不要なログエントリを除外するツールが用意されています。特定のログを除外する方法について詳しくは、ログの除外をご覧ください。
以下に、読み取り専用の GetAccountInfo() メソッドと GetProjectConfig() メソッドのすべてのログを除外する方法を示しています。
resource.type="identitytoolkit_project"
(
jsonPayload.methodName="google.cloud.identitytoolkit.v1.AccountManagementService.GetAccountInfo"
OR
jsonPayload.methodName="google.cloud.identitytoolkit.v1.ProjectConfigService.GetProjectConfig"
)