2017-01-10 2 views
3

私は既存のDatastax Cassandraセットアップが動作しています。システムに認証を追加したばかりで、ADアカウントでログインできるようになりました。これは非常に素晴らしく、確かに機能します。しかし、アプリケーションは、接続するためにハードコードされたユーザー名/パスワードを使用する必要があります。ハードコードされたユーザー名パスワードを使わないでcassandraにアクセス

SQL Serverでは、サービスを実行するユーザーをセットアップしてから、ADを介して接続して動作させることができました。しかし、カサンドラでは同じではありません。

私のapp.configファイルにユーザー名、特にパスワードを含めたくない場合、私のオプションは何ですか?

+1

(sAMAccountName={0})へ:user_search_filterに関するドキュメントにコメントdse.yamlノートを設定するとき完全な回答ですが、Active Directoryを使用しているため、DataStax EntepriseでKerberos認証を使用できます。 DSEプロセスを実行しているユーザーがKerberosで認証されている場合(キャッシュで認証されているユーザーのチケットがある場合)、Kerberosを使用してアプリケーションにユーザー名またはパスワードを入力する必要はありません。 –

+1

@AndyTolbert正しいKerberosが良いオプションです.DSEは、Active Directoryや別のバージョンを使用しているかどうかにかかわらず、LDAPによる認証もサポートしています。私はw.r.tの下に答えを追加しました。 DSE5.0以降。ありがとう! – markc

+0

偉大な答えを@markc、それは素晴らしいだろう! –

答えて

2

DSE(Datastax Enterprise)でLDAP経由で認証を使用することができます。そのため、現時点で使用しているDSEの内部認証ではなく、LDAPで認証段階が完了します。ここでのコメントはDSE5.0以降に適用されますが、4.6以降のバージョンのDSEでLDAP認証を使用することができます。

ドキュメンテーション(下記のリンク)はこれをカバーしています。基本手順は次のとおりです。

  1. 設定cassandra.yamlであなたのオーセンティケータはDSE認証を使用するように

    authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator

  2. LDAPグループにマップするためにカサンドラ内部の役割を作成します(複数可) CREATE ROLEコマンドを使用してLDAPサーバーに接続する

  3. 使用する必要があるすべてのユーザーが関連するLDAPグループ(LDAP設定の一部)にマップされていることを確認してください

次のドキュメントは、いくつかの良い例や背景情報を提供します再起動がDSEプロセス設定を有効取るためにあなたのLDAPサーバ

  • の正しい設定を持っているあなたのdse.yamlを設定します。

    https://docs.datastax.com/en/latest-dse/datastax_enterprise/unifiedAuth/unifiedAuthConfig.html

    https://docs.datastax.com/en/latest-dse/datastax_enterprise/sec/authLdapConfig.html

    注:

    フィルタを設定し、Active Directoryを使用して、私は提供できませんので、コメントを追加

  • 関連する問題