Google Workspaceの確認では、ドメイン全体の委任が設定されたサービスアカウントを使用してGoogle Admin SDK Directory APIに問い合わせを行い、SecurityGatewayはこれを使用して不明なローカルアドレスを検索・確認します。オプションで、OAuthクライアントを設定することで、Google Workspaceのユーザーが、上記で説明したMicrosoft 365のサインイン体験と同様に、Googleアカウントを使用して直接SecurityGatewayにサインインできるようにすることもできます。
Google Workspaceをユーザー検証ソースとして使用するには、SecurityGatewayはWorkspaceディレクトリを読み取るためのドメイン全体の委任が許可されたGoogle Cloudサービスアカウントを必要とします。以下の手順に従って、Google WorkspaceをSecurityGatewayのユーザー検証ソースとして設定してください。
Google Cloud Consoleにて:
Google Cloud Consoleでプロジェクトを作成し、Admin SDK APIを有効化する
1.Google Cloud Consoleにサインインし、サービスアカウントを所有するプロジェクトを作成するか、既存のプロジェクトを選択します。
2.APIとサービス > ライブラリに移動し、Admin SDK APIを検索して開き、有効にするをクリックします。

|
この手順は見落としがちです。他の設定がすべて完了していれば、この手順を行わなくても一見正常に動作するように見えるためです。サービスアカウントは引き続きトークンを取得でき、ユーザー検証ソース画面の「テスト」ボタンも成功します。ディレクトリの参照は、SecurityGatewayが実際にアドレスを確認しようとした時点で初めて失敗し、その際に403エラーが表示されます。他の設定がすべて正しく見えるにもかかわらず確認に失敗する場合は、このAPIが有効になっているかを確認してください。
|
サービスアカウントとJSONキーを作成する
1.IAMと管理 > サービスアカウントに移動し、サービスアカウントを作成をクリックします。名前を入力します(例:"securitygateway-uvs")。Google Cloud IAMロールを割り当てる必要はありません。このアカウントに必要なアクセス権は、IAMではなく次の手順のドメイン全体の委任によって付与されます。
2.新規作成したサービスアカウントを開き、「キー」タブに移動して、キーを追加 > 新しい鍵を作成をクリックし、JSONを選択します。これによりJSONキーファイルがダウンロードされます。このファイルは安全に保管してください。ダイアログを閉じると、Googleは再度このファイルをダウンロードすることを許可しません。その場合は、新しいキーを再生成する必要があります。
3.サービスアカウントの詳細画面にいる間に、その数値のクライアントID("一意のID"と表示されています)を控えておいてください。次の手順で必要になります。これは、Google CloudプロジェクトID、サービスアカウントのメールアドレス、表示名、または後でWebログイン用に作成する別のOAuthクライアントIDと混同しないよう注意してください。これらはすべて異なる値です。
Google Workspace 管理コンソールでドメイン全体の委任を承認する
1.特権管理者としてGoogle Workspace管理コンソールにサインインします。
2.セキュリティ > アクセスとデータ管理 > APIの管理 > ドメイン全体の委任に移動し、新しく追加をクリックします。
3.クライアントIDには、上記手順3で確認したサービスアカウントの数値のクライアントIDを入力します。
4.OAuthスコープには、次のスコープを入力してから承認をクリックします:
https://www.googleapis.com/auth/admin.directory.user.readonly
(オプション)SecurityGateway Webインターフェースで、Googleサインインを有効にする
Google Workspaceのユーザーが、SecurityGatewayパスワードの代わりにGoogleアカウントでSecurityGatewayにサインインできるようにしたい場合は、別途OAuthクライアントを作成してください:
1.Google Cloud ConsoleでAPIとサービス > 認証情報に移動し、認証情報を作成 > OAuthクライアントIDをクリックして、ウェブアプリケーションを選択します。
2.SecurityGatewayのログインURLの末尾に/authを追加した値と完全に一致する、承認済みのリダイレクトURIを追加します(例:https://sg.example.com/auth)。
3.生成されたクライアントIDとクライアントシークレットを控えておいてください。
このOAuthクライアントは、上記のサービスアカウントとは別のものです。サービスアカウントはディレクトリの参照にのみ使用され、OAuthクライアントは対話的なサインインにのみ使用されます。
偽装する管理者アカウントを選択する:
ドメイン全体の委任は、常に特定のWorkspaceユーザーとして動作し、ディレクトリユーザーの参照にはGoogle Workspaceの管理者権限が必要です。特権管理者アカウント、または"Users > Read"権限を含むカスタム管理者ロールを持つアカウントを選択してください。このアドレスは、以下のSecurityGatewayの管理者メールアドレス: フィールドに入力します。
SecurityGatewayにて:
1.グローバル管理者としてSecurityGatewayにログインします。
2.設定 / ユーザをクリックします。
3.アカウントを選択します。
4.ユーザ検証ソースを選択します。
5.新規をクリックします。
6.タイプ:としてGoogle Workspaceを選択します。
7.説明を入力します。
8.Google Workspaceのプライマリドメインをドメイン名:フィールドへ入力します。
9.管理者メールアドレス: フィールドに、偽装対象として選択したGoogle Workspace管理者のメールアドレスを入力します。
10.サービスアカウントのJSONキーファイルの内容全体をサービスアカウントキー(JSON):フィールドへ貼り付けます。
11.上記でGoogleサインインを設定した場合は、OAuth クライアント ID:とOAuth クライアント秘密鍵:を入力します。設定していない場合は、これらの項目は空欄のままにしてください。
12.保存して閉じるをクリックします。
説明:
検証ソースの説明(例えば、"Server X at example.com")のために、このテキストボックスを使用します。ユーザ検証ソースページの説明カラムに対応します。
ドメイン名:
組織のGoogle Workspaceプライマリドメイン名を入力します(例:example.com)。ホスト名やポートは不要です。SecurityGatewayはGoogle Workspaceの参照時に、常にGoogle自身のAPIエンドポイントに接続します。Googleサインインも設定している場合、このドメインはさらに、サインインしようとしているユーザーがそのWorkspaceに所属していることを確認するためにも使用され、それ以外のGoogleアカウントからのサインイン試行は拒否されます。
管理者メールアドレス:
サービスアカウントが偽装するGoogle Workspace管理者アカウントのメールアドレスを入力します。GoogleのDirectory APIでは、ドメイン全体の委任を通じて実在する管理者ユーザーの代理として参照を行う必要があるため、これはサービスアカウント自体ではなく、ディレクトリを読み取る管理権限を持つWorkspaceディレクトリ内の既存アカウント(特権管理者、または"Users > Read"を含むカスタムロールを持つアカウント)でなければなりません。注: 管理者用メールアドレスに入力したGoogle Workspaceアカウントが停止・削除された場合、または管理者ロールが解除された場合、SecurityGateway側で何も変更していなくても、このソースを使用しているすべてのドメインでGoogle Workspaceの確認が失敗し始めます。
サービスアカウントキー(JSON):
Google Cloud Consoleでサービスアカウント用にダウンロードしたJSONキーファイルの内容全体を貼り付けます。SecurityGatewayはこのキーを使用して、上記の管理者用メールアドレスのアカウントの代理としてDirectory APIへのリクエストに署名します。このキーを無効化して置き換える必要が生じた場合は、Google Cloud Consoleで新しいキーを生成し、その内容をここに貼り付けて古い値を置き換えてください。
OAuth クライアント ID:(オプション)
Google Cloud OAuthクライアント(種類は"ウェブアプリケーション")のクライアントIDです。これは、このドメインのユーザーが、SecurityGatewayパスワードの代わりにGoogle WorkspaceアカウントでSecurityGateway Webインターフェースにサインインできるようにする場合にのみ使用します。Googleサインインを提供せず、Google Workspaceをアドレスの確認のみに使用したい場合は、このフィールドは空欄のままにしてください。
OAuth クライアント秘密鍵:(オプション)
上記のOAuth クライアント ID:に対応するクライアントシークレットです。このドメインのユーザーにGoogleサインインを提供するには、クライアントIDとクライアントシークレットの両方を設定する必要があります。いずれかが空欄の場合、ユーザーは引き続きSecurityGatewayパスワードでサインインすることになります。

|
上記のLDAPオプションと同様に、Google Workspaceは動的なパスワード認証をサポートしていません。ユーザーにパスワードでの認証を必須としている場合(例えば、送信メールの送信や、基本認証のみをサポートするメールクライアントの使用など)で、かつ上記のオプションのOAuthクライアントID/シークレットを設定していない場合、それらのユーザーにはSecurityGatewayアカウントのパスワードが必要になります。
|
|