适用于私有云的 Edge v4.18.05
您可以重置 OpenLDAP、Apigee Edge 系统管理员、Edge 组织用户和 安装完成后的 Cassandra 密码。
重置 OpenLDAP 密码
根据您的 Edge 配置,OpenLDAP 可以安装为:
- 管理服务器节点上安装的单个 OpenLDAP 实例。例如,在 双节点、5 节点或 9 节点 Edge 配置。
- 在管理服务器节点上安装多个使用 OpenLDAP 配置的 OpenLDAP 实例 复制。例如,在 12 节点的 Edge 配置中。
- 在各自的节点上安装多个 OpenLDAP 实例,并配置了 OpenLDAP 复制。例如,在 13 节点 Edge 配置中。
重置 OpenLDAP 密码的方式取决于您的配置。
对于在管理服务器上安装的单个 OpenLDAP 实例,请执行以下操作:
- 在管理服务器节点上,运行以下命令以创建新的 OpenLDAP 密码:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o OLD_PASSWORD -n NEW_PASSWORD
- 运行以下命令以存储新密码,以便管理服务器访问:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p NEW_PASSWORD
此命令会重启管理服务器。
在在管理服务器节点上安装了 OpenLDAP 的 OpenLDAP 复制设置中,请在两个管理服务器节点上按照上述步骤更新密码。
在将 OpenLDAP 放置在管理服务器以外的节点上的 OpenLDAP 复制设置中,请确保您先更改两个 OpenLDAP 节点的密码,然后再更改两个管理服务器节点的密码。
重置系统管理员密码
如需重置系统管理员密码,您需要在两个位置重置密码:
- 管理服务器
- 界面
要重置系统管理员密码,请执行以下操作:
- 在界面节点上,停止 Edge 界面:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
- 在管理服务器上,运行以下命令以重置密码:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_sysadmin_password -o currentPW -n newPW
- 修改您用于安装 Edge 界面的静默配置文件,以设置以下属性:
APIGEE_ADMINPW=NEW_PASSWORD SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=foo@gmail.com SMTPPASSWORD=bar SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
请注意,传递新密码时,您必须添加 SMTP 属性,因为界面上的所有属性都会重置。
- 使用
apigee-setup
实用程序从配置文件重置 Edge 界面上的密码:/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- (仅限在界面上启用了 TLS 的情况下)在 Edge 界面上重新启用 TLS,如下所示 请参阅为管理配置配置 TLS 界面。
在包含多个管理服务器的 OpenLDAP 复制环境中, 重置其中一个管理服务器的密码会更新另一个管理服务器 。不过,您必须单独更新所有 Edge 界面节点。
重置组织用户密码
如需重置组织用户的密码,请使用 apigee-service
实用程序执行以下操作:
调用 apigee-setup
:
/opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password [-h] [-u USER_EMAIL] [-p USER_PWD] [-a ADMIN_EMAIL] [-P APIGEE_ADMINPW] [-f configFile]
例如:
/opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password -u user@myCo.com -p Foo12345 -a admin@myCo.com -P adminPword
下面显示了一个可与“-f”搭配使用的示例配置文件选项:
USER_NAME= user@myCo.com USER_PWD="Foo12345" APIGEE_ADMINPW=ADMIN_PASSWORD
您还可以使用 Update user API 来 更改用户密码。
SysAdmin 和组织用户密码规则
使用此部分为您的 API 设置所需的密码长度和强度级别
管理用户这些设置使用一系列预配置(且唯一编号)的常规
用于检查密码内容的表达式(例如大写、小写、数字和
字符)。将这些设置写入 /opt/apigee/customer/application/management-server.properties
文件。如果该文件不存在,请创建一个。
修改 management-server.properties
后,重启管理服务器:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
然后,您可以通过对正则表达式的不同组合进行分组来设置密码强度评分。例如,您可以确定密码至少包含一个大写字母和一个 小写字母的强度评级为“3”,但密码至少包含一个小写字母 1 个字母和一个数字,则评分为“4”。
属性 | 说明 |
---|---|
conf_security_password.validation.minimum.password.length=8 conf_security_password.validation.default.rating=2 conf_security_password.validation.minimum.rating.required=3 |
您可以使用这些特征来确定有效密码的整体特征。默认 密码强度的最低评分(表格后面部分所述)为 3。 请注意,password.validation.default.rating=2 低于最低评分 即,如果您输入的密码不符合 配置,则密码的评分为 2,因此无效(低于最低评分) (共 3 项)。 |
以下是用于识别密码特征的正则表达式。注意事项
每个文件都有编号例如:
“ |
|
conf_security_password.validation.regex.1=^(.)\\1+$ |
1:所有字符重复 |
conf_security_password.validation.regex.2=^.*[a-z]+.*$ |
2:至少包含一个小写字母 |
conf_security_password.validation.regex.3=^.*[A-Z]+.*$ |
3:至少包含一个大写字母 |
conf_security_password.validation.regex.4=^.*[0-9]+.*$ |
4:至少包含一个数字 |
conf_security_password.validation.regex.5=^.*[^a-zA-z0-9]+.*$ |
5:至少包含一个特殊字符(不包括下划线 _) |
conf_security_password.validation.regex.6=^.*[_]+.*$ |
6:至少包含一个下划线 |
conf_security_password.validation.regex.7=^.*[a-z]{2,}.*$ |
7:多个小写字母 |
conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$ |
8:多个大写字母 |
conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$ |
9:超过 1 位数字 |
conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$ |
10:包含多个特殊字符(不包括下划线) |
conf_security_password.validation.regex.11=^.*[_]{2,}.*$ |
11:包含多个下划线 |
以下规则根据密码内容确定密码强度。 每条规则都包含上一节中的一个或多个正则表达式,并为其分配一个数值强度。系统会将密码的数字强度与 conf_security_password.validation.minimum.rating.required 数字 以确定密码是否有效。 |
|
conf_security_password.validation.rule.1=1,AND,0 conf_security_password.validation.rule.2=2,3,4,AND,4 conf_security_password.validation.rule.3=2,9,AND,4 conf_security_password.validation.rule.4=3,9,AND,4 conf_security_password.validation.rule.5=5,6,OR,4 conf_security_password.validation.rule.6=3,2,AND,3 conf_security_password.validation.rule.7=2,9,AND,3 conf_security_password.validation.rule.8=3,9,AND,3 |
每条规则都有编号。例如, 每条规则都使用以下格式(等号右侧): regex-index-list,[AND|OR],rating regex-index-list 是正则表达式列表(按上一部分中的编号排序),以及 rating 是给每条规则分配的数值强度评分。 例如,规则 5 表示,包含至少 1 个特殊字符或 1 个下划线的任何密码都会获得 4 分。 |
conf_security_rbac.password.validation.enabled=true |
启用单点登录 (SSO) 后,将基于角色的访问权限控制密码验证设置为 false。默认值为 true。 |
重置 Cassandra 密码
默认情况下,Cassandra 在发货时处于身份验证停用状态。如果您启用身份验证,
使用名为“cassandra”的预定义用户密码为“cassandra”您可以使用此账号,为此账号设置其他密码,或创建新的 Cassandra 用户。添加、移除和
使用 Cassandra CREATE/ALTER/DROP USER
语句修改用户。
如需了解如何启用 Cassandra 身份验证,请参阅启用 Cassandra 身份验证。
要重置 Cassandra 密码,您必须执行以下操作:
- 在任意一个 Cassandra 节点上设置密码,该密码将广播到环中的所有 Cassandra 节点
- 使用新密码更新每个节点上的管理服务器、消息处理器、路由器、Qpid 服务器和 Postgres 服务器
如需了解详情,请参阅 http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html。
如需重置 Cassandra 密码,请执行以下操作:
- 使用
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
工具:exit
- 在管理服务器节点上,运行以下命令:
/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=CASS_USERNAME CASS_PASSWORD=CASS_PASSWROD
此命令会自动重启管理服务器。
- 针对以下内容重复第 4 步:
<ph type="x-smartling-placeholder">
- </ph>
- 所有消息处理器
- 所有路由器
- 所有 Qpid 服务器 (edge-qpid-server)
- Postgres 服务器 (edge-postgres-server)
Cassandra 密码现已更改。
重置 PostgreSQL 密码
默认情况下,PostgreSQL 数据库定义了两个用户:“postgres”以及“apigee”。 这两个用户的默认密码均为“postgres”。请按照以下步骤更改默认密码。
更改所有 Postgres 主节点上的密码。如果配置了两个 Postgres 服务器 则只需更改主节点上的密码即可。如需了解详情,请参阅为 Postgres 设置主-从站复制。
- 在 Postgres 主节点上,将目录更改为
/opt/apigee/apigee-postgresql/pgsql/bin
。 - 设置 PostgreSQL“postgres”用户密码:
<ph type="x-smartling-placeholder">
- </ph>
- 使用以下命令登录 PostgreSQL 数据库:
psql -h localhost -d apigee -U postgres
- 出现提示时,输入“postgres”用户密码“postgres”。
- 在 PostgreSQL 命令提示符处,输入以下命令以更改默认值
密码:
ALTER USER postgres WITH PASSWORD 'apigee1234';
- 使用以下命令退出 PostgreSQL 数据库:
\q
- 使用以下命令登录 PostgreSQL 数据库:
- 设置 PostgreSQL“apigee”用户密码:
<ph type="x-smartling-placeholder">
- </ph>
- 使用以下命令登录 PostgreSQL 数据库:
psql -h localhost -d apigee -U apigee
- 出现提示时,输入“apigee”并将用户密码设为“postgres”。
- 在 PostgreSQL 命令提示符处,输入以下命令以更改默认值
密码:
ALTER USER apigee WITH PASSWORD 'NEW_PASSWORD';
- 使用以下命令退出 PostgreSQL 数据库:
\q
- 使用以下命令登录 PostgreSQL 数据库:
- 设置
APIGEE_HOME
:export APIGEE_HOME=/opt/apigee/edge-postgres-server
- 加密新密码:
sh /opt/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh apigee1234
此命令会返回加密密码,如下所示。加密密码开始 在“:”之后字符,且不包含“:”。
Encrypted string:WheaR8U4OeMEM11erxA3Cw==
- 使用新加密的密码更新管理服务器节点,
“postgres”和“apigee”用户。
- 在管理服务器上,将目录更改为
/opt/apigee/customer/application
。 - 修改
management-server.properties
文件以设置以下属性。 如果此文件不存在,请创建它。 - 确保该文件归“apigee”所有用户:
chown apigee:apigee management-server.properties
- 在管理服务器上,将目录更改为
- 使用新的加密密码更新所有 Postgres 服务器和 Qpid 服务器节点。
- 在 Postgres 服务器或 Qpid 服务器节点上,将目录更改为
/opt/apigee/customer/application
。 - 修改以下文件。如果这些文件不存在,请创建它们:
<ph type="x-smartling-placeholder">
- </ph>
postgres-server.properties
qpid-server.properties
- 将以下属性添加到文件中:
- 确保文件归“apigee”用户所有:
chown apigee:apigee postgres-server.properties
chown apigee:apigee qpid-server.properties
- 在 Postgres 服务器或 Qpid 服务器节点上,将目录更改为
- 请依次重启以下组件:
<ph type="x-smartling-placeholder">
- </ph>
- PostgreSQL 数据库:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
- Qpid 服务器:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Postgres 服务器:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- 管理服务器:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- PostgreSQL 数据库: