ログバケットでのログビューの管理

ログビューを使用すると、ログバケット内のログにアクセスできるユーザーを制御できます。ログルーターを使用して、ログバケットの管理を行うと、必要に応じてログストレージを一元化または細分化できます。カスタム ログビューでは、これらのログバケット内のログへのアクセスを制御する高度で詳細な方法を提供します。

たとえば、一元管理されたプロジェクトに組織のすべてのログを保存するシナリオを考えてみます。ログバケットには複数のプロジェクトのログを格納できるため、さまざまなユーザーがログを表示できる対象プロジェクトを制御する必要があります。カスタム ログビューを使用すると、あるユーザーに 1 つのプロジェクトのログへのアクセス権のみを付与しつつ、別のユーザーにはすべてのプロジェクトのログへのアクセス権を付与できます。

Cloud Logging は、すべてのログを表示するすべてのバケットに _AllLogs ビューを自動的に作成します。また、Cloud Logging は _Default という _Default バケットのビューも作成します。_Default バケットの _Default ビューには、データアクセスの監査ログを除くすべてのログが表示されます。_AllLogs ビューと _Default ビューは、編集できません。

以下の手順では、ログビューを作成、表示、更新、削除する方法について説明します。ログビューを管理するには、次のアクションを実行する必要があります。

  1. gcloud コマンドライン ツールまたは API を使用して、ビューを作成する。
  2. Google Cloud Console または gcloud コマンドライン ツールを使用して、Identity and Access Management(IAM)権限を設定します。

始める前に

ログビューを作成する前に、次の手順を行います。

  • まだ行っていない場合は、新しいログバケットを作成し、ログをバケットに転送します。

  • ビューに表示するログを決定します。

  • 次のいずれかのロールがあることを確認します。

    • roles/logging.admin

    • roles/logging.configWriter

  • まだインストールしていない場合は、Cloud SDK をインストールします。

ログビューを作成するときは、次の点に注意してください。

  • ログビューのフィルタには、次の対象を含めることができます。

  • ログビューのフィルタに OR 演算子を含めることはできません。

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

ログビューの作成

ログビューを作成するには、次のコマンドを実行します。このとき、太字の部分は実際の情報に置き換えてください。

gcloud logging views create VIEW_ID \
  --log-filter="resource.type=gce_instance" --bucket=BUCKET_NAME \
  --location=LOCATION --description="Log view for the central log bucket for Compute Engine instance"

バケットのビューを一覧表示して、ビューが作成されたことを確認します。

gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION

ログビューにユーザーを追加する

ユーザーがログにアクセスできるようにするためビューに追加するには、次の手順を実行します。

gcloud

  1. プロジェクトの IAM ポリシーを取得し、ローカル ファイルに JSON 形式で書き込みます。

    gcloud projects get-iam-policy PROJECT_ID --format json > output.json
    
  2. ユーザーが、作成したバケットから読み取ることができる IAM 条件を追加します。例:

    {
      "bindings": [
        {
          "members": [
            "username@gmail.com"
          ],
          "role": "roles/logging.viewAccessor",
          "condition": {
              "title": "Bucket reader condition example",
              "description": "Grants logging.viewAccessor role to user username@gmail.com for the [VIEW_ID] log view.",
              "expression":
                "resource.name == \"projects/[PROJECT_ID]/locations/[LOCATION]/buckets/[BUCKET_NAME]/views/[VIEW_ID]\""
          }
        }
      ],
      "etag": "BwWd_6eERR4=",
      "version": 3
    }
  3. IAM ポリシーを更新します。

    gcloud projects set-iam-policy PROJECT_ID output.json
    

Console

  1. バケットを作成したプロジェクトの Cloud Console で、IAM ページに移動します。

    IAM ページに移動

  2. [追加] をクリックします。

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

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

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

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

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

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

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

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

      次に例を示します。

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

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

詳細については、IAM Conditions の概要をご覧ください。

ログビューの更新

ログビューを更新するには、次のコマンドを実行します。このとき、太字の部分は実際の情報に置き換えてください。

gcloud logging views update VIEW_ID \
  --log-filter="resource.type=gce_instance" --bucket=NEW_BUCKET_NAME \
  --location=LOCATION --description="New description for the log view"

バケットのビューを一覧表示して、ビューが更新されたことを確認します。

gcloud logging views list --bucket=NEW_BUCKET_NAME --location=LOCATION

_Default ビューと _AllLogs ビューは、更新できません。

ログビューの削除

ログビューを削除するには、次のコマンドを実行します。このとき、太字の部分は実際の情報に置き換えてください。

gcloud logging views delete VIEW_ID \
  --bucket=BUCKET_NAME --location=LOCATION

バケットのビューを一覧表示して、ビューが削除されたことを確認します。

gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION

ログビューに関する情報の表示

ログビューに関する情報を表示するには、次のコマンドを実行します。このとき、太字の部分は実際の情報に置き換えてください。

gcloud logging views describe VIEW_ID \
  --bucket=BUCKET_NAME --location=LOCATION

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

ログビューでログを表示するには、ログビューの roles/logging.viewAccessor ロールがあることを確認します。

ログ エクスプローラに移動します。

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

[範囲を絞り込む] をクリックして、[範囲を絞り込む] パネルを表示します。ここで、ログの表示に使用するログバケットとログビューを選択できます。

[範囲を絞り込む] パネル

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

次のステップ

ログ エクスプローラに移動して、作成したビューが正しいログにアクセスできることを確認します。

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