このドキュメント ページでは、OAuth クライアントを設定し、インスタンスの作成時に OAuth 認証情報をインスタンスに手動で関連付ける方法について説明します。
OAuth 認証情報を作成するタイミング
ほとんどの場合、Looker(Google Cloud コア)はデフォルトで Looker 管理の OAuth 認証情報を自動的に作成して割り当てます。インスタンスのネットワーク接続タイプと認証構成によっては、特定のシナリオでのみ OAuth クライアントを作成し、カスタム OAuth 認証情報を手動で関連付ける必要があります。
- Google OAuth を使用したプライベート接続またはハイブリッド接続: プライベート接続またはハイブリッド接続で Google OAuth を使用する(プライマリ認証またはセカンダリ認証として)場合は、常に OAuth の手動設定が必要です。
- Google OAuth を使用したパブリック接続: 手動での OAuth 設定は不要です。Looker(Google Cloud コア)は、デフォルトで Looker 管理の認証情報を自動的に割り当てますが、必要に応じてカスタム認証情報を構成することもできます。
- Workforce Identity 連携のみ: セカンダリ Google OAuth を使用せずに Workforce Identity 連携を使用する場合、どのネットワーク接続タイプでも手動の OAuth 設定は不要です。
- カスタム ドメイン: パブリック セキュア接続と Google OAuth を使用するインスタンスにカスタム ドメインを構成する場合は、カスタム OAuth 認証情報が必要になり、カスタム ドメインの作成プロセスの一環として構成されます。
次の表に、OAuth 認証情報の手動設定が必要な場合を示します。
| プライマリ認証 | 二次認証 | ネットワーク接続の種類 | 手動 OAuth 設定 |
|---|---|---|---|
| Google OAuth | なし | 一般公開の安全な接続 | 不要。Looker(Google Cloud コア)は、Looker が管理する認証情報を自動的に割り当てます。 |
| プライベート接続またはハイブリッド接続 | 必須。このページの手順に従ってください。 | ||
| Workforce Identity 連携 | なし | パブリック接続 | 不要。 |
| Workforce Identity 連携 | Google OAuth | 一般公開の安全な接続 | 省略可。Looker(Google Cloud コア)は、デフォルトで Looker が管理する認証情報を使用します。カスタム認証情報を指定することもできます。 |
必要なロール
Google Cloud コンソールを使用して OAuth 認証情報を作成および編集するには、次の権限が必要です。(権限のリストを非表示にするには、[必要な権限] セクションを閉じます。)
必要な権限
- clientauthconfig.*
- clientauthconfig.brands.create
- clientauthconfig.brands.delete
- clientauthconfig.brands.get
- clientauthconfig.brands.list
- clientauthconfig.brands.update
- clientauthconfig.clients.create
- clientauthconfig.clients.createSecret
- clientauthconfig.clients.delete
- clientauthconfig.clients.get
- clientauthconfig.clients.getWithSecret
- clientauthconfig.clients.list
- clientauthconfig.clients.listWithSecrets
- clientauthconfig.clients.undelete
- clientauthconfig.clients.update
- oauthconfig.*
- oauthconfig.clientpolicy.get
- oauthconfig.testusers.get
- oauthconfig.testusers.update
- oauthconfig.verification.get
- oauthconfig.verification.submit
- oauthconfig.verification.update
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。ロール付与の詳細については、Identity and Access Management(IAM)ドキュメントのプロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
Looker(Google Cloud コア)インスタンスを作成する前
Looker(Google Cloud コア)インスタンスを作成する前に、次のセクションで説明する手順を完了してください。
OAuth クライアント ID とクライアント シークレットを生成する
まず、OAuth クライアントを作成し、そのクライアントのクライアント ID とクライアント シークレットを生成します。これらの値は、Looker(Google Cloud コア)インスタンスの作成時に必要です。
OAuth クライアントは、任意の Google Cloud プロジェクトで設定できます。Looker(Google Cloud コア)インスタンスと同じプロジェクトに設定する必要はありません。ただし、設定したプロジェクトで Looker(Google Cloud コア)API を有効にする必要があります。
クライアントとその認証情報を作成する手順は次のとおりです。
- OAuth クライアントを作成するプロジェクトに移動します。
- [API とサービス] > [認証情報] に移動します。
- [認証情報] ページで、[認証情報を作成] をクリックします。
- プルダウン メニューで [OAuth クライアント ID] を選択します。
- [アプリケーションの種類] プルダウンで、[ウェブ アプリケーション] を選択します。
- [名前] フィールドに、実際の OAuth クライアントの名前を入力します。
- この時点では、[承認済みの JavaScript 生成元] セクションまたは [承認済みのリダイレクト URI] セクションに URI を追加する必要はありません。
- [作成] をクリックします。
[作成] をクリックすると、[OAuth クライアントを作成しました] ウィンドウが表示されます。このウィンドウには、OAuth クライアント用に作成されたクライアント ID とクライアント シークレットが表示されます。これらの値は、Looker(Google Cloud コア)インスタンスを作成するときに必要になります。
必要に応じて、[JSON をダウンロード] をクリックして、認証情報を JSON ファイルにダウンロードします。[OK] をクリックしてウィンドウを閉じます。
ユーザーの同意画面、スコープ、テストユーザーを構成する
次に、同意画面を構成します。同意画面は、最初のログイン時と、承認の有効期限が切れた時点またはユーザーが取り消した時点で、Looker(Google Cloud コア)インスタンスのユーザーに表示されます。
OAuth 同意画面を構成し、スコープを選択するのドキュメント ページの手順に沿って操作します。画面を構成する際に、次の設定を説明に沿って行います。
[ブランディング] セクションの [承認済みドメイン] で、ドメインが OAuth 認証情報を使用する Looker(Google Cloud コア)インスタンスのドメインと一致している必要があります。Looker(Google Cloud コア)インスタンスにカスタム ドメインを作成し、割り当てるドメインがわかっている場合は、ここで入力できます。それ以外の場合は、このフィールドを空のままにできます。Looker(Google Cloud コア)インスタンスの作成後に承認済みリダイレクト URI を追加すると、このフィールドは自動的に入力されます。
[対象] セクションの [ユーザータイプ] で、次のいずれかを選択します。
- 内部: これがデフォルトの設定です。組織内のユーザーのみが、IAM を通じて追加された後にインスタンスにアクセスできます。
- 外部にする: 種類を問わず Google アカウントを持つユーザーは、IAM を介して追加されると、インスタンスにアクセスできます。
Looker(Google Cloud コア)インスタンスの作成時
Looker(Google Cloud コア)インスタンスを作成するとき、OAuth クライアント ID とクライアント シークレットを [OAuth アプリケーション認証情報] セクションに追加します。OAuth 認証情報がないとインスタンスを作成できません。 Google Cloud コンソールで OAuth クライアントに移動して、OAuth クライアント ID とクライアント シークレットを見つけます。
Looker(Google Cloud コア)インスタンスを作成した後
次の手順に沿って構成を完了します。承認済みのリダイレクト URI を追加すると、承認済みドメインとして OAuth 同意画面に追加されます。
承認済みのリダイレクト URI を OAuth クライアントに追加する
まだ行っていない場合は、次の手順に沿って、新しく作成した Looker(Google Cloud コア)インスタンスの URL を OAuth クライアントに入力します。
Looker(Google Cloud コア)インスタンスを作成したら、インスタンスの URL を見つけてコピーします。URL は、[インスタンス] ページで確認できます。
Google Cloud コンソールで、[API とサービス] > [認証情報] に移動します。
[OAuth 2.0 クライアント ID] という見出しの下で、作成したクライアントの名前をクリックします。
[承認済みのリダイレクト URI] セクションで、[URI を追加] をクリックします。
Looker(Google Cloud コア)インスタンスの URL を [URI] フィールドに貼り付けます。URL の末尾に
/oauth2callbackを追加します。例:https://uuid.looker.app/oauth2callback。BigQuery の OAuth 認証を設定する場合は、Looker(Google Cloud コア)インスタンスの URL を指す 2 つ目のリダイレクト URI を追加することもできます。この場合、URL の末尾に
/external_oauth/redirectを追加します。例:https://uuid.looker.app/external_oauth/redirect。[保存] をクリックします。
更新が有効になるまで 5 分から数時間かかることがあります。
ユーザーの管理
OAuth クライアントを構成し、Looker(Google Cloud コア)インスタンスを作成したら、OAuth を使用してインスタンスにログインできます。その後、インスタンスの認証方法を選択できます。
主な認証方法として OAuth を使用する場合は、Looker(Google Cloud コア)ユーザー認証に Google OAuth を使用するのドキュメント ページに記載されている手順に沿って、ユーザー認証用の OAuth 設定を完了してください。
認証方法を設定したら、ID プロバイダを使用してユーザーを追加または削除し、Looker 内でユーザーを管理できます。
インスタンスの OAuth 認証情報の種類を表示する
OAuth 認証情報は、 Google Cloud コンソールのインスタンス構成ページに直接表示されません。インスタンス構成ページで [編集] をクリックすると、[OAuth アプリケーション認証情報] セクションが表示されます。
OAuth 認証情報が [Looker managed] に設定されている場合、Looker(Google Cloud コア)はインスタンスの作成時に Looker 管理の OAuth 認証情報を割り当て、クライアント ID とクライアント シークレットは表示されません。
OAuth 認証情報が [手動] に設定されている場合、インスタンスの作成中または作成後に、手動 OAuth 認証情報がインスタンスに追加されています。クライアント ID とクライアント シークレットは表示されません。代わりに、**** プレースホルダが表示されます。
Looker(Google Cloud コア)インスタンスの OAuth クライアントを編集する
必要に応じて、以下の手順に沿って Looker(Google Cloud コア)インスタンスの OAuth 認証情報を追加、編集、変更できます。
- 新しいクライアントまたは認証情報を設定します。
- Google Cloud コンソールの [インスタンス] ページで、インスタンスの名前をクリックして [詳細] ページを開きます。
- [詳細] ページで [編集] をクリックします。
- [Looker(Google Cloud コア)インスタンスの編集] ページで、[OAuth アプリケーション認証情報] セクションに移動し、[手動] を選択します(まだ選択されていない場合)。
- [OAuth クライアント ID] フィールドと [OAuth クライアント シークレット] フィールドに新しい値を入力します。
- [保存] をクリックします。
OAuth アプリケーションの認証情報が Looker マネージドに設定されている場合、認証情報を追加または編集することはできません。認証情報の [手動] 設定に切り替えて、認証情報を編集または追加します。
次のステップ
- パブリック IP の Looker(Google Cloud コア)インスタンスを作成する
- プライベート接続(プライベート サービス アクセス)の Looker(Google Cloud コア)インスタンスを作成する