管理者設定 - Google 認証

[管理] メニューの [認証] セクションにある [Google 認証] ページで、Looker 側の Google OAuth を設定できます。

機能の概要

Looker では、Google Workspace で登録したアカウントを持つユーザー向けに、Google OAuth を使用して認証を実行できます。

  • Google Workspace を使用している組織は、Google アカウントを持つ Looker ユーザーを認証できます。
  • ユーザーは自身の Google アカウントで認証することによって Looker にログインします。
  • 新しい Google アカウントには自動的に Looker へのアクセス権が与えられます。別途ユーザーを Looker に招待する必要はありません。新規ユーザーにデフォルト ロールを設定し、機能とデータへのアクセスを制限できる。
  • 有効にすると、[代替ログイン] オプションを選択しない限り、Google OAuth でのみユーザー認証が行われます(詳しくは、Google 認証が有効な間にメールログインを有効にするの次のセクションをご覧ください)
  • 標準ユーザーのマークの代わりにユーザーの Google アバターがナビゲーション バーに表示されます。
  • Google OAuth を有効にすると、Looker インスタンスは Google に登録されているドメインと既存のユーザー アカウントをマージできますが、メールアドレスがドメインと一致するアカウントに限られます。管理者以外のその他のアカウントではログインできなくなります。
  • 指定されたドメイン内のすべてのユーザーが Looker インスタンスへのアクセス権を取得します。
  • 新しい Google ユーザーの権限は、デフォルトで、指定されたモデルのリストに対する基本アクセス権になります(オプションで、ゼロモデルへのアクセスにすることも可能)。管理者は、アカウントの作成後に権限を更新できます。
  • Google OAuth を使用して認証する新しい Looker アカウントは、Looker インスタンスで OAuth が無効になっている場合でも、パスワード認証に切り替えることはできません。

予備的な要件

Google OAuth を使用するための要件は、以下のとおりです。

Google OAuth を使用した認証の有効化

Google OAuth を使用した認証を有効にするには、管理者が以降のセクションで説明するように、Google 側と Looker 側の両方で手順を行う必要があります。

Google 側での設定

このセクションでは、Google 側で Google OAuth を有効にする手順について説明します。これらの手順の一般的な説明については、OAuth 2.0 の設定に関する Google サポートページをご覧ください。Google Cloud コンソールのヘルプドキュメントもご覧ください。

  1. Google Cloud コンソールに移動します。

  2. [プロジェクトを選択] プルダウンの下矢印をクリックします。プルダウンに既存のプロジェクトの名前が表示されます。下矢印をクリックすると、新しいプロジェクトを作成するオプションが表示されます。

  3. [プロジェクトを選択] ページで、[新しいプロジェクト] をクリックします。

    [新しいプロジェクト] ページが表示されます。

  4. [新しいプロジェクト] ページに情報を入力し、[作成] をクリックします。

    Google による新しいプロジェクトの作成が完了すると、Google Cloud コンソールに戻り、新しいプロジェクトが表示されます。

  5. 左側のメニューで、[API とサービス] > [認証情報] を選択します。

  6. [認証情報] ページで、[認証情報を作成] ボタンをクリックし、プルダウン メニューから [OAuth クライアント ID] を選択します。

    [OAuth クライアント ID の作成] ページが表示されます。

  7. Google では OAuth 同意画面を構成することを求めています。これにより、ユーザーは各自のプライベート データへのアクセス権限を付与する方法を選択でき、組織の利用規約とプライバシー ポリシーへのリンクが表示されます。[同意画面を構成] をクリックします(以前のプロジェクトで OAuth 同意を構成している場合は、このオプションは表示されません。ステップ 13 に進んでください)。

    [OAuth 同意画面] ページが表示されます。

  8. [承認済みドメイン] フィールドに Looker インスタンスのドメインを入力します。たとえば、Looker がインスタンスを https://mycompany.looker.com でホストする場合、ドメインは looker.com です。セルフホスト型の Looker デプロイの場合は、Looker をホストするドメインを入力します。

  9. OAuth 同意画面を設定し、[保存して続行] をクリックします。

  10. [スコープ] ページで、[保存して次へ] をクリックします。追加のスコープ構成は必要ありません。

  11. [概要] ページで、[ダッシュボードに戻る] をクリックします。

    [OAuth クライアント ID の作成] ページに戻ります。

  12. [アプリケーションの種類] で、[ウェブ アプリケーション] を選択します。

  13. [名前] フィールドに、実際の OAuth クライアント ID の名前を入力します。

  14. [承認済みの JavaScript 生成元] フィールドに、https:// を含む Looker インスタンスの URL を入力します。例:

    • Looker がインスタンスをホストする場合: https://mycompany.looker.com
    • セルフホスト型 Looker インスタンスがある場合: https://looker.mycompany.com
    • Looker インスタンスにポート番号が必要な場合: https://looker.mycompany.com:9999
  15. [承認済みのリダイレクト URI] に、Looker インスタンスの URL と、続けて /oauth2callback を入力します。たとえば、https://mycompany.looker.com/oauth2callbackhttps://looker.mycompany.com:9999/oauth2callback です。

  16. [作成] をクリックします。

  17. クライアント IDクライアント シークレットの値をコピーします。これらは Looker を構成する際に必要になります。

Looker 側での設定

Looker 側で Google OAuth を有効にする手順は次のとおりです。

  1. Looker アプリケーションから、管理者としてログインした状態で、[管理] プルダウンをクリックして [管理] メニューを開きます。

  2. [Authentication] グループで [Google] をクリックします。Looker に [Google 認証] ページが表示されます。

  3. [Enabled] をクリックすると、Google OAuth 設定の表示と編集を行えます(この操作を行っても、Google 認証が直ちに有効になるわけではありません。後で選択を確定する必要があります)。

  4. Google Auth Settings を入力します。

    • クライアント ID とクライアント シークレット: 上記の Google の設定手順に基づいて、これらの値を Google OAuth クライアント ページからコピーして貼り付けます。
    • ドメイン - Google が管理する組織のドメイン名。指定されたドメイン内の Google ユーザーが Looker インスタンスにログインできます。複数の Google ドメインを管理している場合は、それらをカンマで区切って入力できます。
  5. [移行オプション] を入力します。これにより、Google OAuth へ移行中の Looker インスタンスの動作を制御します。

    • 管理者による代替ログイン - 管理者はメールアドレスとパスワードを使用して引き続きログインできます。これは、Google OAuth の設定中に問題が発生した場合の有効なフォールバックです。この設定は推奨されており、Google 認証が有効な場合のメールログインを有効にするで詳しく説明しています。
    • メールによる結合 - 特定のドメイン内のメールアドレスを使用する既存のユーザーを、次回ログイン時に Google OAuth を使用するように変換します。この設定をおすすめします。
    • 新しいユーザーのロール - 管理者以外の新しいユーザーが持つ機能とモデルアクセスを指定します。このリストは後で更新できます。空白のままにした場合は、管理者がアカウントにロールを追加するまで、Google 認証済みの新規ユーザーは Looker プラットフォーム内で機能が制限されます。Google ドメイン内のすべてのユーザーが Looker にログインできるため、アクセスを適切に制限するための新規ユーザー用のデフォルトのロールを指定することを検討します。
  6. [Google 認証をテストする] をクリックして、現在の設定を使用して、新しいウィンドウで現在のブラウザの認証を試みます。この操作では、現在の設定の保存や、Looker インスタンスへの適用は行われません

    Google にログインしていない場合は、ログインを求められ、Google アカウント情報を使用することへの同意を求められます。このフローでは、Google 側の設定で使用したカスタムの同意画面の設定が使用されます。

    成功すると、[ユーザー情報] セクションには、名前、メールアドレス、ドメインが表示されます。この [ユーザー情報] セクションがある場合、このユーザーは Looker によって正常に認証されたことを示します。

    失敗すると、エラーの説明が表示されます。一般的な問題としては、次のようなものがあります。

    • クライアント ID またはクライアント シークレットが誤ってコピーされました。これらは完全な形で、注意しながらコピーして貼り付ける必要があります。
    • ユーザーがドメイン外です。[個人情報] セクションが表示されているのに [ユーザー情報] が表示されない場合は、指定したドメインにユーザーがいない可能性があります。これは、そのユーザーが Google に対して正しく認証されているものの、Looker インスタンスへのアクセスを許可するために選択した Google アカウントを使用していないことを示します。
    • Google で Looker インスタンスに対する Looker URL またはリダイレクト URL が正しく設定されていません。
  7. 変更を保存して適用するには、[上記の構成を確認しました。グローバルに適用したいと考えています] をオンにします。[更新] をクリックします。

ヒント

  • 完全な認証サイクルを試す場合は、Google からログアウトして、Looker にログインしようとするときに Google から再度ログインするよう求められることを確認します。

  • Google では、個人のプルダウン(Google Workspace ページの右上にあるメールアドレスの横)の [アカウント] をクリックして、個人のアカウントを管理することができます。

    その管理ページには [セキュリティ] タブがあり、ここに [アカウント権限] セクション含まれています。[アプリとウェブサイト]、[すべて表示] をクリックすると、(ユーザーとして)権限を付与したサービスとアプリを表示および管理できます。

    ログインするために付与した Looker 権限をクリックすると、以前にカスタマイズした同意画面でユーザーに表示される詳細を確認できます。また、[アクセスを取り消す] をクリックすると、次に Looker にログインする際、または承認をテストする際に、同意画面が再度表示されます。このワークフローを使用して、同意画面をカスタマイズし、ユーザーに表示される内容を確認できます。

トラブルシューティング

  • ユーザーがログインに失敗した場合は、まず、そのユーザーの Google アカウントに姓と名の両方が設定されていることを確認します。ユーザーが Google アカウントから姓または名のいずれかを削除した場合は、Looker が Google OAuth でユーザーを認証できない可能性があります。

  • ユーザーがログインに失敗し、Looker で User not in the authorized domain などのエラーが表示される場合は、JSON レスポンスの hd フィールドを確認します。hd フィールドにドメインが含まれている場合は、ドメインが Google Workspace アカウントに登録されていることを確認します。hd フィールドが空の場合、管理対象に含まれないユーザー用の移行ツールを使用して、ドメイン内の管理対象アカウントにユーザーのアカウントを移行するようにユーザーを案内します。

  • ユーザーがログインに失敗したがLooker にエラー メッセージが表示されない場合は、ユーザーが Google Workspace アカウント名を編集して、姓または名を削除した可能性があります。この場合、Google Workspace アカウント名が管理コンソールにまだ全て表示されており、ユーザーの編集が反映されていない可能性があります。この問題を回避するために、Google Workspace 管理者は [ユーザーにこの設定のカスタマイズを許可] オプションを無効にすることができます。

Google 認証が有効な間にメールログインを有効にする

新しい Google アカウントは Looker に自動的にアクセスできるようになるため、Google ドメイン内のユーザーを追加する必要はありません。

Google Domains にないメールアドレスを持つユーザーを追加するには、次のようにします。

  1. Google Auth ページで [Alternate login for admins and specified users] オプションを有効にする
  2. login_special_email 権限を追加するために、既存のユーザーロールを作成または変更する
  3. ユーザーパネル(/admin/users/new)から [Add Users] に移動します。
  4. 含めたいメールアドレスと、それらのユーザーに付与するロールを追加します。これには、login_special_email 権限を持つロールを含める必要があります。
  5. これらのユーザーは、https://mycompany.looker.com/login/email(非表示 URL)を使用してログインできるようになりました。

有効に設定された場合に Google Auth を無効にする

Looker インスタンスの Google 認証を有効にした後、無効にする場合は、次の点を考慮してください。

  • Google 認証が行われる前に作成され、通常のメール ログインとパスワードをすでに設定したユーザーは引き続き機能します。
  • Google 認証の追加後に作成されたユーザーは、ログインできなくなります。アカウントがまだ存在していても、アカウントにはアクセスできず、実質的に孤立しています。

そのため、このルートは使用しないことをおすすめします。この方法を採用する必要がある場合は、Looker API を使用して孤立したアカウントを修正する方法があります。追加のガイダンスについては、Looker サポートまでお問い合わせください。