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

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

認証に OAuth を使用する場合、Looker(Google Cloud コア)は OAuth 2.0 プロトコルを介してユーザーを認証します。インスタンスを作成するときに、任意の OAuth 2.0 クライアントを使用して認証情報を作成します。たとえば、このページでは、Google Cloud コンソールを使用して Looker(Google Cloud コア)インスタンスの認証を設定し、OAuth 認証情報を作成する手順について説明します。

別の認証方式がプライマリ認証の場合、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. [Roles for new users] 設定で、すべての新規ユーザーにデフォルトで付与するロールを選択します。この設定には、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 の手順でプロビジョニングする必要があります。ただし、1 つの例外として、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 の使用

SAML または OIDC がプライマリ認証方法の場合、OAuth はバックアップ認証方法です。

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

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

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

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

次のステップ