ログバケットのログビューを構成する

このドキュメントでは、Cloud Logging バケットのログビューを作成および管理する方法について説明します。ログビューを使用すると、ログバケット内のログにアクセスできるユーザーを高度かつ詳細に制御できます。

ログビューは、Google Cloud コンソール、gcloud CLI、Terraform、または Cloud Logging API を使用して構成および管理できます。

Logging ストレージ モデルの一般的な情報については、転送とストレージの概要をご覧ください。

ログビューについて

ログビューを使用すると、ログバケットに保存されているログのサブセットに対してのみユーザーにアクセス権を付与できます。たとえば、一元管理されたプロジェクトに組織のログを保存するシナリオを考えてみます。ログバケットにログを提供するプロジェクトごとに 1 つのログビューを作成できます。その後、各ユーザーに 1 つ以上のログビューへのアクセス権を付与し、ユーザーが表示できるログを制限できます。

ログバケットごとに最大 30 個のログビューを作成できます。

ログビューへのアクセスを制御する

Cloud Logging は、IAM ポリシーを使用して、ログビューにアクセスできるユーザーを制御します。IAM ポリシーは、リソースレベル、プロジェクト レベル、フォルダレベル、組織レベルで存在できます。Cloud Logging では、ログビューごとに IAM ポリシーを作成できます。プリンシパルがアクションを実行する権限があるかどうかを判断するために、IAM は適用可能なすべてのポリシーを評価します。最初の評価はリソースレベルで行われます。

Google Cloud プロジェクトに対して roles/logging.viewAccessor のロールを持つプリンシパルは、プロジェクト内の任意のログバケットのビューとログにアクセスできます。

プリンシパルに特定のログビューへのアクセス権のみを付与するには、次のいずれかを行います。

  • ログビューの IAM ポリシーを作成し、そのポリシーに IAM バインディングを追加して、プリンシパルにログビューへのアクセス権を付与します。

    ログビューを大量に作成する場合は、この方法をおすすめします。

  • ログビューを含むプロジェクトに対する roles/logging.viewAccessor の IAM ロールをプリンシパルに付与します。ただし、IAM 条件をアタッチして、対象を特定ログビューに制限します。条件を省略すると、プリンシパルにすべてのログビューへのアクセス権が付与されます。Google Cloud プロジェクトのポリシー ファイルで、同じロールと同じプリンシパルを含むが条件式が異なるロール バインディングは 20 個までです。

詳細については、このドキュメントの次のセクションをご覧ください。

自動作成されたログビュー

Cloud Logging は、すべてのログバケットの _AllLogs ビューと、_Default ログバケットの _Default ビューを自動的に作成します。

  • _AllLogs ビュー: ログバケット内のすべてのログを表示できます。
  • _Default ビュー: ログバケット内のデータアクセス以外のすべての監査ログを表示できます。

Cloud Logging によって自動的に作成されたビューは変更できませんが、_AllLogs ビューは削除できます。

ログビューのフィルタ

各ログビューには、ビューに表示されるログエントリを決定するフィルタが含まれています。フィルタには論理 AND 演算子と NOT 演算子を含めることができますが、論理 OR 演算子を含めることはできません。フィルタでは、次のいずれかの値を比較できます。

  • source 関数を使用するデータソース。 source 関数は、組織、フォルダ、Google Cloud プロジェクトの階層内にある特定のリソースのログエントリを返します。

  • log_id 関数を使用するログ ID。log_id 関数は、logName フィールドの指定された LOG_ID 引数に一致するログエントリを返します。

  • resource.type= FIELD_NAME 比較を使用した有効なリソースタイプ。

たとえば、次のフィルタは、myproject という名前の Google Cloud プロジェクトの Compute Engine stdout ログエントリをキャプチャします。

source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")

フィルタリング構文の詳細については、比較をご覧ください。

ログビューとアナリティクス ビューの違い

ログビューとアナリティクス ビューは異なります。

ログバケットのログビューは、ログバケット内のどのログエントリを表示できるかを制御します。Log Analytics を使用する場合、LogEntry データ構造によって、クエリするデータのスキーマが決まります。

分析ビューには、1 つ以上のログビューに対する SQL クエリが含まれています。Log Analytics を使用すると、分析ビューに対してクエリを作成できます。分析ビューの作成者がスキーマを決定するため、分析ビューのユースケースの一つは、ログデータを LogEntry 形式からより適した形式に変換することです。

始める前に

ログビューを作成または更新する前に、次の手順を完了します。

  1. まだ作成していない場合は、適切な Google Cloud プロジェクトで、カスタム ログビューを構成する Logging バケットを作成します。

  2. ログビューの作成と管理に必要な権限を取得し、ログビューへのアクセス権を付与するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼します。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

  3. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    Terraform

    ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    詳細については、 Google Cloud 認証ドキュメントのローカル開発環境の ADC の設定をご覧ください。

  4. ビューに表示するログを決定します。この情報を使用して、ログビューのフィルタを指定します。

  5. ログビューにアクセスできるユーザーと、ログビューの IAM ポリシーまたは Google Cloud プロジェクトにバインディングを追加するかどうかを決定します。詳細については、ログビューへのアクセスを制御するをご覧ください。

ログビューを作成する

ログバケットごとに最大 30 個のログビューを作成できます。

Console

ログビューを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログバケットを保存するプロジェクト、フォルダ、または組織を選択します。
  3. [ログバケット] ペインで、ログビューを作成するログバケットの名前を選択します。
  4. ログバケットの詳細ページで、[ログビュー] ペインに移動し、[ログビューを作成] をクリックします。
  5. [ログビューの定義] ページで、次の操作を行います。

    1. ログビューの名前を入力します。ログビューの作成後にこの名前を変更することはできません。名前は 100 文字以内で、英字、数字、アンダースコア、ハイフンのみを使用できます。
    2. ログビューの説明を入力します。
    3. [フィルタの作成] フィールドに、ログビューに含めるログバケット内のログエントリを決定する式を入力します。このフィールドの構造については、このドキュメントのログビュー フィルタをご覧ください。
  6. 省略可: ログビュー リソースにロール バインディングを追加する手順は次のとおりです。

    1. [続行] をクリックして、[権限を設定] ページに進みます。
    2. [ アクセスを許可] をクリックします。
    3. [プリンシパルの追加] セクションで、[新しいプリンシパル] メニューを開き、プリンシパルを選択します。
    4. [ロールを割り当てる] セクションで、[ログビュー アクセサー] ロールを選択します。
    5. [保存] をクリックします。
  7. [ビューを保存] をクリックします。

  8. 作成フローの一部としてプリンシパルにログビューへのアクセス権を付与しなかった場合は、次のセクションの手順を完了します。

gcloud

ログビューを作成するには、次の操作を行います。

  1. gcloud logging views create コマンドを実行します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
    • BUCKET_NAME: ログバケットの名前。
    • LOCATION:ログバケットのロケーション。
    • FILTER: ログビューを定義するフィルタ。空の場合は、すべてのログがログビューに含まれます。たとえば、Compute Engine VM インスタンスのログでフィルタするには、"resource.type=gce_instance" と入力します。
    • DESCRIPTION: ログビューの説明。たとえば、説明 "Compute logs" には次のように入力します。
    • PROJECT_ID: プロジェクトの識別子。フォルダまたは組織にログビューを作成するには、--project--folder または --organization に置き換えます。

    gcloud logging views create コマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME \
     --location=LOCATION --log-filter=FILTER --description=DESCRIPTION \
     --project=PROJECT_ID

    Windows(PowerShell)

    gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME `
     --location=LOCATION --log-filter=FILTER --description=DESCRIPTION `
     --project=PROJECT_ID

    Windows(cmd.exe)

    gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME ^
     --location=LOCATION --log-filter=FILTER --description=DESCRIPTION ^
     --project=PROJECT_ID

    このコマンドはレスポンスを提供しません。変更を確認するには、gcloud logging views list コマンドを実行します。

  2. プリンシパルにログビューへのアクセス権を付与します。次のセクションでは、これらの手順について説明します。

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。 詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。

Terraform を使用してプロジェクト、フォルダ、または組織にログビューを作成するには、次の操作を行います。

  1. Terraform リソース google_logging_log_view を使用します。

    コマンドで、次のフィールドを設定します。

    • name: ログビューの完全修飾名に設定します。たとえば、プロジェクトの場合、このフィールドの形式は次のとおりです。

      "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/view/LOG_VIEW_ID"
      

      上記の式で、LOCATION はログバケットのロケーションです。

    • bucket: ログバケットの完全修飾名に設定します。たとえば、このフィールドは次のようになります。

      "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME"
      
    • filter: ログビューに含まれるログエントリを記述するフィルタ。

    • description: 簡単な説明。

  2. プリンシパルにログビューへのアクセス権を付与します。次のセクションでは、これらの手順について説明します。

ログビューへのアクセス権を付与する

プリンシパルをユーザー定義ログバケットの特定のログビューに制限するには、次の 2 つの方法があります。

大量のログビューを作成する場合は、ログビューの IAM ポリシー ファイルを使用してアクセスを制御することをおすすめします。

ログビュー: ロール バインディングを追加する

このセクションでは、ログビューの IAM ポリシー ファイルを使用して、そのログビューのログエントリにアクセスできるユーザーを制御する方法について説明します。この方法では、ログビューのポリシー ファイルにバインディングを追加します。このバインディングにより、指定されたプリンシパルにログビューへのアクセス権が付与されます。

このセクションでは、ログビューの IAM ポリシー ファイルに含まれるロール バインディングを一覧表示する方法についても説明します。

Console

ログビューの IAM ポリシー ファイルを更新する手順は次のとおりです。

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログバケットを保存するプロジェクト、フォルダ、または組織を選択します。
  3. [ログバケット] ペインで、ログビューをホストするログバケットの名前を選択します。
  4. ログバケットの詳細ページで、[ログビュー] ペインに移動します。
  5. IAM ポリシー ファイルを変更するログビューで、 [アクション]、[権限を調整] の順にクリックします。

    権限のフライアウトが開き、ログビューに関連付けられている権限が表示されます。

  6. 権限のフライアウトで、[プリンシパルを追加] をクリックします。

  7. [プリンシパルの追加] セクションで、[新しいプリンシパル] メニューを開き、プリンシパルを選択します。

  8. [ロールを割り当てる] セクションで、[ログビュー アクセサー] ロールを選択します。

  9. [保存] をクリックします。

    権限のフライアウトが新しい権限で更新されます。

    • [ログビュー アクセサー(N)] セクションには、ログビュー アクセサーのロールのプロジェクト レベルの付与があるプリンシパルが一覧表示されます。これらのプリンシパルは、プロジェクト内のすべてのログビューにアクセスできます。

    • [ログビュー アクセサーの条件:条件固有の説明テキスト(N)] というラベルの付いたセクションには、ログビュー アクセサーのロールの条件付きプロジェクト レベルの付与を受けているプリンシパルが一覧表示されます。これらのプリンシパルは、条件で指定されたログビューにのみアクセスできます。

    • [ログ表示アクセス者の条件:abcde(N)] というラベルのセクションには、ログビューレベルの権限を持つプリンシパルが一覧表示されます。

    次のスクリーンショットは、2 つのプリンシパルにプロジェクト レベルのロール付与(プロジェクト アイコン で識別)があり、1 つのプリンシパルにログビューレベルの付与がある権限のフライアウトを示しています。

    権限のフライアウトのイラスト。

  10. フライアウトを閉じるには、[X] をクリックします。

gcloud

ログビューの IAM ポリシー ファイルを更新する手順は次のとおりです。

  1. gcloud logging views add-iam-policy-binding コマンドを実行します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
    • PRINCIPAL: ロールを付与するプリンシパルの識別子。通常、プリンシパル ID の形式は PRINCIPAL-TYPE:ID です。例: user:my-user@example.comPRINCIPAL が使用できる形式の一覧については、プリンシパル ID をご覧ください。
    • BUCKET_NAME: ログバケットの名前。
    • LOCATION:ログバケットのロケーション。
    • PROJECT_ID: プロジェクトの ID。必要に応じて、--project--folder または --organization に置き換えます。

    gcloud logging views add-iam-policy-binding コマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud logging views add-iam-policy-binding LOG_VIEW_ID \
      --member=PRINCIPAL --role='roles/logging.viewAccessor' \
      --bucket=BUCKET_NAME --location=LOCATION \
      --project=PROJECT_ID

    Windows(PowerShell)

    gcloud logging views add-iam-policy-binding LOG_VIEW_ID `
      --member=PRINCIPAL --role='roles/logging.viewAccessor' `
      --bucket=BUCKET_NAME --location=LOCATION `
      --project=PROJECT_ID

    Windows(cmd.exe)

    gcloud logging views add-iam-policy-binding LOG_VIEW_ID ^
      --member=PRINCIPAL --role='roles/logging.viewAccessor' ^
      --bucket=BUCKET_NAME --location=LOCATION ^
      --project=PROJECT_ID

    単一のバインディングが追加された場合のレスポンスを以下に示します。

    Updated IAM policy for logging view [projects/PROJECT_ID/locations/global/buckets/BUCKET_NAME/views/LOG_VIEW_ID].
    bindings:
    - members:
      - PRINCIPAL
      role: roles/logging.viewAccessor
    etag: BwYXfSd9-Gw=
    version: 1
    

  2. 更新を確認するには、gcloud logging views get-iam-policy コマンドを実行します。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
    • BUCKET_NAME: ログバケットの名前。
    • LOCATION:ログバケットのロケーション。
    • PROJECT_ID: プロジェクトの ID。必要に応じて、--project--folder または --organization に置き換えます。

    gcloud logging views get-iam-policy コマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud logging views get-iam-policy LOG_VIEW_ID \
     --bucket=BUCKET_NAME --location=LOCATION \
     --project=PROJECT_ID

    Windows(PowerShell)

    gcloud logging views get-iam-policy LOG_VIEW_ID `
     --bucket=BUCKET_NAME --location=LOCATION `
     --project=PROJECT_ID

    Windows(cmd.exe)

    gcloud logging views get-iam-policy LOG_VIEW_ID ^
     --bucket=BUCKET_NAME --location=LOCATION ^
     --project=PROJECT_ID

    ログビューにバインディングが含まれていない場合、レスポンスには etag フィールドのみが含まれます。ログビューに単一のバインディングが含まれている場合のレスポンスを以下に示します。

    bindings:
    - members:
      - PRINCIPAL
      role: roles/logging.viewAccessor
    etag: BwYXfSd9-Gw=
    version: 1
    

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。 詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。

Terraform を使用してログビューの IAM 関連付けをプロビジョニングするには、いくつかのリソースを使用できます。

  • google_logging_log_view_iam_policy
  • google_logging_log_view_iam_binding
  • google_logging_log_view_iam_member

詳細については、Cloud Logging LogView の IAM ポリシーをご覧ください。

Terraform を使用してログビューの IAM 関連付けを一覧表示するには、データソース google_logging_log_view_iam_policy を使用します。

Google Cloud プロジェクト: ロール バインディングを追加する

このセクションでは、Google Cloud プロジェクトにロール バインディングを追加する方法と、プロジェクトに適用されているバインディングを一覧表示する方法について説明します。この方法を使用する場合、特定のログビューに保存されているログエントリへのアクセスをプリンシパルに制限するには、付与に IAM 条件を追加する必要があります。

Console

Google Cloud プロジェクトの IAM ポリシー ファイルにロール バインディングを追加するには、ログバケットを作成したプロジェクトで次の操作を行います。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    [IAM] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [IAM と管理者] である結果を選択します。

    [IAM] ページには、プロジェクト レベルで適用されるすべてのプリンシパル、IAM ロール、およびそれらのロールに適用される条件が一覧表示されます。このページには、ログビューのポリシー ファイルに接続されているロール バインディングは表示されません。

  2. [ アクセスを許可] をクリックします。

  3. [新しいプリンシパル] 項目に、ユーザーのメール アカウントを追加します。

  4. [ロールを選択] プルダウン メニューで [ログビュー アクセサー] を選択します。

    このロールは、すべてのビューに対する読み取りアクセス権をユーザーに付与します。ユーザーによる特定のビューへのアクセスを制限するには、リソース名に基づいて条件を追加します。

    1. [IAM の条件を追加] をクリックします。

    2. 条件の [タイトル] と [説明] を入力します。

    3. [条件タイプ] のプルダウン メニューで、[リソース] > [名前] を選択します。

    4. [Operator] プルダウン メニューで [=] を選択します。

    5. [] フィールドに、ビューへのフルパスを含む、ログビューの ID を入力します。

      次に例を示します。

      projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID
    6. [保存] をクリックして、条件を追加します。

  5. [保存] をクリックして、権限を設定します。

gcloud

Google Cloud プロジェクトの IAM ポリシー ファイルにロール バインディングを追加するには、次の操作を行います。

  1. 条件を含む JSON または YAML ファイルを作成します。

    たとえば、次の内容の condition.yaml という名前のファイルを作成します。

    expression: "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID\""
    title: "My title"
    description: "My description"
    
  2. 省略可: JSON ファイルまたは YAML ファイルの形式が正しいことを確認するには、次のコマンドを実行します。

    gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml
    
  3. gcloud projects add-iam-policy-binding メソッドを呼び出して、Google Cloud プロジェクトの IAM ポリシーを更新します。

    次のコマンドを実行する前に、次のように置き換えます。

    • PROJECT_ID: プロジェクトの識別子。
    • PRINCIPAL: ロールを付与するプリンシパルの識別子。通常、プリンシパル ID の形式は PRINCIPAL-TYPE:ID です。例: user:my-user@example.comPRINCIPAL が使用できる形式の一覧については、プリンシパル ID をご覧ください。

    gcloud projects add-iam-policy-binding コマンドを実行します。

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --condition-from-file=condition.yaml
    

    上記のコマンドのレスポンスには、すべてのロール バインディングが含まれます。

    - condition:
        description: My description
        expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID"
        title: My title
      members:
      - PRINCIPAL
      role: roles/logging.viewAccessor
    
  4. 省略可: Google Cloud プロジェクトのロール バインディングを一覧表示するには、gcloud projects get-iam-policy コマンドを使用します。

    gcloud projects get-iam-policy PROJECT_ID
    

    次のコマンドを実行する前に、次のように置き換えます。

    • PROJECT_ID: プロジェクトの識別子。

    上記のコマンドのレスポンスには、すべてのロール バインディングが含まれます。

    - condition:
        description: My description
        expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID"
        title: My title
      members:
      - PRINCIPAL
      role: roles/logging.viewAccessor
    

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。 詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。

Terraform を使用してプロジェクトの IAM 関連付けをプロビジョニングするには、いくつかのリソースを使用できます。

  • google_project_iam_policy
  • google_project_iam_binding
  • google_project_iam_member

詳細については、プロジェクトの IAM ポリシーをご覧ください。

Terraform を使用してプロジェクトの IAM 関連付けを一覧表示するには、データソース google_project_iam_policy を使用します。

ログビューのすべてのロール バインディングを一覧表示する

Google Cloud コンソールの [IAM] ページに、プロジェクト レベルのロール バインディングが一覧表示されます。このページには、ログビューなどのリソースに適用されているロール バインディングは表示されません。このセクションでは、特定のログビューのすべてのロール バインディングを表示する方法について説明します。

ログビューにアタッチされている IAM バインディングを一覧表示するには、次の操作を行います。

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログバケットを保存するプロジェクト、フォルダ、または組織を選択します。
  3. [ログバケット] ペインで、ログビューをホストするログバケットの名前を選択します。
  4. ログバケットの詳細ページで、[ログビュー] ペインに移動します。
  5. ロール バインディングを表示するログビューで、 [アクション]、[権限を調整] の順に選択します。

    権限のフライアウトには、ログビューに関連付けられているすべての権限が表示されます。

    • [ログビュー アクセサー(N)] セクションには、ログビュー アクセサーのロールのプロジェクト レベルの付与があるプリンシパルが一覧表示されます。これらのプリンシパルは、プロジェクト内のすべてのログビューにアクセスできます。

    • [ログビュー アクセサーの条件:条件固有の説明テキスト(N)] というラベルの付いたセクションには、ログビュー アクセサーのロールの条件付きプロジェクト レベルの付与を受けているプリンシパルが一覧表示されます。これらのプリンシパルは、条件で指定されたログビューにのみアクセスできます。

    • [ログ表示アクセス者の条件:abcde(N)] というラベルのセクションには、ログビューレベルの権限を持つプリンシパルが一覧表示されます。

    次のスクリーンショットは、2 つのプリンシパルにプロジェクト レベルのロール付与(プロジェクト アイコン で識別)があり、1 つのプリンシパルにログビューレベルの付与がある権限のフライアウトを示しています。

    権限のフライアウトのイラスト。

  6. フライアウトを閉じるには、[X] をクリックします。

ログバケットのログビューを一覧表示する

Console

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログバケットを保存するプロジェクト、フォルダ、または組織を選択します。
  3. [ログバケット] ペインで、ログビューをホストするログバケットの名前を選択します。

    ログバケットの詳細ページが開きます。[ログビュー] ペインには、ログバケットのログビューが一覧表示されます。

gcloud

ログバケット用に作成されたログビューを一覧表示するには、gcloud logging views list コマンドを使用します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • BUCKET_NAME: ログバケットの名前。
  • LOCATION:ログバケットのロケーション。
  • PROJECT_ID: プロジェクトの ID。必要に応じて、--project--folder または --organization に置き換えます。

gcloud logging views list コマンドを実行します。

Linux、macOS、Cloud Shell

gcloud logging views list \
 --bucket=BUCKET_NAME --location=LOCATION \
 --project=PROJECT_ID

Windows(PowerShell)

gcloud logging views list `
 --bucket=BUCKET_NAME --location=LOCATION `
 --project=PROJECT_ID

Windows(cmd.exe)

gcloud logging views list ^
 --bucket=BUCKET_NAME --location=LOCATION ^
 --project=PROJECT_ID

レスポンス データはログビューのリストです。ログビューごとに、作成日と最終更新日とともにフィルタが表示されます。作成日と更新日が空の場合、ログビューは Google Cloud プロジェクトの作成時に作成されました。次の出力例は、クエリが実行されたログバケット上に 2 つのビュー ID(_AllLogscompute)があることを示しています。

VIEW_ID: _AllLogs
FILTER:
CREATE_TIME:
UPDATE_TIME:

VIEW_ID: compute
FILTER: resource.type="gce_instance"
CREATE_TIME: 2024-02-20T17:41:17.405162921Z
UPDATE_TIME: 2024-02-20T17:41:17.405162921Z

Terraform

Terraform を使用してログビューを作成および変更できます。ただし、Terraform を使用してログビューを一覧表示することはできません。

ログビューを更新する

Console

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログバケットを保存するプロジェクト、フォルダ、または組織を選択します。
  3. [ログバケット] ペインで、ログビューをホストするログバケットの名前を選択します。
  4. ログバケットの詳細ページで、[ログビュー] ペインに移動します。
  5. 詳細を更新するログビューで、[ その他]、[ビューを編集] の順にクリックします。

    ログビューの説明とフィルタは編集できます。

  6. 変更が完了したら、[ビューを保存] をクリックします。

gcloud

ログビューを更新または変更するには、gcloud logging views update コマンドを使用します。ビュー ID がわからない場合は、ログビューを一覧表示するをご覧ください。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
  • BUCKET_NAME: ログバケットの名前。
  • LOCATION:ログバケットのロケーション。
  • FILTER: ログビューを定義するフィルタ。空の場合は、すべてのログがログビューに含まれます。たとえば、Compute Engine VM インスタンスのログでフィルタするには、"resource.type=gce_instance" と入力します。
  • DESCRIPTION: ログビューの説明。たとえば、説明 "New description for the log view" には次のように入力します。
  • PROJECT_ID: プロジェクトの ID。必要に応じて、--project--folder または --organization に置き換えます。

gcloud logging views update コマンドを実行します。

Linux、macOS、Cloud Shell

gcloud logging views update LOG_VIEW_ID \
 --bucket=BUCKET_NAME --location=LOCATION \
 --log-filter=FILTER --description=DESCRIPTION \
 --project=PROJECT_ID

Windows(PowerShell)

gcloud logging views update LOG_VIEW_ID `
 --bucket=BUCKET_NAME --location=LOCATION `
 --log-filter=FILTER --description=DESCRIPTION `
 --project=PROJECT_ID

Windows(cmd.exe)

gcloud logging views update LOG_VIEW_ID ^
 --bucket=BUCKET_NAME --location=LOCATION ^
 --log-filter=FILTER --description=DESCRIPTION ^
 --project=PROJECT_ID

このコマンドはレスポンスを提供しません。変更を確認するには、gcloud logging views describe コマンドを実行します。

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。 詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。

Terraform を使用してプロジェクト、フォルダ、組織のログビューを変更するには、Terraform リソース google_logging_log_view を使用します。

ログビューを削除する

作成したログビューが不要になった場合は、削除できます。ただし、ログビューを削除する前に、ログビューが保存したクエリなどの別のリソースによって参照されていないことを確認することをおすすめします。

_Default ログバケットの _Default ログビューは削除できません。

Console

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログバケットを保存するプロジェクト、フォルダ、または組織を選択します。
  3. [ログバケット] ペインで、ログビューをホストするログバケットの名前を選択します。
  4. ログバケットの詳細ページで、[ログビュー] ペインに移動し、削除するログビューのチェックボックスをオンにします。
  5. [ログビュー] ペインのツールバーで、 [ビューを削除] をクリックして、ダイアログを完了します。

gcloud

ログバケットを削除する方法は次のとおりです。

  1. 推奨: Google Cloud プロジェクトを確認して、ログビューが参照されていないことを確認します。次の点を確認することをおすすめします。

    • 保存または共有された [ログ エクスプローラ] ページまたは [ログ分析] ページから実行されるクエリ。
    • カスタム ダッシュボード
  2. gcloud logging views delete コマンドを使用します。 ビュー ID がわからない場合は、ログビューを一覧表示するをご覧ください。

    後述のコマンドデータを使用する前に、次のように置き換えます。

    • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
    • BUCKET_NAME: ログバケットの名前。
    • LOCATION:ログバケットのロケーション。
    • PROJECT_ID: プロジェクトの ID。必要に応じて、--project--folder または --organization に置き換えます。

    gcloud logging views delete コマンドを実行します。

    Linux、macOS、Cloud Shell

    gcloud logging views delete LOG_VIEW_ID \
     --bucket=BUCKET_NAME --location=LOCATION \
     --project=PROJECT_ID

    Windows(PowerShell)

    gcloud logging views delete LOG_VIEW_ID `
     --bucket=BUCKET_NAME --location=LOCATION `
     --project=PROJECT_ID

    Windows(cmd.exe)

    gcloud logging views delete LOG_VIEW_ID ^
     --bucket=BUCKET_NAME --location=LOCATION ^
     --project=PROJECT_ID

    レスポンスで削除が確認されます。たとえば、tester という名前のログビューを削除した場合のレスポンスは次のようになります。

    Deleted [tester].
    

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。 詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。

ログビューについて説明する

Console

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. [ログバケット] ペインで、ログビューをホストするログバケットの名前を選択します。
  3. ログバケットの詳細ページで、[ログビュー] ペインに移動します。
  4. 詳細を表示するログビューで、 その他、[ビューを編集] の順にクリックします。
  5. 変更を保存せずにダイアログを閉じるには、[キャンセル] をクリックします。

gcloud

ログビューの詳細情報を取得するには、gcloud logging views describe コマンドを使用します。ビュー ID がわからない場合は、ログビューを一覧表示するをご覧ください。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
  • BUCKET_NAME: ログバケットの名前。
  • LOCATION:ログバケットのロケーション。
  • PROJECT_ID: プロジェクトの識別子。必要に応じて、--project--folder または --organization に置き換えます。

gcloud logging views describe コマンドを実行します。

Linux、macOS、Cloud Shell

gcloud logging views describe LOG_VIEW_ID \
 --bucket=BUCKET_NAME --location=LOCATION\
 --project=PROJECT_ID

Windows(PowerShell)

gcloud logging views describe LOG_VIEW_ID `
 --bucket=BUCKET_NAME --location=LOCATION`
 --project=PROJECT_ID

Windows(cmd.exe)

gcloud logging views describe LOG_VIEW_ID ^
 --bucket=BUCKET_NAME --location=LOCATION^
 --project=PROJECT_ID

レスポンスには、ログビューの説明と完全修飾名が常に含まれます。また、フィルタ フィールドが空でない場合、フィルタも含まれます。レスポンスの例を次に示します。

createTime: '2024-02-20T17:41:17.405162921Z'
filter: resource.type="gce_instance"
name: projects/my-project/locations/global/buckets/my-bucket/views/compute
updateTime: '2024-02-20T17:41:17.405162921Z'

Terraform

Terraform を使用してログビューを作成および変更できます。ただし、Terraform を使用してログビューの詳細を表示することはできません。

ログビューに関連付けられたログの表示

ログエントリをログビューに表示するには、ログ エクスプローラまたは [ログ分析] ページを使用します。ログ エクスプローラを使用する場合は、スコープを構成してログビューを選択する必要があります。[ログ分析] ページを使用する場合は、ログビューをクエリします。

ログ エクスプローラを使用してログビューをクエリする手順は次のとおりです。

  1. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。

  2. ログエントリの検索対象となるリソースを選択します。

    • ツールバーに [プロジェクト ログ] が表示されたら、メニューを開き、[ログビュー] を選択して、クエリするログビューを選択します。

    • ツールバーに 1 つのログビューと表示されている場合は、メニューを開いて [ログビュー] を選択し、クエリするログビューを選択します。

    • それ以外の場合は、ツールバーに アイコンとログスコープの名前(_Default など)が表示されます。メニューを開き、[ログビュー] を選択して、クエリするログビューを選択します。

詳細については、ログ エクスプローラのドキュメントをご覧ください。

次のステップ

ログエントリ内の特定のフィールドへのアクセスを制御する方法については、フィールド レベルのアクセスを構成するをご覧ください。