[管理] メニューの [認証] セクションにある [Google 認証] ページで、Looker 側の Google OAuth を設定できます。
機能の概要
必要な場合は、Google Workspace で登録したアカウントを持つユーザー向けに、Looker は Google OAuth を介して認証を実行できます。
- Google Workspace を利用している組織では、Google アカウントを介して Looker ユーザーを認証できる。
- ユーザーは自身の Google アカウントで認証することによって Looker にログインする。
- 新しい Google アカウントには自動的に Looker へのアクセス権が与えられます。別途ユーザーを Looker に招待する必要はありません。新規ユーザーにデフォルト ロールを設定し、機能とデータへのアクセスを制限できる。
- 有効にすると、[代替ログイン] オプションを選択しない限り、Google OAuth でのみユーザー認証が行われます(詳しい手順については、以下をご覧ください)。
- ユーザーの Google アバターが、標準のユーザー記号ではなく、ナビゲーション バーに表示されます。
次の動作は、Google OAuth を使用するかどうかに影響する可能性があります。
- 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 デベロッパー コンソールに関するドキュメントは、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 同意画面を構成し、[保存して次へ] をクリックします。
Google の OAuth 同意画面の設定については、OAuth 2.0 の設定 Google サポートページをご覧ください。
[スコープ] ページで、[保存して次へ] をクリックします。追加のスコープ構成は必要ありません。
[概要] ページで、[ダッシュボードに戻る] をクリックします。
[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
です。[Create(作成)] をクリックします。
クライアント ID とクライアント シークレットの値をコピーします。これらは Looker を構成するときに必要になります。
Looker 側での設定
Looker 側で Google OAuth を有効にする手順は次のとおりです。
Looker アプリケーションから、管理者としてログインした状態で [Admin] プルダウンをクリックし、[Admin] メニューを開きます。
[認証] グループで、[Google] をクリックします。Looker に [Google 認証] ページが表示されます。
[Enabled] をクリックすると、Google OAuth 設定の表示と編集を行えます(この操作を行っても、Google 認証が直ちに有効になるわけではありません。後で選択を確定する必要があります)。
Google Auth 設定を入力します。
- クライアント ID とクライアント シークレット: 上記の Google の設定手順に基づいて、これらの値を Google OAuth クライアント ページからコピーして貼り付けます。
- ドメイン - 組織の Google が管理するドメイン名。指定されたドメインの Google ユーザーが Looker インスタンスにログインできます。複数の Google ドメインを管理している場合は、カンマで区切って入力できます。
警告: 組織が管理している Google ドメインのみを入力してください。他のドメインを入力すると、自分が管理していないドメインのユーザーにアクセス権が送信される可能性があります。
[Migration Options] に入力します。これにより、Google OAuth への移行中の Looker インスタンスの動作が制御されます。
- 管理者による代替ログイン - 管理者はメールアドレスとパスワードを使用して引き続きログインできます。これは、Google OAuth の設定中に問題が発生した場合の有効なフォールバックです。この設定は推奨されており、以下で詳しく説明しています。
- Merge by email - 指定されたドメイン内のメールアドレスを持つ既存のユーザーを、次回ログイン時に Google OAuth を使用します。この設定をおすすめします。
- 新しいユーザーのロール - 管理者以外の新しいユーザーが持つ機能とモデルへのアクセスを指定します。このリストは後で更新できます。空白のままにした場合は、管理者がアカウントにロールを追加するまで、Google 認証済みの新規ユーザーは Looker プラットフォーム内で機能が制限されます。Google ドメイン内のすべてのユーザーが Looker にログインできるため、新規ユーザーに適切なアクセスを制限するデフォルトのロールを指定することを検討してください。
[Test Google Authentication] をクリックし、現在の設定を使用して、新しいウィンドウで現在のブラウザを認証してみます。この操作は、現在の設定を保存することも、Looker インスタンスに適用しません。
Google にログインしていない場合は、ログインを求められ、Google アカウント情報を使用することへの同意を求められます。このフローでは、Google 側の設定で使用したカスタム同意画面設定が使用されます。
成功すると、[User Info] セクションに名前、メールアドレス、ドメインなどが表示されます。[User Info] がある場合は、このユーザーが Looker によって正常に認証されていることがわかります。
失敗すると、エラーの説明が表示されます。一般的な事項としては、次のようなものがあります。
- クライアント ID またはクライアント シークレットが間違っています。これをよくコピーして貼り付けてください。
- ユーザーがドメイン外のユーザーです。[Person Info] が表示されても [User Info] が表示されない場合は、指定したドメインにユーザーが登録されていないことが原因である可能性があります。これは、ユーザーが Google に対して正しく認証されているものの、Looker インスタンスへのアクセスを許可するために選択した Google アカウントを使用していないことを示しています。
- Google で Looker 用に設定された Looker URL またはリダイレクト URL が正しく設定されていません。
変更を保存して適用するには、[上記の構成を確認しました。グローバルに適用したいと考えています] をオンにします。[更新] をクリックします。
Google 認証を有効にした後、ユーザーは Google OAuth でのみ認証を行うことができます。既存のアカウントで [Merge by email] 設定を有効にしなかった場合は、新しい Google 認証ログインごとに新しい Looker ユーザーが作成されます。既存のメールとパスワードによるログインは、Google 認証が有効になっているときには使用できません。
ヒント
認証サイクル全体を試すには、Google からログアウトし、Looker にログインしようとすると再度ログインするよう求めるメッセージが表示されることを確認します。
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 ドメイン以外のメールアドレスを使用してユーザーを追加するには:
- Google 認証ページで [管理者と指定ユーザーの代替ログイン] オプションを有効にする
- 既存のユーザー役割を作成または変更して
login_special_email
権限を追加する - [ユーザー] パネルから [ユーザーを追加] に移動します(/admin/users/new)。
- 追加するメールアドレスと、ユーザーに与えるロールを追加します。このロールには、
login_special_email
権限を持つロールが含まれている必要があります。 - これで、ユーザーは https://mycompany.looker.com/login/email(非表示の URL)を使用してログインできるようになりました。
Looker API を使用して代替ログインを有効にするには、代替ログイン オプションを有効にする ドキュメント ページをご覧ください。
有効に設定された場合に Google Auth を無効にする
Looker インスタンスがすでに有効になっている後に Google 認証を無効にする場合は、次の点を考慮してください。
- Google 認証が行われる前に作成され、通常のメール ログインとパスワードをすでに設定したユーザーは引き続き機能します。
- Google 認証の追加後に作成されたユーザーは、ログインできなくなります。アカウントがまだ存在していても、アカウントにはアクセスできず、実質的に孤立しています。
ですから、現時点ではこのルートを避けることをおすすめします。この方法を採用する必要がある場合は、Looker API を使用して孤立したアカウントを修正する方法があります。追加のガイダンスについては、Looker サポートにお問い合わせください。