10.4. 替换应用程序凭证
应用凭据绑定到创建它们的用户帐户,如果用户帐户被删除,或者用户无法访问委派的角色,就会变得无效。因此,您应该准备生成新应用凭证。
为配置文件替换现有应用程序凭证
更新分配给应用程序的应用程序凭证(使用配置文件):
- 创建一组新的应用凭据。
- 将新凭据添加到应用配置文件中,替换现有的凭据。如需更多信息,请参阅将应用程序凭证与应用程序集成。
- 重启应用程序服务以应用更改。
- 删除旧的应用凭据(如果适用)。有关命令行选项的更多信息,请参阅管理应用程序凭证。
替换 clouds.yaml 中的现有应用程序凭证
当替换 clouds.yaml 使用的应用程序凭证时,您必须使用 OpenStack 用户凭证创建替换凭证。默认情况下,您无法使用应用程序凭据来创建另一组应用凭据。openstack application credential create 命令根据当前源的帐户创建应用程序凭证。
-
以最初创建即将到期的身份验证凭据的 OpenStack 用户进行身份验证。例如,如果您使用 使用应用凭证生成令牌 的流程,则必须作为
AppCredsUser重新登录。 创建名为
AppCred2的应用凭据。这可以通过 OpenStack Dashboard 或openstackCLI 界面完成: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文件位于同一个目录中:$ 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 | +------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+