0

AD 認証を使用しようとしています。正常にログインできましたが、marvel でクエリを実行する権限がありません。マーベルでクエリを実行するたびに、次のエラーが発生します。詳細は次のとおりです

{
   "error": "AuthorizationException[action [indices:data/read/search] is unauthorized for user [shivang.Mittal]]",
   "status": 403
}

Elasticsearch.yml (C:\ES\elasticsearch-1.4.4\config)

 shield:
   authc:
     realms:
       active_directory:
         type: active_directory
         domain_name: tavant.in
         url: "LDAP://DODC1.tavant.in:389"
         user_dn_templates:
          - "cn={0}, dc=tavant, dc=in"
         group_search:
          base_dn: "dc=tavant,dc=in"
         files:
           role_mapping: "C:/ES/elasticsearch-1.4.4/config/shield/role_mapping.yml"

role_mapping.yml (C:\ES\elasticsearch-1.4.4\config\shield)。同じファイルをノードにコピーしました(C:\ES\elasticsearch-1.4.4\data\elasticsearch\nodes\0)

admin:
  - "cn=users, dc=tavant,dc=in"

役割.yml

admin:
  cluster: all
  indices:
    '*': all

アップデート

Jaymode の提案に従って、shield.auth: debug を追加しました。以下はログです(これは役立つと思いました)

    [2015-04-27 11:54:12][DEBUG][shield.authc.ldap.support] [Talisman] the roles [[]], are mapped from these [active_directory] groups [[CN=Users,CN=Builtin,DC=tavant,DC=in, CN=Domain Users,CN=Users,DC=tavant,DC=in, 
    [2015-04-27 11:54:14,935][DEBUG][shield.authc.activedirectory] [Talisman] authenticated user [shivang.Mittal], with roles [[]]
    [2015-04-27 11:54:16,447][ERROR][marvel.agent.exporter    ] [Talisman] error adding the marvel template to [[0:0:0:0:0:0:0:0]:9200] response code [401 Unauthorized]. content: [{"error":"AuthenticationException[missing authentication token for REST request [/_template/marvel]]","status":401}]
    [2015-04-27 11:54:16,447][ERROR][marvel.agent.exporter    ] [Talisman] failed to verify/upload the marvel template to [[0:0:0:0:0:0:0:0]:9200]:
    Server returned HTTP response code: 401 for URL: http://[0:0:0:0:0:0:0:0]:9200/_template/marvel
[2015-04-27 11:54:16,447][ERROR][marvel.agent.exporter    ] [Talisman] failed to verify/upload the marvel template to [[0:0:0:0:0:0:0:0]:9200]:
Server returned HTTP response code: 401 for URL: http://[0:0:0:0:0:0:0:0]:9200/_template/marvel
4

1 に答える 1

3

EDIT 2:ログメッセージに基づいて、おそらく次のマッピングを使用したいでしょう

admin:
  - "CN=Users,CN=Builtin,DC=tavant,DC=in"

編集:私はあなたの問題を見ていると思います。role_mapping.yml には次のものがあります。

admin:
  - "cn=users, dc=tavant,dc=tavant"

ほとんどの場合、次のようになります。

admin:
  - "cn=users,dc=tavant,dc=in"

ロール マッピングに使用している DN は正しく、取得されているのでしょうか。デバッグ ログを設定すると、ユーザーに対して検出されたグループのリストがログに記録されます。デバッグ ログを有効にするには、C:\ES\elasticsearch-1.4.4\config\logging.yml ファイルを編集します。

...
logger:
    # Add the line below
    shield.authc: DEBUG
...

ログ行は次のようになります。the roles [], are mapped from these [active_directory] groups [ list of group DNs here ] for realm [active_directory/active_directory]

その行には、取得されたグループ DN の実際のリストがあります。また、レルム構成は次のように簡略化できます。

shield:
  authc:
    realms:
      active_directory:
        type: active_directory
        domain_name: tavant.in
        url: "LDAP://DODC1.tavant.in:389"

他の設定は、実際には、指定されていない場合のデフォルト値を指定しているように見えます。

于 2015-04-24T18:25:05.090 に答える