Looker(Google Cloud コア)ユーザー認証に Google OAuth を使用する

Google OAuth は、Identity and Access Management(IAM)と組み合わせて、Looker(Google Cloud コア)ユーザーを認証するために使用されます。

OAuth をプライマリ認証方式として使用するかどうかにかかわらず、Looker(Google Cloud コア)インスタンスの作成中に、OAuth クライアントと認証情報を設定する必要があります。

ユーザーが Google OAuth を使用して Looker(Google Cloud コア)インスタンスに認証できるようにするには、このページの手順に沿って操作してください。

別の認証方式がプライマリ認証の場合、Google OAuth がデフォルトでバックアップ認証方式になります。Google OAuth はサポートを提供する際に Cloud カスタマーケアが使用する認証方法でもあります。

OAuth と IAM による認証と認可

OAuth に対して Looker(Google Cloud コア)IAM ロールを使用すると、特定の Google Cloud プロジェクト内のすべての Looker インスタンス(Google Cloud コア)に対して次のレベルの認証と認可が提供されます。与えるアクセスレベルに応じて、次のいずれかの IAM ロールを各プリンシパルに割り当てます。

IAM ロール 認証 承認
Looker インスタンス ユーザー(roles/looker.instanceUser

Looker(Google Cloud コア)インスタンスにログインできる

Looker(Google Cloud コア)に初めてログインしたときに、新規ユーザーのロールで設定されているデフォルトの Looker ロールが付与される

Google Cloud コンソールで Looker(Google Cloud コア)リソースにアクセスすることはできません。

Looker 閲覧者(roles/looker.viewer Looker(Google Cloud コア)インスタンスにログインできる Looker(Google Cloud コア)に初めてログインしたときに、新規ユーザーのロールで設定されているデフォルトの Looker ロールが付与される

Google Cloud コンソールで Looker(Google Cloud コア)インスタンスのリストとインスタンスの詳細を表示できます。
Looker 管理者(roles/looker.admin Looker(Google Cloud コア)インスタンスにログインできる Looker(Google Cloud コア)に初めてログインしたとき、このロール(または looker.instances.update 権限を含むカスタムロール)は、デフォルトでインスタンス内の管理者 Looker ロールに設定されます

Google Cloud コンソール内で Looker(Google Cloud コア)のすべての管理タスクを実行できます

さらに、プロジェクトの owner ロールを持つユーザー アカウントは、そのプロジェクト内にある任意の Looker(Google Cloud コア)インスタンスにログインして管理できます。これらのユーザーには、管理者 Looker ロールが付与されます。

必要な権限が事前定義された役割で提供されていない場合は、カスタムの役割を独自に作成することもできます。

Looker(Google Cloud コア)アカウントは、Looker(Google Cloud コア)インスタンスに初めてログインするときに作成されます。

Looker(Google Cloud コア)インスタンス内での OAuth の構成

Looker(Google Cloud コア)インスタンスでは、[管理] メニューの [認証] セクションにある [Google] ページで、一部の Google OAuth 設定を構成できます。

Looker(Google Cloud コア)インスタンス内でデフォルトの Looker ロールを設定する

ユーザーを追加する前に、デフォルトの Looker ロールを設定できます。これは、Looker(Google Cloud コア)インスタンスに初めてログインしたときに、Looker インスタンス ユーザー(roles/looker.instanceUser)の IAM ロールまたは Looker 閲覧者(roles/looker.viewer)の IAM ロールを持つユーザー アカウントに付与されます。デフォルトのロールを設定する手順は次のとおりです。

  1. [管理] メニューの [認証] セクションで、[Google] ページに移動します。
  2. [新しいユーザーのロール] 設定で、デフォルトで新しいユーザーに付与するロールを選択します。この設定には、Looker(Google Cloud コア)インスタンス内のすべてのデフォルトのロールカスタムロールのリストが含まれます。

Looker 管理者(roles/looker.admin)の IAM ロールを持つユーザー アカウントには、[新しいユーザーのロール] の設定で選択した設定に関係なく、管理者 Looker ロールが付与されます。必要に応じて、管理者ロールを別のロールに変更できます。

OAuth ユーザーを Looker(Google Cloud コア)アカウントに統合する方法を指定します。

[次を使用してユーザーを統合] フィールドに、既存のユーザー アカウントへの最初の OAuth ログインの統合方法を指定します。次のシステムのユーザーを統合できます。

  • SAML
  • OIDC

複数のシステムを設定している場合は、このフィールドで統合するシステムを複数指定できます。Looker(Google Cloud コア)は、指定された順序でシステムからユーザーを検索します。たとえば、最初に OIDC を使用して一部のユーザーを作成し、その後 SAML を使用した場合、Looker(Google Cloud コア)は最初に OIDC で統合され、次に SAML で統合されます。

ユーザーが OAuth を使用して初めてログインすると、このオプションでは、一致するメールアドレスでアカウントを探して、ユーザーを既存のアカウントに接続します。ユーザーの既存のアカウントがない場合は、新しいユーザー アカウントが作成されます。

Looker(Google Cloud コア)インスタンスにユーザーを追加する

Looker(Google Cloud のコア)インスタンスが作成されると、ユーザーは IAM によって追加できます。ユーザーを追加するには、次の手順に従います。

  1. プロジェクト IAM 管理者のロールまたは IAM アクセスを管理できる別のロールがあることを確認します。
  2. Looker(Google Cloud コア)インスタンスが存在する Google Cloud コンソール プロジェクトに移動します。

  3. Google Cloud コンソールの [IAM と管理] > [IAM] セクションに移動します。

  4. [アクセス権を付与] を選択します。

  5. [プリンシパルを追加] セクションに、次のうち 1 つ以上を追加します。

    • Google アカウントのメールアドレス
    • Google グループ
    • Google Workspace のドメイン
  6. [ロールを割り当てる] セクションで、事前定義された Looker(Google Cloud コア)の IAM ロールか、追加したカスタムロールを選択します。

  7. [保存] をクリックします。

  8. アクセス権が付与されている新しい Looker(Google Cloud コア)ユーザーに通知し、インスタンスの URL にリダイレクトします。そこからインスタンスにログインすることで、アカウントが作成されます。自動的に通知が送信されることはありません。

ユーザーの IAM ロールを変更すると、IAM のロールは数分以内に Looker(Google Cloud コア)インスタンスに伝播されます。既存の Looker ユーザー アカウントがある場合、そのユーザーの Looker ロールは変更されません。

すべてのユーザーは前述の IAM ステップでプロビジョニングする必要がありますが、例外として、Looker(Google Cloud コア)インスタンス内で Looker API 専用サービス アカウントを作成できます。

OAuth を使用して Looker(Google Cloud コア)にログインする

最初のログイン時に、Google アカウントでログインするよう求められます。Looker 管理者がアクセスを付与するとき [プリンシパルを追加] フィールドにリストしたものと同じアカウントを使用する必要があります。ユーザーには、OAuth クライアントの作成中に設定した [OAuth 同意画面] が表示されます。ユーザーが同意画面に同意すると、Looker(Google Cloud コア)インスタンス内のアカウントが作成され、ログインされます。

その後、承認が期限切れになるかユーザーによって取り消される場合を除き、ユーザーは自動的に Looker(Google Cloud コア)にログインします。期限切れまたは取消があったとき、ユーザーに OAuth 同意画面が再度表示され、認可に同意するよう求められます。

ユーザーによっては、API アクセス トークンの取得に使用する API 認証情報が割り当てられている場合があります。これらのユーザーの認可が期限切れまたは取り消されると、API 認証情報は機能しなくなります。現在の API アクセス トークンも機能しなくなります。この問題を解決するには、影響を受ける Looker(Google Cloud コア)インスタンスごとに Looker(Google Cloud コア)UI に再度ログインして、認証情報を再認可する必要があります。または、API のみのサービス アカウントを使用すると、API アクセス トークンの認証情報認可の失敗を回避できます。

Looker(Google Cloud コア)への OAuth アクセス権の削除

IAM アクセスを管理できるロールがある場合は、アクセス権を付与した IAM ロールを取り消すことで、Looker(Google Cloud コア)インスタンスへのアクセスを削除できます。ユーザー アカウントの IAM ロールを削除すると、その変更は数分以内に Looker(Google Cloud コア)インスタンスに反映されます。ユーザーはインスタンスに対して認証できなくなります。ただし、ユーザー アカウントは [ユーザー] ページに引き続き表示されます。[ユーザー] ページからユーザー アカウントを削除するには、Looker(Google Cloud コア)インスタンスのユーザーを削除します。

バックアップの認証方法として OAuth を使用する

OAuth がメインの認証方式である場合、SAML または OIDC がバックアップ認証方式になります。

バックアップ方法として OAuth を設定するには、インスタンスにログインするための適切な IAM ロールを各 Looker(Google Cloud コア)ユーザーに付与します。

バックアップ方式を設定したら、ユーザーは次の手順でアクセスします。

  1. ログインページで [Google での認証] を選択します。
  2. Google 認証を確認するダイアログが表示されます。ダイアログで [確認] を選択します。

その後、ユーザーは Google アカウントを使用してログインできます。OAuth で初めてログインすると、インスタンスの作成時に設定された OAuth 同意画面を受け入れるように求められます。

次のステップ