默认情况下,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 凭据:
- 在管理服务器节点上,运行以下命令:
/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.
此命令会自动重启管理服务器。
- 针对以下每项服务重复执行第 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>
- 请按中的步骤操作 首次启用 Cassandra 身份验证。
- 更新 连接到 Cassandra。
- 更改现有 Cassandra 用户的密码。
如果您已使用默认 Cassandra 凭据启用了 Cassandra 身份验证
(
cassandra:cassandra
),您可以按照以下步骤更改密码: <ph type="x-smartling-placeholder">- </ph>
- 更改密码 为 Cassandra 用户指定
- 更新 连接到 Cassandra。
注意:“Cassandra”user 是 Cassandra 中的特殊用户。使用此证书进行身份验证 用户需要 QUORUM 一致性。请参阅 <ph type="x-smartling-placeholder"></ph> 关于 Cassandra 一致性级别。
当有多个数据中心时启用 Cassandra 身份验证
在扩展数据中心时,请按照以下情景之一中的步骤操作: 这取决于您的具体设置
场景 1:现有数据中心启用了 Cassandra 身份验证
如果现有数据中心已启用 Cassandra 身份验证,且默认
cassandra:cassandra
凭据,请按以下步骤操作:- 建立一个新的数据中心 具有默认 Cassandra:Cassandra 凭据和CASS_AUTH=y。请参阅 启用 Cassandra 身份验证 。
- 安装 Edge 安装组件。
如果现有数据中心已使用非默认凭据启用 Cassandra 身份验证, 请按以下步骤操作:
- 使用默认的 Cassandra:Cassandra 凭据和CASS_AUTH=y。请参阅 启用 Cassandra 身份验证 。
- 请按的步骤操作 首次启用 Cassandra 身份验证,以便重复使用来自 现有数据中心(如果现有数据中心使用的是非默认凭据)。
- 安装 Edge 组件添加到新数据中心。
场景 2:现有数据中心未启用 Cassandra 身份验证
如果未启用 Cassandra 身份验证,请执行以下步骤:
- 设置无需进行 Cassandra 身份验证的新数据中心。
- 请按的步骤操作 首次启用 Cassandra 身份验证 在整个集群中启用 Cassandra 身份验证(扩展后)。
- 按照以下步骤更新连接到 Cassandra 的 Edge 组件 此处。
首次启用 Cassandra 身份验证
首次启用 Cassandra 身份验证的步骤如下, 或创建新的 Cassandra 用户名和密码:
- 创建包含以下内容的静默配置文件:
# 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.
- 登录第一个 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 密钥空间运行修复。
- 在所有 Cassandra 节点上逐一重复第 1 步和第 2 步。
安装 Cassandra 后更改 Cassandra 凭据
如需在安装 Cassandra 后更改 Cassandra 凭据,请执行以下操作:
- 使用
cqlsh
工具和默认的登录任何一个 Cassandra 节点 凭据。你只需在一个节点上更改密码 环中的 Cassandra 节点:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
其中:
- cassIP 是 Cassandra 节点的 IP 地址。
- 9042 是默认 Cassandra 端口。
- 默认用户为
cassandra
。 - 默认密码为
cassandra
。如果您更改了密码 请使用当前密码。如果密码中包含任何特殊字符, 用英文单引号括起来。
- 在
cqlsh>
提示符处执行以下命令,以更新密码:ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- 退出
cqlsh
工具,如以下示例所示:exit
- 如果您尚未安装管理服务器、消息处理器、
对于路由器、Qpid 服务器或 Postgres 服务器,请在
然后安装这些组件:
CASS_USERNAME=cassandra CASS_PASSWORD=NEW_PASSWORD
- 如果您已安装管理服务器, 处理器、路由器、Qpid 服务器或 Postgres 服务器,请参阅重置边缘密码,了解更新密码的过程 使用新密码。