LDAPの構成

LDAP を設定するには、以下のセクションの手順を参照してください:

LDAP 構成

注: テナントで SAML が有効化されると、 Instana にログインする他の方法はなくなります。 十分な権限を持つトークンを使用すれば、 API から ` SAML ` の設定を削除できます。

LDAP (Lightweight Directory Access Protocol)接続を設定するには、以下の手順に従ってください:

  1. UI Instana のナビゲーションメニューから、[ ] を選択します 設定 > セキュリティとアクセス > IDプロバイダー > LDAP
  2. LDAP の設定値を適宜追加してください。 詳細については、 「サポートされている認証プロバイダー」 を参照してください。
  3. LDAP の設定を保存するには、フォームの**「 LDAP ユーザーアカウント」**セクションにユーザー名とパスワードを入力する必要があります。 このユーザーは所有者として追加され、初期セットアップ後に変更できます。

LDAP を設定すると、グループクエリに一致する他のユーザーが、デフォルトのロールとともに Instana に追加されます。 「 ロールベースのアクセス制御」 の説明に従って、各ユーザーのロールを設定できます。

Instana LDAP サーバーから、現在認証されているユーザーのロールおよびそれに伴う権限を取得します。 ユーザーは以前のユーザー名とパスワードの組み合わせではログインできません。 LDAP の認証情報を使用する必要があります。

LDAP

ヒント:

  • セルフホスト型クラシックエディション( Docker ) の場合、 Instana を使用して LDAP を設定する際は、コンポーネント「butler」 のデバッグモードを必ず有効にしてください。デバッグ情報は詳細なログを出力するため、トラブルシューティングに役立ちます。

  • LDAP は、デフォルトでは大/小文字を区別しません。

対応している認証プロバイダー

現在、Microsoft ® Active Directory および OpenLDAP がサポートされています。

構成パラメーター

LDAP の構成は難しい場合があります。 Instana のUIで LDAP の適切な設定を確認するには、以下の設定パラメータを参照してください:
dc=instana,dc=com注:LDAP の設定値(例:)はあくまで一例であり、ご自身の LDAP ディレクトリ構造に合わせて適切な値に置き換える必要があります。 Instana 特定の設定を強制するものではありませんが、 LDAP 環境において「 LDAP 」の設定項目を正しく設定し、機能が適切かつ最適に動作するようにすることをお勧めします。
表 1. 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

セキュアなLDAPS( LDAP )経由での接続は、単に...を指定するだけで簡単 ldaps://url:636に行えます。 サーバーが、お使いの Java 8のインストール環境で提供されているものよりも強力な暗号化のみを受け入れる場合は、cryptography拡張機能を使用する必要があります。 Oracle からダウンロードし、 JCEのドキュメントページに記載されている手順に従って設定してください。

デフォルトでは、 LDAP 用の自己署名証明書が使用されることが想定されています。 そのため、CA は検証されません。

CA 検証をオンにするには、 「必須設定」 セクションの 「LDAP の使用中に認証局を信頼する」 チェック・ボックスをクリアします。

適切な構成値の取得

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 : 簡易認証を使用する(ほとんどの LDAP サーバーではこの認証方式が使用されています)。
  • -b: 基本照会。
  • -D : ` LDAP ` の読み取り専用ユーザー。
  • -w : 「 LDAP 」の読み取り専用ユーザーのパスワード。
重要:LDAP のパスは、最後の要素から最初の要素へと読み込まれます。 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 メール・フィールド

先ほどご覧いただいたスニペットでは、メールフィールドの名前は「 Emailmail」となっており、これは「」フィールド設定の値とも一致しています。

構成の検証

設定を確認するには、 Instana UIの「 LDAP 」設定にある値でプレースホルダーの値を置き換え、グループ検索とユーザー検索を実行してください。

注: 入力された値そのままで、それ以外のパラメータを指定せずに実行することが重要です。 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 ドメインが の場合、ログイン用の URLexample.com は となります 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 でなければならないときに使用します。 例えば、名がクリスチャンで、Solingen に居住しているすべてのユーザーを検索する場合は、この照会を使用できます。

    各引数は、それぞれ独自の括弧で囲まれています。 LDAP ステートメント全体をメインの括弧で囲む必要があります。 & 演算子は、このフィルターが問題のオブジェクトに適用されるためには、各引数が true でなければならないことを意味します。

  • NOT

    (!name=John)
     

    これは最初の例の逆です。

  • Wildcard

    (title=*)
     

ワイルドカードを使用して、以下のものを検索します。

  • Combination

    (&(name=Christian)(|(l=Solingen)(l=Duesseldorf)))
     

    名前が クリスチャンで、デュッセルドルフまたはゾーリンゲンのいずれかに住んでいるすべてのユーザーを返します。