DSE Unified Authentication(DSE統合認証)の有効化

DSE Unified Authentication(DSE統合認証)を有効にして構成する手順。

DSE Unified Authentication(DSE統合認証)は、3つのプライマリ・バックエンド認証と権限管理サービスへの接続を容易にします。DSE Unified Authentication(DSE統合認証)では以下のサービスを使用します。
  • DSE Authenticator(DSEオーセンティケーター):内部パスワード認証、LDAPパススルー認証、およびKerberos認証を使用した認証を提供します。
  • DSE Role Manager(DSEロール・マネージャー):ユーザー名をロール名にマッピングしてロールを割り当てたり、LDAPのグループ・メンバーシップを検索してグループ名をロール名にマップしたりします。
  • DSE Authorizer(DSEオーソライザー):データベース・オブジェクトのアクセスを制御します。

デフォルトでは、DSE Authenticator(DSEオーセンティケーター)とDSE Authorizer(DSEオーソライザー)は無効になっています。DseAuthenticator以外のオーセンティケーターはサポートされていません。

OpsCenterは、LDAP構成、ユーザーの認証もサポートしています。

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

始める前に

認証を有効にする前に、次の手順を完了します。
  • KerberosやLDAPなどの外部認証方法を構成するときは、サービスがアクティブで利用可能であることを確認してください。
    警告: 認証スキームまたはロール管理モードが構成されていても利用できない場合、DSEは起動に失敗します。
  • system_authキースペースとdse_securityキースペースを、データ・センターごとに3~5のレプリケーション係数を使用するように構成します。「セキュリティ・キースペースのレプリケーション係数の設定」を参照してください。
  • 既存の環境で認証を有効にする場合は、ドライバーをアップグレードし、アプリケーションを構成して認証情報を提供します。anonymousロールを使用して接続できるようにするには、遷移モードの使用を検討してください。詳細については、「プロダクション環境向けの手順」を参照してください。

手順

各ノードに次の更新を適用します。
  1. cassandra.yaml ファイルで、DSE Unified Authentication(DSE統合認証)と権限管理の機能が構成されていることを確認します。
    1. オーセンティケーターDseAuthenticatorに設定されていることを確認します。
      authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
    2. authorizerDseAuthorizerに設定されていることを確認します。
      authorizer: com.datastax.bdp.cassandra.auth.DseAuthorizer
    3. role_managerDseRoleManagerに設定されていることを確認します。
      role_manager: com.datastax.bdp.cassandra.auth.DseRoleManager
    4. スキーム情報をセキュリティ保護するには、system_keyspaces_filteringを有効にします。ユーザーは、アクセス・パーミッションを持つオブジェクトのスキーム情報のみを表示できます。
      system_keyspaces_filtering: true
  2. dse.yaml ファイルで、対応するオプションを構成します。
    1. authentication_optionsをコメント解除し、設定を変更してDseAuthenticator(DSEオーセンティケーター)を構成します。
      # authentication_options:
      #     enabled: false
      #     default_scheme: internal
      #     allow_digest_with_kerberos: true
      #     plain_text_without_ssl: warn
      #     transitional_mode: disabled
      #     other_schemes:
      #     scheme_permissions: false

      スペースを維持しながら、行の先頭にあるすべてのシャープ記号(#)を削除します。

      • 必要な設定。DSE Authenticator(DSEオーセンティケーター)を有効にして、コメント解除および値の設定を行なってスキームを選択します。
        authentication_options:
             enabled: true
             default_scheme: internal
        #     allow_digest_with_kerberos: true
        #     plain_text_without_ssl: warn
        #     transitional_mode: disabled
        #     other_schemes:
        #     scheme_permissions: false
        注: LDAPまたはKerberosのみを使用する場合は、other_schemesに内部スキームを含めて、デフォルトのcassandraアカウントにアクセスできるようにして、初期設定を完了します。
        1. 必要なauthentication_options
        オプション 説明
        enabled デフォルト・スキームを使用した認証を有効にします。
        default_scheme 接続に認証スキームが定義されていない場合、認証スキームを指定します。
        • internal - パスワード付きの内部ログイン・ロールを使用する基本的な認証。ロール名とパスワードを認証情報として入力します。他に必要な構成はありません。
        • ldap - パススルーLDAP認証を使用するプレーン・テキスト認証。「LDAPスキームの定義」を参照してください。
        • kerberos - Kerberosオーセンティケーターを使用するGSSAPI認証。「Kerberosスキームの定義」を参照してください。
      • 任意指定の設定は以下のとおりです。
        authentication_options:
             enabled: true
             default_scheme: internal
             other_schemes:
               - kerberos
               - ldap
             scheme_permissions: false
             allow_digest_with_kerberos: false
             plain_text_without_ssl: warn
             transitional_mode: disabled
        警告: scheme_permissionsでは、選択されたスキームに対する実行パーミッションが必要です。独自のrootアカウントを構成するまで、このオプションを有効にしないでください。
        2. オプションのauthentication_options
        オプション 説明
        other_schemes other_schemes
        scheme_permissions ユーザーにマップされているロールが認証スキームと一致していることを確認します。そのロールにスキームに対するパーミッションを付与します。
        allow_digest_with_kerberos Kerberos digest-md5認証を許可します。
        plain_text_without_ssl プレーン・テキスト接続要求の処理:
        • block - 要求をブロックし、認証エラーが発生します。
        • warn - 要求について警告をログに記録しますが、処理を続行します。
        • allow - 警告なしで要求を許可します。
        transitional_mode anonymousロールを使用してデータベースへのアクセスを許可します。
        • disabled - 移行モードは無効になります。すべての接続は有効な認証情報を提供し、ログインが有効なロールにマップする必要があります。
        • permissive - スーパーユーザーのみが認証されてログインできます。他のすべての認証は匿名ユーザーとしてログインします。
        • normal - 認証情報を提供するすべての接続が許可されます。すべての認証ユーザーをロールにマップし、他のすべての接続をanonymousにマップします。
        • strict - ログインが有効になっているロールにマップする認証済みの接続か、anonymousとして空のユーザー名とパスワードを提供する接続のみを許可します。
    2. role_management_optionsをコメント解除し、モードを設定してDSE Role Manager(DSEロール・マネージャー)を構成します。
      role_management_options:
          mode: internal

      スペースを維持しながら、行の先頭にあるすべてのシャープ記号(#)を削除します。

      3. ロール管理モード
      スキーマ 説明
      internal オーセンティケーターが提供するユーザー名に、ユーザー名と1対1のマッピングに一致するロールを割り当てます。
      ldap ldapスキームを使用してLDAPでユーザー名を検索し、グループ・メンバーシップを取得し、グループ名と1対多数のマッピングに一致するすべてのロールを割り当てます。
      注: Kerberos認証を使用する場合は、LDAP検索でユーザーを電子メール・アドレスで識別します。Kerberosレルムは電子メール・アドレスのドメインと一致する必要があります。
    3. authorization_optionsをコメント解除し、設定を変更してDSE Authorizer(DSEオーソライザー)を構成します。
      authorization_options:
           enabled: true
           transitional_mode: normal
           allow_row_level_security: true

      スペースを維持しながら、行の先頭にあるすべてのシャープ記号(#)を削除します。

      • 必須。enabledをtrueに設定します。
        enabled
        ロール・ベース・アクセス制御(RBAC)でのDSE Authorizerの使用を有効にするかどうかを指定します。
        • true - ロール・ベース・アクセス制御(RBAC)でDSE Authorizerを使用します
        • false - Dse Authorizerを使用しません
        設定しない場合、デフォルトはfalseです。

        デフォルト:コメントアウト(false

      • 任意指定の設定は以下のとおりです。
        transitional_mode: normal
          allow_row_level_security: true
        transitional_mode
        クラスター内で権限管理のセットアップ中にDSE Authorizer(DSEオーソライザー)が一時的な移行モードで動作することを許可します。次のいずれかの値に設定します。
        • disabled - 移行モードは無効になります。
        • normal - パーミッションをリソースに渡すことができますが、強制されません。
        • strict - パーミッションをリソースに渡すことができ、認証されたユーザーに対しては強制されます。匿名ユーザーに対してはパーミッションは強制されません。

        デフォルト:コメントアウト(disabled

        allow_row_level_security
        行レベル・アクセス制御(RLAC)パーミッションを有効にするかどうかを指定します。すべてのノードで同じ設定を使用してください。
        • true - 行レベルのセキュリティを使用します
        • false - 行レベルを使用しません
        設定しない場合、デフォルトはfalseです。

        デフォルト:コメントアウト(false

  3. 選択された認証スキーム・オプションを構成します。
    警告: DSEを開始するには、kerberos_optionsやldap_optionsで参照される外部サービスにアクセス可能である必要があります。Kerberosベースの認証を使用していない場合は、kerberos_optionsをコメント解除します。
  4. nodetooldsetoolの操作を許可するようにJMX認証を設定します。「JMX認証の構成」を参照してください。
  5. DSEを再起動します。「DataStax Enterpriseをサービスとして起動」または「DataStax Enterpriseをスタンドアロン・プロセスとして起動」を参照してください。

次のタスク

DSEを再起動した後、CQLシェルにログインして、設定を完了します。