OS Login の監査ログをモニタリングする


OS Login と OS Login 2 要素認証(2FA)が有効になっている仮想マシン(VM)インスタンスへの接続試行をモニタリングするには、OS Login の監査ログを表示します。これらの監査ログは常に有効になっており、データアクセス構成で無効にすることはできません。

Google Workspace Admin SDK を使用して、SSH 認証鍵の追加、削除、更新、POSIX 情報の削除など、OS Login 関連のイベントやアクティビティを追跡することもできます。

準備

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

OS Login の監査ログを表示する

OS Login の接続試行リストを表示するには、Cloud Audit Logs に対してクエリを実行します。

コンソール

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

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

  2. [クエリ] フィールドに次のクエリを入力します。

    protoPayload.serviceName="oslogin.googleapis.com"
    

  3. 探しているイベントが 1 時間以上前に発生している場合は、時計のアイコンをクリックしてカスタム期間を入力し、カスタムの期間を設定します。

    クエリの期間を設定します。

  4. [クエリを実行] をクリックします。結果は、[クエリ結果] セクションに表示されます。

  5. 各結果の横にある 展開矢印をクリックすると、詳細情報が表示されます。

  6. OS Login の監査ログの種類とその説明については、OS Login の監査ログを確認するをご覧ください。

gcloud

  1. Cloud Audit Logs を表示するには、gcloud logging read コマンドを使用します。

    gcloud logging read --freshness=TIME 'protoPayload.serviceName="oslogin.googleapis.com"'
    

    TIME は、クエリを実行する時間で置き換えます。たとえば、1h は、過去 1 時間のログエントリをクエリします。日付と時刻の形式については、gcloud topic datetimes をご覧ください。

    結果が表示されます。

  2. OS Login の監査ログの種類とその説明については、OS Login の監査ログを確認するをご覧ください。

OS Login の監査ログを確認する

OS Login が有効になっている VM への接続試行の種類と、その接続試行を開始したユーザーを確認するには、監査ログの methodName フィールドと principalEmail フィールドを確認します。

  • protoPayload セクションを開いて、接続試行の methodName フィールドを表示します。各 methodName フィールドの意味については、次の表をご覧ください。

    メソッド 接続タイプ 説明
    google.cloud.oslogin.v1.OsLoginService.CheckPolicy すべての OS Login 接続 VM への接続試行を示します。2 要素認証以外の接続の場合、正常なレスポンスは、ユーザーが VM に接続したことを示します。 2 要素認証接続の場合、接続の成功は、CheckPolicy 呼び出しの成功と ContinueSession 呼び出しの成功の両方によって示されます。
    google.cloud.oslogin.OsLoginService.v1.StartSession OS Login の 2 要素認証接続 新しい 2FA 認証セッションを示します。StartSession 呼び出しで、クライアントがサーバーに機能を宣言し、使用可能なチャレンジに関する情報を取得します。
    google.cloud.oslogin.OsLoginService.v1.ContinueSession OS Login の 2 要素認証接続

    認証セッションの継続を示します。クライアントは、前回の StartSession 呼び出しまたはリクエストでサーバーから提案された本人確認方法を完了し、別の種類の本人確認を行います。次に、ContinueSession メソッドはチャレンジまたはメソッドに対するレスポンスを受け入れ、認証試行を承認または拒否します。

  • authenticationInfo セクションを開いて、principalEmail フィールドを表示します。principalEmail フィールドには、VM に接続を試みたユーザーのメールアドレスが表示されます。

OS Login の監査ログのプロパティ

以下のセクションでは、監査ログのプロパティについて説明します。プロパティには、すべての監査ログに共通するプロパティと、CheckPolicyStartSessionContinueSession メソッドに固有のプロパティがあります。

OS Login の監査ログの一般的なプロパティ

次の表に示すプロパティは、すべての OS Login の監査ログで共通です。

プロパティ
serviceName oslogin.googleapis.com
resourceName 監査ログが属するログイン リクエストを示すプロジェクト番号を含む文字列。例: projects/myproject12345
severity ログ メッセージの重大度。INFOWARNING など。重大度の詳細については、LogSeverity をご覧ください。
authenticationInfo.principalEmail メソッドが認証しているユーザーのメールアドレス。
request.numericProjectId Google Cloud プロジェクトのプロジェクト番号。

CheckPolicy の監査ログのプロパティ

次の表に示すプロパティは、CheckPolicy の監査ログに適用されます。

プロパティ
methodName google.cloud.oslogin.v1.OsLoginService.CheckPolicy
request.@type type.googleapis.com/google.cloud.oslogin.v1.CheckPolicyRequest
request.policy 確認する権限。ユーザーに VM へのログインが許可されているかどうかを確認する場合は LOGIN、ユーザーに VM の管理アクセス権限があるかどうかを確認する場合は ADMIN_LOGIN
response.success LOGIN または ADMIN_LOGIN request.policy チェックの結果。ユーザーが指定されたポリシーに対して承認されているかどうかに応じて、true または false

StartSession の監査ログのプロパティ

次の表に示すプロパティは、OS Login 2FA が有効になっている VM の StartSession の監査ログに適用されます。

プロパティ
methodName google.cloud.oslogin.OsLoginService.v1.StartSession
request.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.StartSessionRequest
request.supportedChallengeTypes 選択可能な本人確認方法または 2FA 方式のリスト。
response.authenticationStatus セッションのステータス。AuthenticatedChallenge requiredChallenge pending のいずれか。
response.sessionId セッションを一意に識別する ID 文字列。このセッション ID は、シーケンス内の ContinueSession の呼び出しに渡されます。
response.challenges この回の認証で試みることができる本人確認方法のセット。これらの本人確認方法のうち最大 1 つが開始され、ステータスが READY になります。他の方法は、提案された最初の本人確認方法の代わりにユーザーが指定できるオプションとして提示されます。

ContinueSession の監査ログのプロパティ

次の表に示すプロパティは、OS Login 2FA が有効になっている VM の ContinueSession の監査ログに適用されます。

プロパティ
methodName google.cloud.oslogin.OsLoginService.v1.ContinueSession
request.sessionId 前のセッションを一意に識別する ID 文字列。このセッション ID は StartSession 呼び出しから渡されます。
request.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.ContinueSessionRequest
request.challengeId 開始または実行する本人確認方法を識別する ID 文字列。この ID は、StartSession レスポンスの response.challenges 呼び出しから返されたチャレンジ タイプに属している必要があります。
request.action チャレンジを完了するためのアクション。
response.authenticationStatus セッションのステータス。AuthenticatedChallenge requiredChallenge pending など。
response.challenges.status SUCCESS は、ユーザーが VM に正常に接続されたことを示します。
response.challenges この回の認証で試みることができる本人確認方法のセット。これらの本人確認方法のうち最大 1 つが開始され、ステータスが READY になります。他の方法は、提案された最初の本人確認方法の代わりにユーザーが指定できるオプションとして提示されます。

次のステップ