[管理] メニューの [認証] セクションにある [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 Workspace アカウント。
- 組織によって管理され、Google Workspace アカウントに登録されているドメイン。
- Google アカウントに関連付けられたドメイン内のメールアドレスを持つユーザー。
- 各ユーザーは、Google Workspace の管理対象のユーザー アカウントを持っている必要があります。管理対象外のユーザー アカウントを持つユーザーを見つけて移行するには、管理対象に含まれないユーザー用の移行ツールを使用します。
Google OAuth を使用した認証の有効化
Google OAuth を使用した認証を有効にするには、管理者が以降のセクションで説明するように、Google 側と Looker 側の両方で手順を行う必要があります。
Google 側での設定
このセクションでは、Google 側で Google OAuth を有効にする手順について説明します。これらの手順の一般的な説明については、OAuth 2.0 の設定に関する Google サポートページをご覧ください。Google Cloud コンソールのヘルプドキュメントもご覧ください。
Google Cloud コンソールに移動します。
[プロジェクトを選択] プルダウンの下矢印をクリックします。プルダウンに既存のプロジェクトの名前が表示されます。下矢印をクリックすると、新しいプロジェクトを作成するオプションが表示されます。
[プロジェクトを選択] ページで、[新しいプロジェクト] をクリックします。
[新しいプロジェクト] ページが表示されます。
[新しいプロジェクト] ページに情報を入力し、[作成] をクリックします。
Google による新しいプロジェクトの作成が完了すると、Google Cloud コンソールに戻り、新しいプロジェクトが表示されます。
左側のメニューで、[API とサービス] > [認証情報] を選択します。
[認証情報] ページで、[認証情報を作成] ボタンをクリックし、プルダウン メニューから [OAuth クライアント ID] を選択します。
[OAuth クライアント ID の作成] ページが表示されます。
Google では OAuth 同意画面を構成することを求めています。これにより、ユーザーは各自のプライベート データへのアクセス権限を付与する方法を選択でき、組織の利用規約とプライバシー ポリシーへのリンクが表示されます。[同意画面を構成] をクリックします(以前のプロジェクトで OAuth 同意を構成している場合は、このオプションは表示されません。ステップ 13 に進んでください)。
[OAuth 同意画面] ページが表示されます。
[承認済みドメイン] フィールドに Looker インスタンスのドメインを入力します。たとえば、Looker がインスタンスを
https://mycompany.looker.com
でホストする場合、ドメインはlooker.com
です。セルフホスト型の Looker デプロイの場合は、Looker をホストするドメインを入力します。OAuth 同意画面を設定し、[保存して続行] をクリックします。
[スコープ] ページで、[保存して次へ] をクリックします。追加のスコープ構成は必要ありません。
[概要] ページで、[ダッシュボードに戻る] をクリックします。
[OAuth クライアント ID の作成] ページに戻ります。
[アプリケーションの種類] で、[ウェブ アプリケーション] を選択します。
[名前] フィールドに、実際の OAuth クライアント ID の名前を入力します。
[承認済みの JavaScript 生成元] フィールドに、
https://
を含む Looker インスタンスの URL を入力します。例:- Looker がインスタンスをホストする場合:
https://mycompany.looker.com
- セルフホスト型 Looker インスタンスがある場合:
https://looker.mycompany.com
- Looker インスタンスにポート番号が必要な場合:
https://looker.mycompany.com:9999
- Looker がインスタンスをホストする場合:
[承認済みのリダイレクト URI] に、Looker インスタンスの URL と、続けて
/oauth2callback
を入力します。たとえば、https://mycompany.looker.com/oauth2callback
やhttps://looker.mycompany.com:9999/oauth2callback
です。[作成] をクリックします。
クライアント ID とクライアント シークレットの値をコピーします。これらは Looker を構成する際に必要になります。
Looker 側での設定
Looker 側で Google OAuth を有効にする手順は次のとおりです。
Looker アプリケーションから、管理者としてログインした状態で、[管理] プルダウンをクリックして [管理] メニューを開きます。
[Authentication] グループで [Google] をクリックします。Looker に [Google 認証] ページが表示されます。
[Enabled] をクリックすると、Google OAuth 設定の表示と編集を行えます(この操作を行っても、Google 認証が直ちに有効になるわけではありません。後で選択を確定する必要があります)。
Google Auth Settings を入力します。
- クライアント ID とクライアント シークレット: 上記の Google の設定手順に基づいて、これらの値を Google OAuth クライアント ページからコピーして貼り付けます。
- ドメイン - Google が管理する組織のドメイン名。指定されたドメイン内の Google ユーザーが Looker インスタンスにログインできます。複数の Google ドメインを管理している場合は、それらをカンマで区切って入力できます。
[移行オプション] を入力します。これにより、Google OAuth へ移行中の Looker インスタンスの動作を制御します。
- 管理者による代替ログイン - 管理者はメールアドレスとパスワードを使用して引き続きログインできます。これは、Google OAuth の設定中に問題が発生した場合の有効なフォールバックです。この設定は推奨されており、Google 認証が有効な場合のメールログインを有効にするで詳しく説明しています。
- メールによる結合 - 特定のドメイン内のメールアドレスを使用する既存のユーザーを、次回ログイン時に Google OAuth を使用するように変換します。この設定をおすすめします。
- 新しいユーザーのロール - 管理者以外の新しいユーザーが持つ機能とモデルアクセスを指定します。このリストは後で更新できます。空白のままにした場合は、管理者がアカウントにロールを追加するまで、Google 認証済みの新規ユーザーは Looker プラットフォーム内で機能が制限されます。Google ドメイン内のすべてのユーザーが Looker にログインできるため、アクセスを適切に制限するための新規ユーザー用のデフォルトのロールを指定することを検討します。
[Google 認証をテストする] をクリックして、現在の設定を使用して、新しいウィンドウで現在のブラウザの認証を試みます。この操作では、現在の設定の保存や、Looker インスタンスへの適用は行われません。
Google にログインしていない場合は、ログインを求められ、Google アカウント情報を使用することへの同意を求められます。このフローでは、Google 側の設定で使用したカスタムの同意画面の設定が使用されます。
成功すると、[ユーザー情報] セクションには、名前、メールアドレス、ドメインが表示されます。この [ユーザー情報] セクションがある場合、このユーザーは Looker によって正常に認証されたことを示します。
失敗すると、エラーの説明が表示されます。一般的な問題としては、次のようなものがあります。
- クライアント ID またはクライアント シークレットが誤ってコピーされました。これらは完全な形で、注意しながらコピーして貼り付ける必要があります。
- ユーザーがドメイン外です。[個人情報] セクションが表示されているのに [ユーザー情報] が表示されない場合は、指定したドメインにユーザーがいない可能性があります。これは、そのユーザーが Google に対して正しく認証されているものの、Looker インスタンスへのアクセスを許可するために選択した Google アカウントを使用していないことを示します。
- Google で Looker インスタンスに対する Looker URL またはリダイレクト URL が正しく設定されていません。
変更を保存して適用するには、[上記の構成を確認しました。グローバルに適用したいと考えています] をオンにします。[更新] をクリックします。
ヒント
完全な認証サイクルを試す場合は、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 にないメールアドレスを持つユーザーを追加するには、次のようにします。
- Google Auth ページで [Alternate login for admins and specified users] オプションを有効にする
login_special_email
権限を追加するために、既存のユーザーロールを作成または変更する- ユーザーパネル(/admin/users/new)から [Add Users] に移動します。
- 含めたいメールアドレスと、それらのユーザーに付与するロールを追加します。これには、
login_special_email
権限を持つロールを含める必要があります。 - これらのユーザーは、https://mycompany.looker.com/login/email(非表示 URL)を使用してログインできるようになりました。
有効に設定された場合に Google Auth を無効にする
Looker インスタンスの Google 認証を有効にした後、無効にする場合は、次の点を考慮してください。
- Google 認証が行われる前に作成され、通常のメール ログインとパスワードをすでに設定したユーザーは引き続き機能します。
- Google 認証の追加後に作成されたユーザーは、ログインできなくなります。アカウントがまだ存在していても、アカウントにはアクセスできず、実質的に孤立しています。
そのため、このルートは使用しないことをおすすめします。この方法を採用する必要がある場合は、Looker API を使用して孤立したアカウントを修正する方法があります。追加のガイダンスについては、Looker サポートまでお問い合わせください。