管理者設定 - 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. すべてのユーザーの検索ツリーのベースとなるベース 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 のネストされたグループとも呼ばれます)のメンバーにすることができます。つまり、1 人のユーザーが複数のグループの権限を持つことができます。たとえば、ユーザーがデータベース管理者グループのメンバーで、データベース管理者グループがエンジニアリング グループのメンバーである場合、ユーザーにはこれらのグループの両方に関連付けられた権限が付与されます。 一部の 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. ミラーリングされたグループのカスタム名を [カスタム名] フィールドに入力します。これは、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 で見つからない場合は、ユーザーに新しいアカウントが作成されます。

設定を保存して適用

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