适用于私有云的 Edge v. 4.16.05
默认情况下,Cassandra 安装时不会启用身份验证。这意味着任何人都可以访问 Cassandra。您可以在安装 Edge 后或在安装过程中启用身份验证 过程。
如果您决定在 Cassandra 上启用身份验证,它将使用以下默认凭据:
- 用户名 = 'cassandra'
- 密码 = 'cassandra'
您可以使用此账号、为此账号设置其他密码,或创建新的 Cassandra 用户。使用 Cassandra CREATE/ALTER/DROP USER 语句添加、移除和修改用户。
如需了解详情,请参阅 http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html。
在安装过程中启用 Cassandra 身份验证
您可以在安装时启用 Cassandra 身份验证。不过,虽然您可以 身份验证,则无法更改默认用户名和密码。 您必须在安装 Cassandra 后手动执行此步骤。
注意:在使用“-p c”“-p”命令安装 Cassandra 时,请遵循以下流程 ds”、“-p sa”、“-p aio”、“-p asa”和“-p ebp”选项。
如需在安装时启用 Cassandra 身份验证,请在所有 Cassandra 节点的配置文件中添加 CASS_AUTH 属性:
CASS_AUTH=y # The default value is n.
以下 Edge 组件访问 Cassandra:
- 管理服务器
- 消息处理器
- 路由器
- Qpid 服务器
- Postgres 服务器
- BaaS 堆栈
因此,在安装这些组件时,必须在 配置文件来指定 Cassandra 凭据:
CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
安装 Cassandra 后,您可以更改 Cassandra 凭据。不过,如果您已安装管理服务器、消息处理器、路由器、Qpid 服务器、Postgres 服务器或 BaaS 堆栈,则还必须更新这些组件才能使用新凭据。
如需在安装 Cassandra 后更改 Cassandra 凭据,请执行以下操作:
- 使用 cqlsh 工具和默认凭据登录任意 Cassandra 节点。您
只需要更改一个节点上的密码 就可以将该更改广播到
戒指:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
其中:- cassIP 是 Cassandra 节点的 IP 地址。
- 9042 是默认的 Cassandra 端口。
- 默认用户为 cassandra。
- 默认密码为 cassandra。如果您更改了密码 请使用当前密码。
- 以 cqlsh> 提示符运行以下命令,以更新
密码:
cqlsh>ALTER USER Cassandra 合作 PASSWORD 'NEW_PASSWORD'; - 退出 cqlsh 工具:
cqlsh> exit - 如果您尚未安装管理服务器、消息处理器、路由器、Qpid 服务器、Postgres 服务器或 BaaS 堆栈,请在配置文件中设置以下属性,然后安装这些组件:
CASS_USERNAME=cassandra
CASS_PASSWORD=NEW_PASSWORD - 如果您已安装管理服务器、消息处理器、路由器、Qpid 服务器、Postgres 服务器或 BaaS 堆栈,请参阅重置 Edge 设备密码,了解更新这些组件以使用新密码的步骤。
安装后启用 Cassandra 身份验证
如需启用身份验证,请执行以下操作:
- 使用 Cassandra 用户名和密码更新连接到 Cassandra 的所有 Edge 组件。
- 在所有 Cassandra 节点上,启用身份验证。
- 在任意一个节点上设置 Cassandra 用户名和密码。您只需更改一个 Cassandra 节点上的凭据,这些凭据就会广播到环中的所有 Cassandra 节点。
按照以下步骤更新与 Cassandra 通信的所有 Edge 组件 输入新凭据请注意,您在实际更新 Cassandra 之前执行此步骤 凭据:
- 在管理服务器节点上,运行以下命令:
> /opt/apigee/apigee-service/bin/apigee-service Edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD
或者,您可以将包含新用户名和密码的文件传递给命令:
>apigee-service Edge-management-server store_cassandra_credentials -f configFile
其中,configFile 包含以下内容:
CASS_USERNAME=cassandra
CASS_PASSWORD=CASS_PASSWROD
此命令会自动重启管理服务器。 - 针对以下内容重复第 1 步:
- 所有消息处理器
- 所有路由器
- 所有 Qpid 服务器 (edge-qpid-server)
- Postgres 服务器 (edge-postgres-server)
- 在版本 4.16.05.04 及更高版本的 BaaS 堆栈节点上:
- 运行以下命令以生成加密密码:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password
此命令会提示您输入纯文本密码,并在 格式如下:
SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050 - 在 /opt/apigee/customer/application/usergrid.properties 中设置以下令牌。
如果该文件不存在,请创建该文件:
usergrid-deployment_cassandra.username=cassandra
usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
此示例使用 Cassandra 的默认用户名。如果您更改了用户名,请将 相应地设置 usergrid-deployment_cassandra.username 的值。
请务必添加“SECURE:”前缀。 否则,BaaS Stack 会将该值解读为未加密。
注意:每个 BaaS 堆栈节点都有自己唯一的密钥,用于加密 密码。因此,您必须在每个 BaaS 堆栈节点上生成加密值 - 将 usergrid.properties 文件的所有权更改为“apigee”用户:
> chown apigee:apigee /opt/apigee/customer/application/usergrid.properties - 配置堆栈节点:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure - 重启 BaaS 堆栈:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid 重启 - 对所有 BaaS Stack 节点重复上述步骤。
- 运行以下命令以生成加密密码:
按照以下步骤启用 Cassandra 身份验证,并设置 密码:
- 登录第一个 Cassandra 节点。
- 运行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra enable_cassandra_authentication -e y
此命令会启用身份验证并重启 Cassandra。
- 在所有 Cassandra 节点上重复执行第 1 步和第 2 步。
- 使用
cqlsh
工具和默认的登录任何一个 Cassandra 节点 凭据。您只需更改一个 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>
提示符处运行以下命令,以确保键空间 始终可用。 对于单个数据中心:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
对于两个数据中心:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
- 退出
cqlsh
工具:exit
- 运行
nodetool repair
以确保更改传播到所有 Cassandra 节点:/opt/apigee/apigee-cassandra/bin/nodetool repair system_auth