本页面介绍了如何使用 Google Cloud 控制台、Google Cloud CLI、Identity and Access Management API 或某个 Google Cloud 客户端库来停用和启用服务账号密钥。
准备工作
Enable the IAM API.
设置身份验证。
Select the tab for how you plan to use the samples on this page:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Java
如需在本地开发环境中使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
如需了解详情,请参阅 Google Cloud 身份验证文档中的为本地开发环境设置身份验证。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
了解服务账号凭据。
所需的角色
如需获得停用和启用服务账号密钥所需的权限,请让管理员向您授予项目或者您要管理其密钥的服务账号的 Service Account Key Admin (
roles/iam.serviceAccountKeyAdmin
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。如需了解详情,请参阅服务账号角色。
IAM 基本角色还包含管理服务账号密钥的权限。您不应在生产环境中授予基本角色,但可以在开发或测试环境中授予这些角色。
停用服务账号密钥
停用服务账号密钥会导致您无法使用该密钥向 Google API 进行身份验证。您可以随时启用已停用的密钥。
在删除服务账号密钥之前,我们建议您先停用密钥,等到您确定不再需要该密钥时,即可将其删除。
您可以在 Google Cloud 控制台中查看已停用的密钥,但无法使用 Google Cloud 控制台停用密钥。请改用 gcloud CLI 或 REST API。
gcloud
执行
gcloud iam service-accounts keys disable
命令可停用服务账号密钥。替换以下值:
KEY_ID
:要停用的密钥的 ID。 如需查找密钥的 ID,请列出服务账号的所有密钥,找到要停用的密钥,然后复制其 ID。SA_NAME
:密钥所属服务账号的名称。PROJECT_ID
:您的 Google Cloud 项目 ID。
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID
输出如下:
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Java
如需了解如何安装和使用 IAM 客户端库,请参阅 IAM 客户端库。如需了解详情,请参阅 IAM Java API 参考文档。
如需向 IAM 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅准备工作。
REST
projects.serviceAccounts.keys.disable
方法可停用服务账号密钥。在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如my-project
。SA_NAME
:您要停用其密钥的服务账号的名称。KEY_ID
:您要停用的密钥的 ID。 如需查找密钥的 ID,请列出服务账号的所有密钥,找到要停用的密钥,然后从name
字段的末尾复制其 ID。密钥的 ID 是keys/
之后的所有内容。
HTTP 方法和网址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:disable
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ }
启用服务账号密钥
停用服务账号密钥后,您可以随时启用该密钥,然后使用该密钥向 Google API 进行身份验证。
您不能使用 Google Cloud 控制台来启用服务账号密钥。请改用 gcloud CLI 或 REST API。
gcloud
执行
gcloud iam service-accounts keys enable
命令可启用服务账号密钥。替换以下值:
KEY_ID
:要启用的密钥的 ID。 如需查找密钥的 ID,请列出服务账号的所有密钥,找到要启用的密钥,然后复制其 ID。SA_NAME
:密钥所属服务账号的名称。PROJECT_ID
:您的 Google Cloud 项目 ID。
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com\ --project=PROJECT_ID
输出如下:
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Java
如需了解如何安装和使用 IAM 客户端库,请参阅 IAM 客户端库。如需了解详情,请参阅 IAM Java API 参考文档。
如需向 IAM 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅准备工作。
REST
projects.serviceAccounts.keys.enable
方法可启用服务账号密钥。在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如my-project
。SA_NAME
:您要启用其密钥的服务账号的名称。-
KEY_ID
:您要启用的密钥的 ID。 如需查找密钥的 ID,请列出服务账号的所有密钥,找到要启用的密钥,然后从name
字段的末尾复制其 ID。密钥的 ID 是keys/
之后的所有内容。
HTTP 方法和网址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:enable
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ }
后续步骤
- 了解如何删除服务账号密钥。
- 了解如何列出和获取服务账号密钥。
- 了解如何使用服务账号密钥进行服务账号身份验证。
- 了解使用服务账号密钥进行身份验证的替代方案。
- 了解管理服务账号密钥的最佳实践。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-04。