[Admin] メニューの [Authentication] セクションに [LDAP] ページが表示されない場合は、Looker のサポート リクエストを開いてください。お問い合わせ[Admin] メニューの [Authentication] セクションにある [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 構成ページで [Alternative Login] オプションを有効にします。
これを行わないと、自分自身と他のユーザーを Looker からロックアウトされる可能性があります。
ご利用にあたって
Looker の [Admin] セクションの [LDAP Authentication] ページに移動して、次の構成オプションを確認します。
接続を設定する
Looker では、TLS を使用したクリアと LDAP over TLS による転送と暗号化がサポートされています。LDAP over TLS の使用を強く推奨StartTLS などの暗号化方式はサポートされていません。
- ホストとポートの情報を入力します。
- LDAP over TLS を使用している場合は、[TLS] の横にあるチェックボックスをオンにします。
- TLS 経由の LDAP を使用する場合、Looker はデフォルトでピア証明書の検証を行います。ピア証明書の検証を無効にする必要がある場合は、[No Verify] チェックボックスをオンにします。
- [Test Connection] をクリックします。エラーが表示された場合は、修正してから次に進みます。
接続認証
Looker では、パスワードで保護された LDAP アカウントにアクセスする必要があります。LDAP アカウントに、ユーザー エントリと新しい一連のロール エントリに対する読み取りアクセス権が付与されている必要があります。Looker LDAP アカウントには書き込みアクセス権(およびディレクトリの他の要素へのアクセス)は必要ありません。また、アカウントが作成される名前空間は関係ありません。
- パスワードを入力します。
- (省略可)LDAP プロバイダからページングの結果が提供されない場合は、[Force No Paging] チェックボックスをオンにします。場合によっては、ユーザーを検索するときに一致が見つからないことがありますが、これ以外の問題が解決する場合もあります。
- [認証をテストする] ボタンをクリックします。エラーが表示された場合は、認証情報が正しいことを確認します。認証情報が有効であるにもかかわらずエラーが解決しない場合は、企業の LDAP 管理者にお問い合わせください。
ユーザー バインディングの設定
このセクションでは、Looker がディレクトリ内のユーザーを検出する方法、認証にバインドする方法、ユーザー情報を抽出する方法について説明します。
- Base DN(すべてのユーザー用の検索ツリーのベース)を設定します。
- (省略可)User Object Class を指定します。これは、Looker が検出して返す結果の種類を制御します。これは、Base DN にオブジェクト タイプ(人、グループ、プリンタなど)が混在していて、1 つのタイプのエントリのみを返す場合に役立ちます。
- Login Attrs を設定します。ユーザーがログインする際に使用する属性を定義します。これらの ID は、ユーザーごとに一意でなければならず、ユーザーがシステム内で ID として使い慣れているものにする必要があります。(ユーザー ID や完全なメールアドレスなど)。複数の属性を追加すると、Looker は両方の属性を検索して適切なユーザーを探します。ここで適切なフィールドを選択してください。名前(First Name)や姓(Last Name)などは 2 人の Jennifer Smith などのメンバーにはすぐに使用できません。
- [Email Attr]、[First Name Attr]、[Last Name Attr] を指定します。この情報は、ログイン時に、これらのフィールドをマッピングして情報を抽出する方法を Looker に指示します。
- [ID 属性] を設定します。これは、Looker 自体がユーザーの一意の ID として使用する必要があるフィールドを示します。通常はログイン フィールドの一つになります。
- 必要に応じてカスタム フィルタ(省略可)を入力します。これにより、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 ユーザー属性を関連付けるには:
- [LDAP User Attributes] フィールドに LDAP ユーザー属性の名前を入力し、[Looker User Attributes] フィールドにそれとリンクする Looker ユーザー属性の名前を入力します。
- ユーザーのログインに LDAP 属性値を要求する場合は、[Required] をオンにします。
- [+] をクリックし、上記の手順を繰り返して属性ペアを追加します。
- テストユーザーの認証情報を入力し、[ユーザー認証をテスト] ボタンをクリックします。Looker が完全な LDAP 認証シーケンスを試行し、結果を表示します。成功すると、Looker はディレクトリからユーザー情報と、認証プロセスに関するいくつかのトレース情報を出力し、構成の問題解決に役立てることができます。
- 認証に成功し、すべてのフィールドが正しくマッピングされていることを確認します。たとえば、
first_name
フィールドに last_name
に属する値が含まれていないことを確認します。
グループとロール
Looker を構成して、外部で管理される LDAP グループをミラーリングするグループを作成し、ミラーリングされた LDAP グループに基づいて Looker のロールをユーザーに割り当てることができます。LDAP グループ メンバーに変更を加えると、その変更内容は自動的に Looker グループの設定に反映されます。
LDAP グループのミラーリングを使用すると、外部で定義された LDAP ディレクトリを使用して Looker グループとユーザーを管理できます。複数の Software as a Service(SaaS)ツール(Looker など)のグループ メンバーシップを 1 か所で管理できます。
LDAP グループのミラーリングをオンにすると、Looker はシステムに導入される LDAP グループごとに 1 つの Looker グループを作成します。Looker グループは、Looker の [Admin] セクションの [Groups] ページで確認できます。グループを使用すると、グループ メンバーへのロールの割り当て、コンテンツ アクセス制御の設定、ユーザー属性の割り当てができます。
デフォルトのグループとロール
デフォルトでは、[LDAP LDAP グループのミラーリング] スイッチはオフになっています。この場合、新しい LDAP ユーザー用のデフォルト グループを設定できます。[New User Groups] フィールドと [New User Roles] フィールドに、新しい Looker ユーザーが Looker に初めてログインしたときに割り当てる Looker グループまたはロールの名前を入力します。
これらのグループとロールは、初回ログイン時に新規ユーザーに適用されます。既存のグループとグループ ロールは既存のユーザーには適用されません。また、初回ログイン後にユーザーおよびグループから削除しても、ロールとロールは再適用されません。
ミラーリングされた LDAP グループを後で有効にすると、これらのミラーリングは次回ログイン時に削除され、[Mirror LDAP Groups] に割り当てられたロールに置き換えられます。これらのデフォルト設定は使用することも割り当てられず、ミラーリング グループの構成に完全に置き換えられます。
ミラー LDAP グループの有効化
Looker 内で LDAP グループをミラーリングする場合は、[Mirror LDAP Groups] スイッチをオンにします。Looker では次の設定が表示されます。
グループ ファインダーの戦略: プルダウンからオプションを選択して、ユーザーのグループを検索する方法を Looker に指示します。
グループのメンバー属性を持つグループ: 最も一般的な属性です。グループ メンバーを探す場合、Looker はユーザーが直接割り当てられているグループのみを返します。たとえば、ユーザーが Database-Admin グループのメンバーであり、Database-Admin グループがエンジニアリング グループのメンバーである場合、ユーザーには Database-Admin グループに関連付けられた権限のみが適用されます。
グループのメンバー属性を持つグループ(詳細検索): このオプションを使用すると、グループを他のグループのメンバーにすることができます。このグループは、LDAP のネストされたグループとも呼ばれます。つまり、ユーザーは複数のグループの権限を持つことができます。たとえば、ユーザーが Database-Admin グループのメンバーであり、Database-Admin グループがエンジニアリング グループのメンバーである場合、ユーザーはこれら両方のグループに関連する権限を取得します。一部の LDAP サーバー(特に Microsoft Active Directory)では、呼び出し元がシャロー検索と思われる場合でも、このタイプのディープ ラーニングを自動的に実行できます。これも検索に使用できる方法です。
Base DN: 検索を絞り込みます。上のユーザー バインディングの設定で指定したベース DN と同じものにできます。
グループ オブジェクト クラス: この設定はオプションです。ユーザー バインディングの設定セクションで説明したように、Looker が返す結果を特定のオブジェクト タイプまたはタイプのセットに制限できます。
Group Member Attr: 各グループについて、メンバーであるオブジェクト(この場合は人)を決定する属性。
Group User Attr: LDAP ユーザー属性の名前。この値がグループ エントリ内で検索され、ユーザーがグループのメンバーであるかどうかを判断します。デフォルトは dn
です(空白のままにすると、dn
に設定した場合と同じになります)。この場合、LDAP 検索自体に存在するとおり、大文字と小文字を区別した完全な文字列がグループ エントリの検索に使用されます。
優先グループ名/ロール/グループ DN: この一連のフィールドでは、カスタム グループ名と、Looker の対応する LDAP グループに割り当てる 1 つ以上のロールを割り当てることができます。
[Group DN] 欄に LDAP グループ DN を入力します。これには完全な識別名を含める必要があります。これは、LDAP 検索自体に含まれているような大文字と小文字の区別のある文字列です。LDAP グループに含まれている LDAP ユーザーは、Looker 内のミラーリング グループに追加されます。
[Custom Name] フィールドにミラーリング対象のグループのカスタム名を入力します。Looker の [Admin] セクションの [Groups] ページに表示される名前です。
[Custom Name] フィールドの右側にあるフィールドで、グループ内の各ユーザーに割り当てる Looker ロールを 1 つ以上選択します。
+
をクリックして、別のミラーリング グループを構成するフィールドを追加します。複数のグループを設定済みの場合、グループの設定を削除するには、そのグループ セットの横にある X
をクリックします。
この画面で以前に構成していたミラーリング グループを編集すると、グループの構成は変更されますが、グループ自体はそのまま残ります。たとえば、グループのカスタム名を変更しても、Looker の [グループ] ページではグループの表示は変更されますが、割り当てられているロールとグループ メンバーは変更されません。グループ DN を変更すると、グループ名とロールは維持されますが、グループのメンバーは新しい LDAP グループ DN を持つ外部 LDAP グループのメンバーに基づいて再割り当てされます。
このページでグループを削除すると、そのグループは Looker にミラーリングされなくなり、そのグループに Looker でロールが割り当てられなくなります。
ミラーリング対象のグループに加えられた編集内容は、そのグループのユーザーが Looker に次回ログインしたときに適用されます。
高度なロール管理
Mirror LDAP Groups のスイッチを有効にしている場合、Looker ではこれらの設定が表示されます。このセクションのオプションは、Looker グループと LDAP からミラーリングされたユーザーを構成する際の Looker 管理者の柔軟性を決定します。
たとえば、Looker グループとユーザー構成を LDAP 構成と厳密に一致させたい場合は、これらのオプションをオンにします。最初の 3 つのオプションがすべて有効になっている場合、Looker 管理者はミラーリングされたグループのメンバーシップを変更できません。また、LDAP ミラーリング グループを介してユーザーにロールを割り当てることのみ可能です。
Looker 内でグループをさらに柔軟にカスタマイズするには、これらのオプションをオフにします。Looker グループは LDAP 構成をそのままミラーリングしますが、Looker 内で LDAP ユーザーを追加する、Looker ロールを LDAP ユーザーに直接割り当てるなど、追加のグループやユーザー管理を行えるようになります。
新しい Looker インスタンスや、以前にミラーリングされたグループが構成されていないインスタンスの場合、これらのオプションはデフォルトではオフになっています。
現在ミラーリング グループを構成している既存の Looker インスタンスの場合、これらのオプションはデフォルトでオンになっています。
[高度なロールの管理] セクションには、次のオプションがあります。
個々の LDAP ユーザーが直接ロールを受け取れないようにする: このオプションをオンにすると、Looker 管理者が Looker ロールを LDAP ユーザーに直接割り当てることができなくなります。LDAP のロールは、グループ メンバーシップを介してのみ付与されます。LDAP ユーザーが(ミラーリングされていない)ネイティブ Looker グループでメンバーシップが許可されている場合でも、ミラーリングされた LDAP グループとネイティブ Looker グループの両方からロールを継承できます。以前にロールを直接割り当てられていた LDAP ユーザーは、次回ログインしたときに削除されます。
このオプションがオフの場合、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 グループに割り当てられたロールを継承します。
Auth Needs Role: このオプションがオンの場合、LDAP ユーザーにロールが割り当てられている必要があります。ロールが割り当てられていない LDAP ユーザーは、Looker にログインできなくなります。
このオプションがオフの場合、LDAP ユーザーはロールが割り当てられていなくても Looker を認証できます。ロールが割り当てられていないユーザーは、Looker でデータを表示したりアクションを実行したりすることはできませんが、Looker にはログインできます。
移行と統合のオプション
管理者と指定されたユーザーの予備のログイン
- 管理者と
login_special_email
権限を持つユーザーに対し、メールベースの代替ログインを許可します(この権限の設定の詳細については、ロールのドキュメントをご覧ください)。このオプションは管理者が有効にしており、ユーザーに適切な権限がある場合、Looker のログインページに表示されます。
- このオプションは、LDAP 設定中にフォールバックする場合、後で LDAP 構成の問題が発生した場合、または LDAP ディレクトリに属していないユーザーをサポートする必要がある場合に役立ちます。
- LDAP が有効になっている場合、通常のユーザーに対して Looker のメールとパスワードによるログインが常に無効になります。
メールで統合
- このオプションを使用すると、Looker はメールアドレスに基づいて、初めて LDAP を使用するユーザーを既存の Looker アカウントと統合できます。
- Looker で一致するメールアドレスが見つからない場合は、そのユーザー用に新しいアカウントを作成します。
設定を保存して適用
情報の入力が完了し、すべてのテストに合格したら、[上記の構成を確定しました。この設定をグローバルに適用するには] をオンにし、[設定を更新] をクリックして保存します。