LDAPの構成
LDAPを設定するには、以下のセクションの説明を参照してください:
LDAP 構成
LDAP(Lightweight Directory Access Protocol)接続を設定するには、以下の手順に従います:
- Instana UIのナビゲーションメニューから、 ] を選択します。
- 対応するLDAP設定値を追加してください。 詳細については、 「サポートされている認証プロバイダー」 を参照してください。
- LDAP設定を永続化するには、フォームの LDAPユーザーアカウントセクションにユーザー名とパスワードを追加する必要があります。 このユーザーは所有者として追加され、初期セットアップ後に変更できます。
LDAP を設定すると、グループクエリに一致する他のユーザーが、デフォルトロールで Instana に追加されます。 各ユーザーの役割は、ロールベースのアクセス制御で説明されているように設定できます。
Instana は、LDAP サーバーから、現在認証されているユーザーのロールとそれに続くアクセス許可を取得します。 ユーザーは、以前のユーザー名とパスワードの組み合わせではログインできません。

ヒント:
セルフホスト型クラシックエディション( Docker ) において、InstanaでLDAPを設定する際は、コンポーネント「butler」 のデバッグモードを必ず有効にしてください。デバッグ情報は詳細なログを出力するため、問題解決に役立ちます。
LDAP は、デフォルトでは大/小文字を区別しません。
対応認証プロバイダー
現在、Microsoft® Active Directory および OpenLDAP がサポートされています。
Microsoftとの統合については Active Directory、 「Microsoftとの統合」 の例を参照 Active Directory してください。
OpenLDAP と統合するには、OpenLDAP との統合の例を参照してください。
構成パラメーター
LDAP の構成は難しい場合があります。 Instana UI で LDAP の正しい設定を確認するには、次の設定パラメータを参照してください:
| パラメーター | 説明 |
|---|---|
| URL | LDAP サーバー URL (ldap://host:389 または ldaps://host:636)。 |
| ldap の使用中にすべての認証局を信頼する | 有効にすると、LDAPを使用している間、どの認証局(CA)も信頼される。 これは、信頼できない機関または自己署名証明書に必要です。 |
| 読み取り専用ユーザーは LDAP に匿名でアクセスできます | 読み取り専用アクセスに認証が必要かどうかを決定する。 無効になっている場合は、ユーザーとパスワードを指定する必要がある。 |
| ユーザー | LDAP読み取り専用ユーザー。 group_query を使ってグループをリストアップするには、十分なアクセス権限が必要です。 匿名でのアクセスが不十分な場合にのみ必要となる。 |
| パスワード | 読み取り専用ユーザーのパスワード。 匿名でのアクセスが不十分な場合にのみ必要となる。 |
| ベース | 照会のベース (dc=instana,dc=com)。 |
| グループ・クエリー | Instana (ou=Instana) へのアクセス権限を持つメンバーを持つグループまたはグループのセットをリストする照会。 |
| グループ・メンバー・フィールド | group_query (uniqueMember) によってリストされているユーザーの DN を含むフィールドの名前。 |
| ユーザー・クエリー・テンプレート | ユーザーを照会するためのテンプレート (例:uid=%s)。 |
| E メール・フィールド | E メール・アドレスのフィールドの名前 (mail)。 |
| Username | Instana で所有者ユーザーとして関連付けられるユーザー。 設定を保存する前に、ログインがテストとして試行されます。 |
| パスワード | Instana 所有者ユーザーのパスワード。 |
| ユーザー DN マッピング | ユーザー dn が含まれているフィールド (distinguishedNameなど)。 このパラメーターはオプションです。 |
| USER_FIELD | この属性の値によってグループ内のユーザーが参照されるフィールド (DN が使用されていない場合)。 このパラメーターはオプションです。 |
TLS
セキュア LDAP (LDAPS) を介した接続は、 ldaps://url:636 を提供するのと同じくらい簡単です。 サーバーがJava 8のインストールで提供されるものより強力な暗号化しか受け付けない場合は、暗号化拡張機能を使用する必要があります。 からダウンロードできます。 Oracle からダウンロードし、 JCEドキュメンテーション・ページの説明に従って設定してください。
デフォルトでは、LDAP用の自己署名証明書が期待される。 したがって、CAは検証されない。
必須設定] セクションの[ ldapsを使用している間、任意の認証局を信頼する] チェックボックスをオフにすることで、CAの検証をオンにすることができます。
適切な構成値の取得
LDAPサーバーの構造についてほとんど何も知らない状態から始めるのだから、概要をつかむのが一番だ。
ldapsearch -H ldap://ldap.forumsys.com:389 -x -b "DC=example,DC=com" -D "cn=read-only-admin,dc=example,dc=com" -w "password"
パラメータについては以下の説明を参照のこと:
- - H : LDAPサーバー URL.
- - x :x:単純認証を使う(ほとんどのLDAPサーバーはこの認証を使う)。
- - b :ベースクエリ。
- - D : LDAP読み取り専用ユーザー。
- - w :LDAP読み取り専用ユーザーのパスワード。
出力が表示されたので、正しい設定が必要です。
グループ・クエリー
まず、希望するユーザーがメンバーであるグループを検索します。 mathematicians :
mathematicians, example.com
dn: ou=mathematicians,dc=example,dc=com
uniqueMember: uid=euclid,dc=example,dc=com
uniqueMember: uid=riemann,dc=example,dc=com
uniqueMember: uid=euler,dc=example,dc=com
uniqueMember: uid=gauss,dc=example,dc=com
uniqueMember: uid=test,dc=example,dc=com
ou: mathematicians
cn: Mathematicians
objectClass: groupOfUniqueNames
objectClass: top
このグループを見つけるには、cn=Mathematiciansまたはou=mathematiciansのいずれかを使用します。
ユーザー DN マッピング
出力には、属性 固有メンバーが表示されます。 これは、このグループのメンバーであるユーザーを導くので、識別名である。
ユーザー・クエリー・テンプレート
次に、実際のユーザーを見つける必要があります。 最初の照会の出力からユーザーを調べます。
euler, example.com
dn: uid=euler,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
uid: euler
sn: Euler
cn: Leonhard Euler
mail: euler@ldap.forumsys.com
ユーザーのユニークIDは euler であるため、user_query_templateは(uid=%s)となる。 (user_query_templateの %s は、提供されたユーザー・ログインのプレースホルダとして使用されます)
E メール・フィールド
先に示したスニペットでは、Eメール・フィールドの名前は mail、これは Eメール・フィールド設定の値でもあります。
構成の検証
構成を確認するには、プレースホルダの値を Instana UI の LDAP 構成の値に置き換えて、グループ検索とユーザー検索を実行します。
いずれかのコマンドが正しい値を返さない場合、Instana LDAP は機能しません。
以下のコマンドが値を返す場合は、LDAPサーバーが設定され、対応するデータを持っていることを意味する。 そうでない場合は、LDAPコンフィギュレーションとデータをチェックしなければならない。
グループ検索
ldapsearch -H {url} -x -D "{ro_user}" -w "{ro_password}" -b "{base}" "{group_query}"Instana のアクセス権を持つグループを返します。 これがないと、ユーザーが存在する場合でも、Instana はユーザー・メンバーシップを検査できません。
ユーザー検索
ldapsearch -H {url} -x -D "{ro_user}" -w "{ro_password}" -b "{base}" "{user_query_template=login}"loginはuser_query_template内で
%sを置き換えるユーザー名です。 特定のユーザーを返します。ユーザーは、E メール・フィールド属性も持っている必要があります。
Instana UIへのアクセス
LDAP認証はテナント・レベルで構成される。
LDAP 認証で Instana にログオンするには、テナントユニットのログインページまたはその他のページに移動します。
ログインするための URL : https://<unit name>-<tenant name>.<Instana domain>/
たとえば、ユニットが unit0 で、テナントが tenant0 で、Instana ドメインが example.com の場合、ログインする URL は https://unit0-tenant0.example.com/ となります。
用語集
cn:一般名ou:組織単位dc:ドメイン・コンポーネントdn:識別名
パス名(dn)は、最後の要素から最初の要素へと書き込まれる: cn=Christian Kellner,ou=dev,ou=employee,dc=instana,dc=com
LDAP クエリーの構文
目的の結果を得るために、もう少し複雑なクエリーを指定する必要がある場合もある。 照会言語は単純です。
Equals(name=John)名前が
Johnと等しいものすべてを返す。 括弧は、LDAP ステートメントの先頭と末尾を強調するために付けられています。AND(&(name=Christian)(l=Solingen))この構文は、条件が複数あり、これらすべての条件が true でなければならないときに使用します。 例えば、クリスチャンという名字を持ち、ゾーリンゲンに住んでいるすべての人を見つけたい場合、次のようなクエリを使用します。
各引数は括弧で括られている。 LDAP ステートメント全体をメインの括弧で囲む必要があります。
&演算子は、このフィルターが問題のオブジェクトに適用されるためには、各引数が true でなければならないことを意味します。NOT(!name=John)これは最初の例とは正反対だ。
Wildcard(title=*)
ワイルドカードを使用して、以下のものを検索します。
Combination(&(name=Christian)(|(l=Solingen)(l=Duesseldorf)))名前が クリスチャンで、デュッセルドルフまたはゾーリンゲンのいずれかに住んでいるすべてのユーザーを返します。