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オーソライザー)は無効になっています。DSE Authenticator(DSEオーセンティケーター)以外のオーセンティケーターはサポートされていません。

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

dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

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

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml

始める前に

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

手順

各ノードに次の更新を適用します。

  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. RLACを使用して行レベルのパーミッションの設定を行う場合は、これらのセキュリティ関連のキャッシュ設定を調整します。
      permissions_validity_in_ms: 2000
      permissions_uddate_interval_in_ms: 2000
      permissions_cache_max_entries: 1000
  2. dse.yamlファイルで、対応するオプションを構成します。
    1. authentication_optionsをコメント解除し、設定を変更してDSE Authenticator(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オーセンティケーター)を有効にして、スキームを選択します。
            enabled: true
            default_scheme: internal
        注: LDAPまたはKerberosのみを使用する場合は、other_schemesに内部スキームを含めて、デフォルトのcassandraアカウントにアクセスできるようにして、初期設定を完了します。
        表 1. 必要なauthentication_options
        オプション 説明
        enabled デフォルトのスキームを使用した認証をオンにします。
        default_scheme 接続で定義されていない場合は、以下の認証スキームを指定します。
        • internal - パスワード付きの内部ログイン・ロールを使用する基本的な認証。ロール名とパスワードを認証情報として入力します。追加の構成は不要です。
        • ldap - パススルーLDAP認証を使用するプレーン・テキスト認証。「LDAPスキームの定義」を参照してください。
        • kerberos - Kerberosオーセンティケーターを使用するGSSAPI認証。「Kerberosスキームの定義」を参照してください。
      • オプションの設定:
            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
        重要:

        CFSやAnalyticsデータ・センターのCassandraHiveMetastoreなど、Thriftを使用するDSEコンポーネントでother_schemesを使用することはできません。Thriftドライバーを使用するコンポーネントを使用する場合は、default_schemeのみが使用されます。

        scheme_permissions ユーザーにマップされたロールが認証スキームと一致することを確認します。そのスキームにロール・パーミッションを付与します。
        allow_digest_with_kerberos Kerberos digest-md5認証を許可します。
        plain_text_without_ssl プレーン・テキスト接続の処理では、以下が要求されます。
        • block - 要求をブロックし、認証エラーが発生します。
        • warn - 要求について警告をログに記録しますが、処理を続行します。デフォルト。
        • allow - 警告なしで要求を許可します。
        transitional_mode 認証に失敗し、認証情報が失われた場合の動作を設定します。
        • disabled - 移行モードは無効になります。デフォルト。
        • permissive - スーパーユーザーだけが認証されてログインできます。他のすべての認証は匿名ユーザーとしてログインします。
        • normal - 有効な認証情報を指定したユーザーのみがログインします。
          • 認証が成功すると、ユーザーはログインします。
          • 認証が失敗すると、ユーザーは匿名ユーザーとしてログインします。
          • 認証情報が渡されない場合、ユーザーは匿名ユーザーとしてログインします。
        • strict - 認証情報が渡された場合、認証されます。
          • 認証が成功すると、ユーザーはログインします。
          • 認証が失敗すると、認証エラーが返されます。
          • 認証情報が渡されない場合、ユーザーは匿名ユーザーとしてログインします。
    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: false
      #     transitional_mode: disabled
      #     allow_row_level_security: false
      

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

      • 必要な設定:オーソライザーを有効にします。
        enabled: true
      • オプションの設定:
        transitional_mode: normal
          allow_row_level_security: true
      表 4. authorization_options
      オプション 説明
      enabled
      enabled
      ロール・ベース・アクセス制御(RBAC)でのDSE Authorizer(DSEオーソライザー)の使用を有効にします。
      transitional_mode
      transitional_mode
      クラスター内で権限管理のセットアップ中にDSE Authorizer(DSEオーソライザー)が一時的な移行モードで動作することを許可します。次のいずれかの値に設定します。
      • disabled - 移行モードは無効になります。
      • normal - パーミッションをリソースに渡すことができますが、強制されません。
      • strict - パーミッションをリソースに渡すことができ、認証されたユーザーに対しては強制されます。匿名ユーザーに対してはパーミッションは強制されません。
      allow_row_level_security
      allow_row_level_security
      デフォルト:false。Trueの場合、行レベル・アクセス制御(RLAC)パーミッションが有効になります。すべてのノードで同じ設定を使用してください。
  3. 選択された認証スキーム・オプションを構成します。
    警告: DSEを開始するには、kerberos_optionsldap_optionsで参照される外部サービスにアクセス可能である必要があります。Kerberosベースの認証を使用していない場合は、kerberos_optionsをコメント解除します。
  4. nodetooldsetoolの操作を許可するようにJMX認証を設定します。「JMXユーザー認証の設定」を参照してください。
  5. DSEを再起動します。「DataStax Enterpriseをサービスとして起動」または「DataStax Enterpriseをスタンドアローン・プロセスとして起動」を参照してください。

次のタスク

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