管理者設定 - LDAP 認証

[管理] メニューの [認証] セクションにある [LDAP] ページで、Lightweight Directory Access Protocol(LDAP)を介してユーザーを認証するように Looker を構成できます。このページでは、そのプロセスについて説明します。また、LDAP グループを Looker のロールと権限にリンクする手順も記載しています。

注意点:

  • Looker の認証では、LDAP の「シンプル」な認証を使用します。匿名認証はサポートされていません。
  • Looker が使用するユーザー エントリとあらゆるグループ エントリの読み取り権限が付与された単一の LDAP ユーザー アカウントを作成する必要があります。
  • Looker は LDAP ディレクトリからのみ読み取りを行います(書き込みは不可)。
  • Looker では、メールアドレスを使用して既存のアカウントを LDAP に移行できます。
  • Looker API の使用は LDAP 認証とやり取りしません。
  • LDAP サーバーにより IP トラフィックが制限されている場合は、LDAP サーバーの IP 許可リスト、または受信トラフィックのルールに、Looker の IP アドレスを追加してください。
  • LDAP は 2 要素認証よりも優先されます。2 段階認証プロセスをすでに有効にしている場合、LDAP を有効にした後、2 段階認証プロセスのログイン画面はユーザーに表示されなくなります。

LDAP 認証を無効にする場合は注意が必要です。

LDAP を使用して Looker にログインしていて、LDAP 認証を無効にする場合は、まず次の手順の両方を行ってください。

  • ログインするための他の認証情報があることを確認します。
  • LDAP 設定ページで [代替ログイン] オプションを有効にします。

そうしない場合、ユーザー自身や他のユーザーが Looker からロックアウトされる可能性があります。

はじめに

Looker の [管理] セクションにある [LDAP 認証] ページに移動して、次の設定オプションを表示します。

接続を設定する

Looker では、クリアテキストの LADP と LDAP over TLS による転送と暗号化がサポートされています。TLS over TLS を使用することを強くおすすめします。StartTLS などの暗号化スキームはサポートされていません。

  1. [ホスト] と [ポート] の情報を入力します。
  2. LDAP over TLS を使用している場合は、[TLS] の横にあるチェックボックスをオンにします。
  3. LDAP over TLS を使用している場合、Looker はデフォルトでピア証明書の検証を適用します。ピア証明書の検証を無効にする必要がある場合は、[検証なし] をオンにします。
  4. [Test Connection] をクリックします。エラーが表示された場合は、修正してから先に進みます。

接続認証

Looker では、パスワードで保護された LDAP アカウントへのアクセスが必要です。LDAP アカウントには、ユーザー エントリと新しいロール エントリのセットに読み取りアクセス権が必要です。Looker LDAP アカウントには書き込みアクセス権(ディレクトリの他の部分へのアクセス権も)は必要ありません。また、アカウントが作成される名前空間は重要ではありません。

  1. パスワードを入力します。
  2. (省略可)LDAP プロバイダがページ分割された結果を提供しない場合は、[ページ分割なしを強制する] チェックボックスをオンにします。ユーザーの検索時に一致が見つからない場合、これが役立つ場合がありますが、このような問題の唯一の解決策ではありません。
  3. [認証のテスト] ボタンをクリックします。エラーが表示された場合は、認証情報が正しいことを確認してください。認証情報が有効であるにもかかわらずエラーが解決しない場合は、会社の LDAP 管理者にお問い合わせください。

ユーザー バインディングの設定

このセクションの詳細では、Looker がディレクトリ内のユーザーを検索し、認証用にバインドし、ユーザー情報を抽出する方法を指定します。

  1. すべてのユーザーの検索ツリーのベースとなるBase DN を設定します。
  2. (省略可)ユーザーオブジェクトクラスを指定します。これにより、Looker が検出して返す結果のタイプを制御します。これは、ベース DN がオブジェクト タイプ(ユーザー、グループ、プリンタなど)の組み合わせであり、1 つのタイプのエントリのみを返す場合に便利です。
  3. Login Attrs を設定します。これにより、ユーザーのサインインに使用する属性が定義されます。ユーザーごとに一意で、ユーザーがシステム内の ID として使い慣れているものである必要があります。たとえば、ユーザー ID や完全なメールアドレスを選択できます。複数の属性を追加すると、Looker は両方の属性を検索して適切なユーザーを見つけます。アカウントの重複につながる形式(姓名など)は使用しないでください。
  4. [Email AttrFirst Name Attr および Last Name Attr を指定します。この情報により、ログイン時にこれらのフィールドをマッピングして情報を抽出する方法が Looker に指示されます。
  5. [ID Attr] を設定します。これは、Looker がユーザーの一意の ID として使用するフィールドを示します。これは通常、ログイン フィールドの 1 つになります。
  6. 必要に応じて、オプションのカスタム フィルタを入力します。これにより、LDAP 認証中にバインディングするユーザーを検索するときに適用される任意の LDAP フィルタを指定できます。これは、無効なユーザーや別の組織のユーザーなど、ユーザー レコードのセットを除外する場合に便利です。

この ldiff ユーザー エントリの例は、対応する Looker 設定を設定する方法を示しています。

Ldiff ユーザー エントリ

dn: cn=mward,ou=People,dc=example,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: top
cn: mward
userpassword: normal
givenname: Marcus
telephonenumber: +1 408 555 5688
sn: Ward
mail: mward@example.com
ou: People

対応する Looker の設定

Base DN: ou=People,dc=looker,dc=com
User Object Class: person
Login Attrs: cn
Email Attr: mail
First Name Attr: givenname
Last Name Attr: sn
ID Attr: cn

LDAP ユーザー属性と Looker ユーザー属性のペアリング

必要に応じて、LDAP ユーザー属性のデータを使用して、ユーザーがログインするときに Looker のユーザー属性に値を自動的に入力できます。たとえば、データベースにユーザー固有の接続を行うように LDAP を構成した場合、LDAP ユーザー属性を Looker ユーザー属性と組み合わせて、Looker のデータベース接続をユーザー固有にすることができます。

LDAP 属性は、グループ属性ではなくユーザー属性である必要があります。

LDAP ユーザー属性と対応する Looker ユーザー属性をペアリングするには:

  1. [LDAP ユーザー属性] フィールドに LDAP ユーザー属性の名前を入力し、[Looker ユーザー属性] にペアに設定する Looker ユーザー属性の名前を入力します。
  2. ユーザーのサインインを許可するために LDAP 属性値を要求する場合は、[必須] をオンにします。
  3. [+] をクリックし、属性ペアを追加するためにこれらの手順を繰り返します。

テストユーザーの情報

  1. テストユーザーの認証情報を入力し、[ユーザー認証のテスト] ボタンをクリックします。Looker は完全な LDAP 認証シーケンスを試行し、その結果を表示します。成功すると、Looker はディレクトリからのユーザー情報と、認証プロセスに関するトレース情報を出力します。この情報は、構成の問題の解決に役立ちます。
  2. 認証が成功し、すべてのフィールドが正しくマッピングされていることを確認します。たとえば、first_name フィールドに last_name に属する値が含まれていないことを確認します。

グループとロール

Looker を構成して、外部管理の LDAP グループをミラーリングするグループを作成し、ミラーリングされた LDAP グループに基づいてユーザーに Looker ロールを割り当てることができます。LDAP グループのメンバーシップを変更すると、その変更が自動的に Looker のグループ構成に伝播されます。

LDAP グループをミラーリングすると、外部で定義された LDAP ディレクトリを使用して Looker グループとユーザーを管理できます。これにより、Looker などの複数の Software as a Service(SaaS)ツールのグループ メンバーシップを 1 か所で管理できます。

[LDAP グループのミラーリング] をオンにすると、Looker では、システムに導入された LDAP グループごとに 1 つの Looker グループが作成されます。これらの Looker グループは、Looker の [管理] セクションの [グループ] ページで確認できます。グループは、グループ メンバーへのロールの割り当て、コンテンツ アクセス制御の設定、ユーザー属性の割り当てに使用できます。

デフォルトのグループとロール

デフォルトでは、[LDAP グループのミラーリング] スイッチはオフになっています。この場合、新しい LDAP ユーザー用にデフォルトのグループを設定できます。[新しいユーザー グループ] と [新しいユーザー ロール] のフィールドに、新しい Looker ユーザーが Looker に初めてサインインするときに割り当てる Looker グループまたはロールの名前を入力します。

これらのグループとロールは、新しいユーザーの最初のログイン時に適用されます。このグループとロールは既存のユーザーには適用されません。ユーザーの最初のログイン後にユーザーから削除された場合は、再適用されません。

後でミラーリングされた LDAP グループを有効にすると、これらのデフォルトはユーザーの次回のログイン時に削除され、[LDAP グループのミラーリング] セクションで割り当てられたロールに置き換えられます。これらのデフォルトのオプションは使用できなくなり、割り当てられなくなります。また、ミラーリングされたグループ構成に完全に置き換えられます。

LDAP グループのミラーリングの有効化

Looker 内で LDAP グループをミラーリングする場合は、[LDAP グループのミラーリング] スイッチをオンにします。Looker に次の設定が表示されます。

Group Finder 戦略: プルダウンからオプションを選択して、ユーザーのグループを検索する方法を Looker に指示します。

  • Groups Have Member Attributes: より一般的なオプションです。グループ メンバーを検索する場合、Looker はユーザーが直接割り当てられているグループのみを返します。たとえば、ユーザーが Database-Admin グループのメンバーで、Database-Admin グループが Engineering グループのメンバーである場合、ユーザーには Database-Admin グループに関連付けられている権限のみが付与されます。

  • Groups Have Member Attributes(詳細な検索): このオプションを選択すると、グループを他のグループ(LDAP のネストされたグループとも呼ばれます)のメンバーにすることができます。つまり、ユーザーは複数のグループの権限を付与できます。たとえば、ユーザーがデータベース管理者グループのメンバーで、データベース管理者グループがエンジニアリング グループのメンバーである場合、ユーザーにはこれらのグループの両方に関連付けられた権限が付与されます。 一部の LDAP サーバー(特に Microsoft Active Directory)では、呼び出し元がシャロー検索のように動作している場合でも、このタイプのディープ検索を自動的に実行できます。これは、ディープ検索の実行に使用できる別の方法です。

Base DN: 検索範囲を狭めることができます。このドキュメント ページの [ユーザー バインディングの設定] セクションで指定した [Base DN] と同じでもかまいません。

Groups Object Classes: この設定は省略可能です。ユーザー バインディングの設定セクションで説明したように、これにより、Looker が返す結果を特定のオブジェクト タイプまたはタイプセットに制限できます。

Group Member Attr: 各グループについて、メンバーであるオブジェクト(この場合はおそらく人)を決定する属性。

Group User Attr: ユーザーがグループ内のユーザーかどうかを判別するために、グループ エントリ内で値を検索する LDAP ユーザー属性の名前。デフォルトは dn です(空白のままにすると dn と同じになります)。この場合、LDAP では完全な識別名が使用されます。これは、LDAP 検索自体に存在する、大文字と小文字が区別される正確な文字列で、グループ エントリを検索します。

優先グループ名 / ロール / グループ DN: この一連のフィールドにより、Looker で対応する LDAP グループに割り当てられたカスタム グループ名と 1 つ以上のロールを割り当てることができます。

  1. [グループ DN] フィールドに LDAP グループの DN を入力します。これには、完全な識別名が含まれている必要があります。これは、LDAP 検索自体に存在する、大文字と小文字が区別される正確な文字列です。LDAP グループに含まれる LDAP ユーザーは、Looker 内のミラーリングされたグループに追加されます。

  2. [Custom Name] フィールドに、ミラーリングするグループのカスタム名を入力します。これは、Looker の [管理] セクションの [グループ] ページに表示される名前です。

  3. [カスタム名] フィールドの右側にあるフィールドで、グループ内の各ユーザーに割り当てる 1 つ以上の Looker ロールを選択します。

  4. 追加のミラーリング対象のグループを構成するフィールドを追加するには、+ をクリックします。複数のグループを構成していて、グループの構成を削除するには、そのグループのフィールド セットの横にある X をクリックします。

以前にこの画面で構成したミラーリング対象のグループを編集すると、グループの構成は変更されますが、グループ自体はそのまま残ります。たとえば、グループのカスタム名を変更すると、Looker の [グループ] ページでのグループの表示方法は変わりますが、割り当てられたロールやグループ メンバーは変更されません。グループ DN を変更するとグループ名とロールが維持されますが、新しい LDAP グループ DN を持つ外部 LDAP グループのメンバーであるユーザーに基づいて、グループのメンバーが再割り当てされます。

このページでグループを削除すると、そのグループは Looker にミラーリングされなくなり、そのメンバーには、グループを介してメンバーに割り当てられた Looker のロールがなくなります。

ミラーリング対象のグループに対して行われた編集は、そのグループのユーザーが次に Looker にサインインするときに適用されます。

高度なロール管理

[LDAP グループのミラーリング] スイッチを有効にしている場合、Looker によってこれらの設定が表示されます。このセクションのオプションは、Looker グループと Looker からミラーリングされたユーザーの構成時に Looker 管理者がどの程度の柔軟性があるかを決定します。

たとえば、Looker のグループとユーザーの構成を LDAP の構成と厳密に一致させる場合は、これらのオプションをオンにします。最初の 3 つのオプションをすべて有効にすると、Looker 管理者はミラーリングされたグループのメンバーシップを変更できず、LDAP のミラーリングされたグループを介したユーザーにのみロールを割り当てることができます。

Looker 内でグループをさらに柔軟にカスタマイズする場合は、これらのオプションをオフにします。Looker グループは引き続き LDAP 構成をミラーリングしますが、Looker のグループに LDAP ユーザーを追加することや、LDAP ユーザーに Looker のロールを直接割り当てるなど、Looker 内で追加のグループやユーザー管理機能を使用することができます。

新しい Looker インスタンス、またはミラーリングされたグループをまだ構成していないインスタンスの場合、これらのオプションはデフォルトで無効になっています。

ミラーリング対象のグループが設定されている既存の Looker インスタンスの場合、これらのオプションはデフォルトでオンになっています。

[高度なロール管理] には、次のオプションがあります。

個々の SAML ユーザーが直接ロールを受け取れないようにする: このオプションをオンにすると、Looker 管理者は Looker ロールを LDAP ユーザーに直接割り当てることができなくなります。LDAP ユーザーにロールを割り当てることができるのは、グループ メンバーシップのみです。LDAP ユーザーがビルトイン(ミラーリングされていない)Looker グループでメンバーシップを許可されている場合でも、ミラーリング対象の LDAP グループとビルトイン Looker グループの両方からロールを継承できます。以前に直接ロールが割り当てられた LADP ユーザーは、次回のサインイン時にそのロールが削除されます。

このオプションをオフにすると、Looker 管理者は、ユーザーが Looker でビルトイン に構成されたユーザーであるかのように、Looker のロールを LDAP ユーザーに直接割り当てることができます。

非 LDAP グループでの直接メンバーシップを防止する: このオプションをオンにすると、Looker 管理者は、ビルトイン Looker グループに直接 LDAP ユーザーを追加できなくなります。ミラーリングされた LDAP グループをビルトイン Looker グループのメンバーにできる場合、LDAP ユーザーは親の Looker グループでのメンバーシップを保持できます。以前に組み込みの Looker グループに割り当てられた LDAP ユーザーは、次回のサインイン時にそれらのグループから削除されます。

このオプションをオフにすると、Looker 管理者はビルトイン Looker グループに直接 LDAP ユーザーを追加できます。

非 LDAP グループからロールの継承を防止する: このオプションをオンにすると、ミラーリングされた LDAP グループのメンバーは、ビルトイン Looker グループからロールを継承できなくなります。以前に親 Looker グループからロールを継承していた LDAP ユーザーは、次回のサインイン時にそのロールを失います。

このオプションをオフにすると、ミラーリングされた LDAP グループ、またはビルトイン Looker グループのメンバーとして追加された LDAP ユーザーは、親 Looker グループに割り当てられたロールを継承します。

認証にはロールが必要: このオプションがオンの場合、LDAP ユーザーにロールが割り当てられている必要があります。ロールが割り当てられていない LDAP ユーザーは Looker にログインできません。

このオプションがオフの場合、ロールが割り当てられていない場合でも、LDAP ユーザーは Looker に対して認証を行うことができます。ロールが割り当てられていないユーザーは、Looker でデータを表示したり操作したりすることはできませんが、Looker にログインすることはできます。

LDAP グループのミラーリングの無効化

Looker 内での LDAP グループのミラーリングを停止するには、[LDAP グループのミラーリング] スイッチをオフにします。空の LDAP グループのミラーリングは削除されます。

空でない LDAP グループのミラーリングは、引き続きコンテンツ管理とロール作成で使用できます。ただし、LDAP グループのミラーリングにユーザーを追加または削除することはできません。

移行と統合のオプション

管理者と指定ユーザーの代替ログイン

  • 管理者と login_special_email 権限を持つユーザーに代替のメールベースのログインを許可します(この権限の設定の詳細については、ロールのドキュメントをご覧ください)。このオプションを有効にしていて、ユーザーが適切な権限を持っている場合、このオプションは Looker のログイン ページに表示されます。
  • このオプションは、後で LDAP 構成の問題が発生した場合、または LDAP ディレクトリにない一部のユーザーをサポートする必要がある場合に、LDAP 設定時のフォールバックとして役立ちます。
  • LDAP が有効になっている場合、通常のユーザーに対して Looker のメール / パスワードのログインは常に無効になります。

メールで統合する

  • このオプションを使用すると、Looker はメールアドレスに基づいて、初めて LDAP を使用するユーザーを既存の Looker アカウントと統合できます。
  • 一致するメールアドレスが Looker で見つからない場合は、ユーザーに新しいアカウントが作成されます。

設定を保存して適用

情報の入力が完了し、すべてのテストに合格したら、[上記の構成を確認しました。グローバルに適用したいと考えています] チェックボックスをオンにし、[設定を更新] をクリックして保存します。