启用 Cassandra 身份验证

默认情况下,Cassandra 安装时未启用身份验证。这意味着任何拥有访问权限的人员 连接到 Cassandra 服务器后,无需任何身份验证即可查询 Cassandra 数据库。您可以 在安装 Edge 后或在安装过程中启用身份验证。

如果您决定在 Cassandra 上启用身份验证,但不提供 它就会使用以下默认凭据:

  • 用户名 = 'cassandra'
  • 密码 = 'cassandra'

您可以使用此用户账号,为其设置不同的密码,或者 创建一个新的 Cassandra 用户。使用 Cassandra 添加、移除和修改用户 CREATE/ALTER/DROP USER 语句。

如需了解详情,请参阅 Cassandra SQL shell 命令

启用 Cassandra 身份验证 安装

您可以在安装时启用 Cassandra 身份验证。不过,虽然您可以 则应该始终使用默认的 Cassandra 用户名 和密码 (‘cassandra’:’cassandra’)。 如果您想使用非默认 Cassandra 凭据,则必须重新启用 Cassandra 按照列出的步骤完成安装后进行身份验证 <ph type="x-smartling-placeholder"></ph> 此处

如果您想在全新安装 Cassandra 期间启用 Cassandra 身份验证,请添加 所有 Cassandra 节点的配置文件中以下属性:

CASS_AUTH=y
CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

然后,安装将设置 Cassandra,为其启用身份验证,并默认 cassandra:cassandra 凭据。

初始安装完成后,您可以执行以下一个或多个步骤:

  • 按照以下过程创建用于 Cassandra 身份验证的备用用户 <ph type="x-smartling-placeholder"></ph> 此处
  • 按照以下步骤更改默认 Cassandra 用户的密码 此处
  • 安装 Edge 组件 使用您在前面设置的凭据。

连接到 Cassandra 的 Edge 组件

以下 Edge 组件访问 Cassandra:

  • 管理服务器
  • 消息处理器
  • 路由器
  • Qpid 服务器
  • Postgres 服务器

在启用 Cassandra 身份验证时安装 Edge 组件

如果您在为 首次,您需要在静默配置文件中提供以下设置:

CASS_AUTH=Y
CASS_USERNAME=<valid username in Cassandra>
CASS_PASSWORD=<password for the above username>

您可以将 Cassandra 安装 Cassandra 后移除凭据。但是,如果你 已经安装了管理服务器、消息处理器、路由器、Qpid 或 Postgres 服务器,还必须 更新这些组件,以使用 新凭据,如下一部分所述。

更新连接到 Cassandra 的 Edge 组件

按照以下步骤更新所有与 Cassandra 通信的 Edge 组件: 新凭据请注意,您必须先执行此步骤,然后才能实际更新 Cassandra 凭据:

  1. 在管理服务器节点上,运行以下命令:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password

    您可以选择将包含新用户名和密码的文件传递给命令:

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    其中,configFile 包含以下内容:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special characters.

    此命令会自动重启管理服务器。

  2. 针对以下每项服务重复执行第 1 步: <ph type="x-smartling-placeholder">
      </ph>
    • 所有消息处理器
    • 所有路由器
    • 所有 Qpid 服务器 (edge-qpid-server)
    • Postgres 服务器 (edge-postgres-server)

    针对每项服务重复第 1 步时,请将 edge-management-server 替换为相应的服务名称。例如,在执行步骤 对于路由器服务,请使用以下命令:

    /opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra

    安装后启用 Cassandra 身份验证

    以下部分将介绍如何在安装后启用 Cassandra 身份验证。

    在单个数据中心设置中启用 Cassandra 身份验证

    对于已安装 Cassandra 的单个基于数据中心的 Apigee 设置,您可以执行以下操作:

    • 首次启用 Cassandra 身份验证(使用默认的 Cassandra) 用户 (cassandra:cassandra) 或创建全新的超级用户。为此, 请按以下步骤操作: <ph type="x-smartling-placeholder">
        </ph>
      1. 请按中的步骤操作 首次启用 Cassandra 身份验证
      2. 更新 连接到 Cassandra
    • 更改现有 Cassandra 用户的密码。 如果您已使用默认 Cassandra 凭据启用了 Cassandra 身份验证 (cassandra:cassandra),您可以按照以下步骤更改密码: <ph type="x-smartling-placeholder">
        </ph>
      1. 更改密码 为 Cassandra 用户指定
      2. 更新 连接到 Cassandra

    注意:“Cassandra”user 是 Cassandra 中的特殊用户。使用此证书进行身份验证 用户需要 QUORUM 一致性。请参阅 <ph type="x-smartling-placeholder"></ph> 关于 Cassandra 一致性级别

    当有多个数据中心时启用 Cassandra 身份验证

    在扩展数据中心时,请按照以下情景之一中的步骤操作: 这取决于您的具体设置

    场景 1:现有数据中心启用了 Cassandra 身份验证

    如果现有数据中心已启用 Cassandra 身份验证,且默认 cassandra:cassandra 凭据,请按以下步骤操作:

    1. 建立一个新的数据中心 具有默认 Cassandra:Cassandra 凭据和CASS_AUTH=y。请参阅 启用 Cassandra 身份验证
    2. 安装 Edge 安装组件

    如果现有数据中心已使用非默认凭据启用 Cassandra 身份验证, 请按以下步骤操作:

    1. 使用默认的 Cassandra:Cassandra 凭据和CASS_AUTH=y。请参阅 启用 Cassandra 身份验证
    2. 请按的步骤操作 首次启用 Cassandra 身份验证,以便重复使用来自 现有数据中心(如果现有数据中心使用的是非默认凭据)。
    3. 安装 Edge 组件添加到新数据中心。

    场景 2:现有数据中心未启用 Cassandra 身份验证

    如果未启用 Cassandra 身份验证,请执行以下步骤:

    1. 设置无需进行 Cassandra 身份验证的新数据中心。
    2. 请按的步骤操作 首次启用 Cassandra 身份验证 在整个集群中启用 Cassandra 身份验证(扩展后)。
    3. 按照以下步骤更新连接到 Cassandra 的 Edge 组件 此处

    首次启用 Cassandra 身份验证

    首次启用 Cassandra 身份验证的步骤如下, 或创建新的 Cassandra 用户名和密码:

    1. 创建包含以下内容的静默配置文件:
      # Specify IP address or DNS name of cassandra node
      IP1=192.168.1.1
      IP2=192.168.1.2
      IP3=192.168.1.3
      
      # Must resolve to IP address or DNS name of host
      HOSTIP=$(hostname -i)
      
      # Set to ‘y’ to enable Cassandra authentication.
      CASS_AUTH=y # Possible values are ‘y/n’
      
      # Cassandra username. If it does not exist, this user would be created as a SUPERUSER
      CASS_USERNAME=cassandra # Default value is cassandra
      # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
      CASS_PASSWORD=cassandra # Default value is cassandra
      
      # Space-separated IP/DNS names of the Cassandra hosts
      CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
      
      # Username of an existing C* user. Only needed if you have disabled or change details of the default cassandra user(‘cassandra’)
      CASS_EXISTING_USERNAME=cassandra  # The default username is cassandra
      # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
      CASS_EXISTING_PASSWORD=cassandra  # The default password is cassandra
      
      # Cassandra port
      CASS_PORT=9042 # The default port is 9042.
    2. 登录第一个 Cassandra 节点并执行以下命令:
      apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

      您还可以选择将这些属性作为命令参数传递给脚本,如 示例:

      CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra  CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication

      注意:

      • 对于默认的 Cassandra 凭据,上述命令会启用 Cassandra 身份验证并 重启 Cassandra。
      • 对于非默认凭据,该命令还会更改复制因子、创建一个 超级用户,并对 system_auth 密钥空间运行修复。
    3. 在所有 Cassandra 节点上逐一重复第 1 步和第 2 步。

    安装 Cassandra 后更改 Cassandra 凭据

    如需在安装 Cassandra 后更改 Cassandra 凭据,请执行以下操作:

    1. 使用 cqlsh 工具和默认的登录任何一个 Cassandra 节点 凭据。你只需在一个节点上更改密码 环中的 Cassandra 节点:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

      其中:

      1. cassIP 是 Cassandra 节点的 IP 地址。
      2. 9042 是默认 Cassandra 端口。
      3. 默认用户为 cassandra
      4. 默认密码为 cassandra。如果您更改了密码 请使用当前密码。如果密码中包含任何特殊字符, 用英文单引号括起来。
    2. cqlsh> 提示符处执行以下命令,以更新密码:
      ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
    3. 退出 cqlsh 工具,如以下示例所示:
      exit
    4. 如果您尚未安装管理服务器、消息处理器、 对于路由器、Qpid 服务器或 Postgres 服务器,请在 然后安装这些组件:
      CASS_USERNAME=cassandra
      CASS_PASSWORD=NEW_PASSWORD
    5. 如果您已安装管理服务器, 处理器、路由器、Qpid 服务器或 Postgres 服务器,请参阅重置边缘密码,了解更新密码的过程 使用新密码。