Edge for Private Cloud v. 4.16.05
安装完成后,您可以重置 OpenLDAP、Apigee Edge 系统管理员、Edge 组织用户和 Cassandra 密码。
重置 OpenLDAP 密码
根据您的 Edge 配置,OpenLDAP 可安装为:
- 安装在管理服务器节点上的单个 OpenLDAP 实例。例如,在 2 节点、5 节点或 9 节点 Edge 配置中。
- Management Server 节点上安装了多个 OpenLDAP 实例,并配置了 OpenLDAP 复制功能。例如,在 12 个节点的 Edge 配置中。
- 在自己的节点上安装了多个 OpenLDAP 实例,并配置了 OpenLDAP 复制功能。例如,在 13 个节点的 Edge 配置中。
重置 OpenLDAP 密码的方式取决于您的配置。
对于安装在管理服务器上的单个 OpenLDAP 实例,请执行以下操作:
- 在管理服务器节点上,运行以下命令以创建新的 OpenLDAP 密码:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o oldPword -n newPword - 运行以下命令以存储新密码,以供管理服务器访问:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-management-server store_ldap_credentials -p newPword
此命令会重启管理服务器。
在在 Management Server 节点上安装了 OpenLDAP 的 OpenLDAP 复制设置中,在两个 Management Server 节点上按照上述步骤更新密码。
在将 OpenLDAP 置于管理服务器以外的节点上的 OpenLDAP 复制设置中,请确保先在两个 OpenLDAP 节点上更改密码,然后再在两个管理服务器节点上更改密码。
重置系统管理员密码
如需重置系统管理员密码,您需要在以下两个位置重置密码:
- 管理服务器
- 界面
警告:您应该在重置系统管理员密码之前停止 Edge 界面。由于您先在管理服务器上重置密码,因此在很短的一段时间内,界面可能仍在使用旧密码。如果界面使用旧密码进行三次以上调用,则 OpenLDAP 服务器会锁定系统管理员帐号三分钟。
要重置系统管理员密码,请执行以下操作:
- 在界面节点上,停止 Edge 界面:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-ui stop - 在管理服务器上,运行以下命令以重置密码:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-management-server change_sysadmin_password -o currentPW -n newPW - 修改用于安装 Edge 界面的静默配置文件以设置以下属性:
APIGEE_ADMINPW=newPW
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=foo@gmail.com
SMTPPASSWORD=bar
SMTPSSL=y
请注意,在传递新密码时,所有 SMTP 属性均会重置。 - 使用 apigee-setup 实用程序,从配置文件中重置 Edge 界面中的密码:
> /<inst_root>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile - 在界面节点上启动 Edge 界面:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-ui start
在具有多个管理服务器的 OpenLDAP 复制环境中,重置一个管理服务器上的密码会自动更新另一个管理服务器。但是,您必须单独更新所有 Edge 界面节点。
重置组织用户密码
如需为组织用户重置密码,请使用 apigee-servce 实用程序调用 apigee-setup:
/<inst_root>/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]
例如:
> /<inst_root>/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= adminPword
您还可以使用 Update user API 更改用户密码。
系统管理员和组织用户密码规则
使用此部分为您的 API 管理用户强制设置所需密码长度和强度。这些设置使用一系列预配置(且编号唯一)的正则表达式来检查密码内容(例如大写、小写、数字和特殊字符)。将这些设置写入 /<inst_root>/apigee/customer/application/management-server.properties 文件。如果该文件不存在,请创建一个。
修改 management-server.properties 后,重启管理服务器:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart
然后,您可以通过对不同的正则表达式组合进行分组来设置密码强度评分。例如,您可以确定至少包含一个大写字母和一个小写字母的密码强度评分为“3”,但至少包含一个小写字母和一个数字的密码强度评分为“4”。
媒体资源 |
说明 |
---|---|
conf_security_password.validation.minimum。 conf_security_password.validation.default.rating=2 conf_security_password.validation.minimum。 |
使用这些值可以确定有效密码的整体特征。默认密码强度的最低评分(如下文表格所示)为 3。 请注意,password.validation.default.rating=2 低于所需的最低评分,这意味着如果输入的密码不符合您配置的规则,则该密码的评级为 2,因此无效(低于最低评分 3)。 |
以下是用于标识密码特征的正则表达式。请注意,每个参数都有编号。例如,“password.validation.regex.5=...”是表达式 5。您将在该文件的后面部分中使用这些数字来设置确定总体密码强度的不同组合。 |
|
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 - 超过一位数字 |
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 |
每条规则都有编号。例如,“password.validation.rule.3=...”即为规则 3。 每条规则均使用以下格式(等号右侧): <regex-index-list>、<AND|OR>、<rating> regex-index-list 是正则表达式(按上一部分中的数字)以及 AND|OR 运算符(即考虑列出的所有或任何表达式)的列表。 rating 是为每条规则指定的强度评分数字。 例如,规则 5 表示任何密码至少包含一个特殊字符或一个下划线,其强度评分均为 4。使用 password.validation.minimum. |
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 服务器和 BaaS 堆栈
如需了解详情,请参阅 http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html。
如需重置 Cassandra 密码,请执行以下操作:
- 使用 cqlsh 工具和默认凭据登录任何一个 Cassandra 节点。您只需在一个 Cassandra 节点上更改密码,该密码就会广播到环中的所有 Cassandra 节点:
> /<inst_root>/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra:
- cassIP 是 Cassandra 节点的 IP 地址。
- 9042 是 Cassandra 端口。
- 默认用户为 cassandra。
- 默认密码为 cassandra。如果您之前更改了密码,请使用当前密码。
- 在 cqlsh> 提示符处运行以下命令以更新密码:
cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
如果新密码包含一个英文单引号字符,请在该字符前面添加一个单引号字符以对其进行转义。 - 退出 cqlsh 工具:
cqlsh> exit - 在“管理服务器”节点上,运行以下命令:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD
可将包含新用户名和密码的命令(可选)传递<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-management-server - 对以下项目重复第 4 步:
- 所有消息处理器
- 所有路由器
- 所有 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:ae1b6dedbf6b26aaab8bee815c1c1 - 在 /opt/apigee/customer/application/usergrid.properties 设置以下令牌。如果该文件不存在,请创建:
usergrid-deployment_cassandra.username=cassandra
usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3504c23
Caaab8bee815a910737c1c15b55f3504c23f3504c23
如果您更改了用户名,请相应地设置 usergrid-deployment_cassandra.username 的值。
确保在密码中包含“SECURE:”前缀。 否则,BaaS 堆栈会将值解读为未加密。
注意:每个 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 堆栈点头重复上述步骤。
- 运行以下命令以生成加密密码:
Cassandra 密码现已更改。
重置 PostgreSQL 密码
默认情况下,PostgreSQL 数据库定义了两个用户:“postgres”和“apigee”。两位用户的默认密码均为“postgres”。请按照以下步骤更改默认密码。
在所有 Postgres 主节点上更改密码。如果您在主/备用模式下配置了两台 Postgres 服务器,则只需在主节点上更改密码。如需了解详情,请参阅为 Postgres 设置主备用复制。
- 在 Postgres 主节点上,将目录更改为 /<inst_root>/apigee/apigee-postgresql/pgsql/bin,其中 /<inst_root> 默认为 /opt。
- 设置 PostgreSQL“postgres”用户密码:
- 使用以下命令登录 PostgreSQL 数据库:
> psql -h localhost -d apigee -U postgres - 出现提示时,输入“postgres”用户密码作为“postgres”。
- 在 PostgreSQL 命令提示符处,输入以下命令以更改默认密码:
apigee=> ALTER USER postgres WITH PASSWORD 'apigee1234'; - 使用以下命令退出 PostgreSQL 数据库:
apigee=> \q
- 使用以下命令登录 PostgreSQL 数据库:
- 设置 PostgreSQL 的“apigee”用户密码:
- 使用以下命令登录 PostgreSQL 数据库:
> psql -h localhost -d apigee -U apigee - 出现提示时,以“postgres”格式输入“apigee”用户密码。
- 在 PostgreSQL 命令提示符处,输入以下命令以更改默认密码:
apigee=> ALTER USER apigee WITH PASSWORD 'apigee1234'; - 使用以下命令退出 PostgreSQL 数据库:
apigee=> \q
- 使用以下命令登录 PostgreSQL 数据库:
- 设置 APIGEE_HOME:
> export APIGEE_HOME=/<inst_root>/apigee/edge-postgres-server - 加密新密码:
> sh /<inst_root>/apigee/edge-postgres-server/utils/scripts/policies/passwordgen.sh apigee1234
此命令会返回加密的密码,如下所示。加密密码在“:”字符之后开始,并且不包含“:”。
加密字符串 :WheaR8U4OeMEM11erxA3Cw== - 使用针对“postgres”和“apigee”用户的新加密密码更新管理服务器节点。
- 在管理服务器上,将目录更改为 /<inst_root>/apigee/customer/application。
- 修改 management-server.properties 文件以设置以下属性。如果此文件不存在,请创建:
注意:有些媒体资源采用加密的“postgres”用户密码,有些媒体资源采用加密的“apigee”用户密码。- conf_pg-agent_password=newEncryptedPasswordForPostgresUser
- conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
- conf_query-service_pgDefaultPwd=newEncryptedPasswordForApigeeUser
- conf_query-service_dwDefaultPwd=newEncryptedPasswordForApigeeUser
- conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
- 请确保文件归“apigee”用户所有:
> chown apigee:apigee management-server.properties
- 使用新的加密密码更新所有 Postgres Server 和 Qpid Server 节点。
- 在 Postgres Server 或 Qpid Server 节点上,将目录更改为 /<inst_root>/apigee/customer/application。
- 修改以下文件。如果这些文件不存在,请按以下步骤创建:
- postgres-server.properties
- qpid-server.properties
- 在文件中添加以下属性:
注意:所有这些属性都采用经过加密的“postgres”用户密码。- conf_pg-agent_password=newEncryptedPasswordForPostgresUser
- conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
- conf_query-service_pgDefaultPwd=newEncryptedPasswordForPostgresUser
- conf_query-service_dwDefaultPwd=newEncryptedPasswordForPostgresUser
- conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
- 请确保文件归“apigee”用户所有:
> chown apigee:apigee postgres-server.properties
> chown apigee:apigee qpid-server.properties
- 按以下顺序重启以下组件:
- PostgreSQL 数据库:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql 重启 - Qpid 服务器:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-qpid-server restart - Postgres 服务器:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-postgres-server 重启 - 管理服务器:
> /<inst_root>/apigee/apigee-service/bin/apigee-serviceedge-management-server 重启
- PostgreSQL 数据库: