DSEドライバーでの認証
DSEドライバーは、DSE Unified Authentication(DSE統合認証)をサポートしています。
DSEドライバーは、DSE Unified Authentication(DSE統合認証)をサポートしています。
- 内部ユーザー名とパスワード認証
- LDAP認証またはActive Directory認証
- Kerberos認証
DSEの統合認証は、ユーザーをロールに割り当て、データベース・リソースへのアクセスをそのロールに基づいて関連付ける機能を提供します。DSEでは、ユーザーがプロキシ・ロールを使用してログインおよび実行することもできます。これらの機能はすべて、目的のセキュリティ構成を有効にする組み込みクラスを使用して、DataStaxドライバーで直接有効にすることができます。
DataStaxドライバーには、セキュアなDSEクラスターに接続するために必要なユーティリティを提供する認証プロバイダーが組み込まれています。
DSEのデフォルトでは、認証サービスは有効になっていません。このため、使い始めることは簡単にできますが、プロダクション環境へのデプロイを目的としたものではありません。認証を使用するようにドライバーを構成する前に、DSE内で目的のセキュリティ・スキームを有効にし、データベースにユーザーとロールを作成してください。
内部またはLDAPのユーザー名とパスワードを使用した認証
ドライバーは、プレーン・テキスト認証プロバイダーを使用して、DSEの内部認証とLDAPまたはActive Directory認証の両方を実行します。ドライバーはプレーン・テキストのユーザー名とパスワードをサーバーに送信し、サーバーは基になる構成されたスキームに対して認証を行います。
これらのメカニズムは資格情報をネイティブ・プロトコルを使用してクリア・テキストで送信するため、常にクライアント・サーバー・トランスポートの暗号化と組み合わせて使用する必要があります。
C/C++ | C# | Java | Node.js | PHP | Python | Ruby |
Kerberosを使用した認証
各ドライバーは、認証プロバイダーを拡張してDSEのKerberos認証を実行します。
Kerberosは、構成にkrb5.confファイルを使用します。資格情報は、チケット・キャッシュまたはキータブに常駐できます。
krb5.conf構成ファイル
Kerberosを有効にしたDSEクラスターに対するDSEドライバー認証には、Kerberos構成設定が含まれているkrb5.confファイルが必要です。このファイルは、ノードの/etcディレクトリに存在する場合があります。存在しない場合は、Kerberosシステム管理者に連絡してファイルを見つけてください。
デフォルト以外の場所にあるkrb5.confファイルを参照するには、環境変数KRB5_CONFIG
にkrb5.confの格納場所を設定します。kinit
、klist
、kdestroy
などのKerberosコマンドラインツールは、この変数を尊重します。
JavaとC#を除くすべてのドライバーは、この環境変数を尊重します。Javaクライアントは、起動時にjava.security.krb5.conf
システムプロパティをkrb5.confファイルへのパスに設定する必要があります。C#ドライバーは、krb5.confを使用しないSSPIを使用します。
Kerberosチケット・キャッシュ
Kerberos チケット・キャッシュを使用するには、kinit
コマンドを使用してKerberosサーバーで認証し、チケットを取得します。klist
コマンドを使用して、成功した認証のチケットがチケット・キャッシュに含まれていることを確認します。チケット・キャッシュにチケットが存在することが確認されると、Kerberos認証プロバイダーを使用するように構成されたアプリケーションを実行する準備が整います。複数のプリンシパルのチケット・キャッシュに有効なチケットがあり、アプリケーションでプリンシパルが指定されていない場合、ドライバーは無作為に1つを選択し、そのチケットを使用します。
Kerberosキータブ
キータブを使用すると、追加の認証情報やパスワードを必要とせずに、Kerberosで認証できます。キータブ・ファイルには、アクセスを制限するために適切に設定されたパーミッションが必要です。パーミッションは、アプリケーション・ユーザーがキータブにアクセスできるように設定する必要があります。
プロキシ・ログインと代理実行
プロキシ・ログインは、ユーザーは認証用の資格情報の固定セットを使用して認証できますが、別のユーザー・ロールに基づいたリソースの権限管理を許可します。プロキシ・ログインを使用するには、個々のドライバーのドキュメントを参照してください。
C/C++ | C# | Java | Node.js | PHP | Python |
プロキシ・ログインと同様、代理実行は、ユーザーは認証用の資格情報の固定セットを使用して認証できますが、別のユーザー・ロールに基づいて要求を実行することを許可します。代理実行を使用するには、個々のドライバーのドキュメントを参照してください。
C/C++ | C# | Java | Node.js | PHP | Python |