Google 認証

[Admin] メニューの [Authentication] セクションで、[Google Authentication] ページで Looker 側で Google OAuth を設定できます。

機能の概要

Looker は必要に応じて、Google OAuth を介して、Google Workspace に登録済みのアカウントを持つユーザーの認証を行うことができます。

  • Google Workspace を利用している組織では、Google アカウントを介して Looker ユーザーを認証できる。
  • ユーザーは自身の Google アカウントで認証することによって Looker にログインする。
  • 新しい Google アカウントには自動的に Looker へのアクセス権が与えられる。ユーザーを Looker に個別に招待する必要はありません。新規ユーザーにデフォルト ロールを設定し、機能とデータへのアクセスを制限できる。
  • 有効にすると、Looker は「代替ログイン」オプションを選択しない限り、Google OAuth でのみユーザーを認証します(詳しい手順は以下をご覧ください)。

ユーザーの Google アバターが標準ユーザー シンボルではなくナビゲーション バーに表示されます。

次の動作は、Google OAuth の使用に関する決定に影響を与える可能性があります。

  • Google OAuth を有効にすると、Looker インスタンスは既存のユーザー アカウントを Google に登録したドメインと統合できますが、メールアドレスがドメインと一致するアカウントに限られます。管理者以外のアカウントはすべて、ログインできなくなります。
  • 指定されたドメイン内のすべてのユーザーが Looker インスタンスにアクセスできます。
  • 新しい Google ユーザーに対する権限はデフォルトで、指定されたモデルリストに対するベーシック アクセスに設定されます(必要に応じて、ゼロモデルへのアクセス権を指定することもできます)。権限は、アカウントの作成後に管理者が更新できます。
  • Google OAuth を介して認証を行う新しい Looker アカウントでは、Looker インスタンスで OAuth が無効になっている場合でも、パスワード認証に切り替えることはできません。

予備要件

Google OAuth を使用するには、次のものが必要です。

  • 組織の Google Workspace アカウント。

    ユーザーの Google アカウント設定には姓と名の両方が含まれている必要があります。ユーザーが自分の Google アカウントから姓または名を削除した場合は、Looker が Google OAuth でユーザーを認証できなくなる可能性があります。詳しくは、ヒントをご覧ください。

  • 組織が管理し、Google Workspace アカウントに登録されたドメイン。

  • Google アカウントに関連付けられているドメイン内のメールアドレスを使用しているユーザー。

Google OAuth での認証の有効化

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

Google 側での設定

Google 側で Google OAuth を有効にする手順は、次のとおりです。この手順の一般的な説明は、OAuth 2.0 の設定に関する Google サポートページに記載されています。Google Dev Console のドキュメントは Google Cloud Console のヘルプページにあります。

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

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

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

    [New Project] ページが表示されます。

  4. [New Project] ページで情報を入力し、[Create] をクリックします。

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

  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 同意画面を設定し、[保存して次へ] をクリックします。

    Google の OAuth 同意画面の設定について詳しくは、Google サポート ページ OAuth 2.0 の設定をご覧ください。

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

  11. [Summary] ページで、[Back to Dashboard] をクリックします。

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

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

  13. [名前] 欄に、OAuth クライアント ID の名前を入力します。

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

    • 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. [Create(作成)] をクリックします。

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

Looker 側での設定

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

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

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

  3. [有効] をクリックして、Google OAuth の設定を表示および編集します。(これにより、Google 認証がすぐに有効になるわけではありません。選択内容は後で確認する必要があります)。

  4. Google 認証設定を入力します。

    • クライアント ID とクライアント シークレット - 上記の Google セットアップ手順で説明したように、Google の OAuth クライアント ページからこれらの値をコピーして貼り付けます。
    • ドメイン - 組織の Google 管理ドメイン名。所定のドメイン内のすべての Google ユーザーが Looker インスタンスにログインできます。複数の Google ドメインを管理している場合は、カンマで区切ります。

    警告: 組織で管理されている Google ドメインのみを入力してください。他のドメインを入力すると、自分では管理していないドメインのユーザーにアクセス権が開かれる可能性があります。

  5. [移行オプション] を入力します。これにより、Google OAuth への移行期間中の Looker インスタンスの動作を制御できます。

    • 管理者用の代替ログイン - メールアドレスとパスワードで引き続きログインできます。これは、Google OAuth の設定に失敗した場合のフォールバックとして役立ちます。この設定をおすすめします。詳しくは、後述します。
    • Merge by email - 指定したドメインのメールアドレスを持つ既存のユーザーを、次回ログイン時に Google OAuth を使用するように変換します。この設定をおすすめします。
    • 新規ユーザーの役割 - 管理者以外の新しいユーザーが利用できる機能とモデルへのアクセスを指定します。このリストは後で更新できます。空白のままにすると、管理者がアカウントにロールを追加するまで、新しい Google 認証ユーザーの Looker プラットフォーム内では機能が制限されます。Google ドメイン内のすべてのユーザーが Looker にログインできるため、新規ユーザー用にデフォルトのロールを指定して、アクセスを適切に制限することを検討してください。
  6. [Test Google Authentication] をクリックして現在の設定を使用し、現在のブラウザを新しいウィンドウで認証してみます。この操作では、現在の設定が保存されず、Looker インスタンスに適用されません

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

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

    エラーが発生すると、エラーの説明が表示されます。以下に、よくある問題を示します。

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

Google 認証を有効にすると、ユーザーは Google OAuth を通じてのみ認証を行えます。既存のアカウントで [Merge by email] の設定を有効にしていない場合、新しい Google 認証のログインで新たに Looker ユーザーが作成されます。Google 認証が有効になっていると同時に、既存のメールとパスワードによるログインを使用することはできません。

ヒント

  • 認証サイクル全体をテストするために、Google からログアウトすると、Looker にログインしようとすると、Google による再ログイン プロンプトが表示されるようになります。

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

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

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

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

Google 認証を有効にした状態でメール ログインを有効にする

新しい Google アカウントには自動的に Looker へのアクセス権が与えられるため、Google ドメインのユーザーを追加する必要はありません。

Google ドメイン以外のメールアドレスでユーザーを追加するには:

  1. Google 認証ページで [管理者と指定されたユーザーの代替ログイン] オプションを有効にする
  2. login_special_email 権限を追加するには、既存のユーザー役割を作成または変更します
  3. ユーザーパネルから [ユーザーを追加] に移動します(/admin/users/new)。
  4. 含めるメールアドレスとユーザーロールを指定します。ロールには login_special_email 権限を含める必要があります。
  5. これらのユーザーは https://mycompany.looker.com/login/email(非表示の URL)経由でログインできます。

Looker API を使用して代替ログインを有効にするには、代替ログイン オプションを有効にするに関するドキュメント ページをご覧ください。

Google Auth を有効にした後、無効にする

Looker インスタンスに対して Google 認証が有効になった後にその認証を無効にする場合は、次の点を考慮する必要があります。

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

そのため、現時点ではこのルートを使用しないことをおすすめします。このパスをたどる必要がある場合は、Looker API を使用して孤立したアカウントを修正するメソッドが存在する可能性があります。詳細なガイダンスについては、Looker サポートまでお問い合わせください。