8.4. 替换应用程序凭证
应用凭据将绑定到创建它们的用户帐户,并在用户帐户被删除时无效,或者用户丢失对委派的角色的访问权限。因此,您应该准备根据需要生成新应用程序凭证。
替换配置文件的现有应用程序凭证
更新分配给应用程序的应用程序凭证(使用配置文件):
- 创建一组新的应用凭据。
- 将新凭据添加到应用配置文件中,替换现有的凭据。如需更多信息,请参阅将应用程序凭证与应用程序集成。
- 重启应用程序服务以应用更改。
- 删除旧应用程序凭证(如果适用)。有关命令行选项的更多信息,请参阅管理应用程序凭证。
替换 clouds.yaml 中的现有应用程序凭证
替换 clouds.yaml
使用的应用程序凭证时,您必须使用 OpenStack 用户凭证创建替换凭证。默认情况下,您无法使用应用程序凭证来创建另一组应用程序凭证。openstack application credential create
命令基于当前源的帐户创建一个应用程序凭证。
-
以 OpenStack 用户身份进行身份验证,后者最初创建即将过期的身份验证凭据。例如,如果您使用应用程序凭证 生成令牌的步骤, 则必须再次以
AppCredsUser
身份登录。 创建名为
AppCred2
的应用凭据。这可以通过 OpenStack Dashboard 或openstack
CLI 界面完成:openstack application credential create --description "App Creds 2 - Member" --role member AppCred2
-
复制上一命令输出中的
id
和secret
参数。secret
参数值无法再次访问。 -
将
${HOME}/.config/openstack/clouds.yaml
文件中的application_credential_id
和application_credential_secret
参数值替换为您复制的secret
和id
值。
验证
使用 clouds.yaml 生成令牌,以确认凭证按预期工作。使用以下命令时,不得作为任何特定用户提供,且必须与
clouds.yaml
文件位于同一个目录中:[stack@undercloud-0 openstack]$ openstack --os-cloud=openstack token issue
输出示例:
+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | expires | 2018-08-29T05:37:29+0000 | | id | gAAAAABbhiMJ4TxxFlTMdsYJpfStsGotPrns0lnpvJq9ILtdi-NKqisWBeNiJlUXwmnoGQDh2CMyK9OeTsuEXnJNmFfKjxiHWmcQVYzAhMKo6_QMUtu_Qm6mtpzYYHBrUGboa_Ay0LBuFDtsjtgtvJ-r8G3TsJMowbKF-yo--O_XLhERU_QQVl3hl8zmMRdmLh_P9Cbhuolt | | project_id | 1a74eabbf05c41baadd716179bb9e1da | | user_id | ef679eeddfd14f8b86becfd7e1dc84f2 | +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+