本页面介绍了如何使用 Identity and Access Management (IAM) API、Google Cloud Console 和 gcloud
命令行工具创建和管理服务帐号。
默认情况下,每个项目最多可以有 100 个控制对资源的访问权限的服务帐号。如有必要,您可以申请增加配额。详细了解配额和限制。
准备工作
- 了解 IAM 服务帐号
- 安装
gcloud
命令行工具
所需权限
要允许用户管理服务帐号,请授予以下角色之一:
- Service Account User (
roles/iam.serviceAccountUser
):包括列出服务帐号、获取服务帐号的详细信息以及模拟服务帐号的权限。 - Service Account Admin (
roles/iam.serviceAccountAdmin
):包括列出服务帐号和获取服务帐号的详细信息的权限。此外,还包括创建、更新和删除服务帐号的权限,以及查看或更改服务帐号的 IAM 政策的权限。
如需详细了解这些角色,请参阅服务帐号角色。
IAM 基本角色也具有管理服务帐号的权限。您不应在生产环境中授予基本角色,但可以在开发或测试环境中授予这些角色。
创建服务帐号
创建服务帐号与为项目添加成员类似,只不过服务帐号为您应用所有,而非属于某个最终用户。
创建服务帐号时,您必须提供字母数字 ID(在下面的示例中为 sa-name
),例如 my-service-account
。ID 必须介于 6 到 30 个字符之间,且可以包含小写字母数字字符和短划线。在服务帐号创建完毕后,无法再更改其名称。
服务帐号的名称是一个唯一标识符;它会显示在创建过程中预配的服务帐号电子邮件地址中,例如 sa-name@project-id.iam.gserviceaccount.com
。
每个服务帐号还有一个自动生成的唯一数字 ID。
您还可以在创建服务帐号时提供如下信息:
sa-description
是可选的服务帐号说明。sa-display-name
是服务帐号的易记名称。project-id
是您的 Google Cloud 项目的 ID。
如需创建服务帐号,用户必须至少被授予 Service Account Admin 角色 (roles/iam.serviceAccountAdmin
) 或 Editor 基本角色 (roles/editor
)。您不应在生产环境中授予基本角色,但可以在开发或测试环境中授予这些角色。
创建服务帐号后,您可能需要等待 60 秒或更长时间才能使用该服务帐号。如果您在创建服务帐号后立即尝试使用该服务帐号,并且收到错误消息,请至少等待 60 秒再重试。
控制台
-
在 Cloud Console 中,转到服务帐号页面。
转到“服务帐号”页面 - 选择一个项目。
- 点击创建服务帐号。
-
输入在 Cloud Console 中显示的服务帐号名称。
Cloud Console 会根据此名称生成服务帐号 ID。如有必要,请修改 ID。此 ID 创建后便无法更改。
- 可选:输入服务帐号的说明。
-
如果您现在不想设置访问权限控制,请点击完成以完成服务帐号的创建过程。
如需立即设置访问权限控制,请点击创建并继续执行下一步。
- 可选:选择要在项目上向服务帐号授予的一个或多个 IAM 角色。
- 完成添加角色后,点击继续。
- 可选:在服务帐号用户角色字段中,添加可以模拟服务帐号的成员。
- 可选:在服务帐号管理员角色字段中,添加可管理服务帐号的成员。
- 点击完成以完成服务帐号的创建过程。
gcloud
-
如需创建服务帐号,请运行
gcloud iam service-accounts create
命令。gcloud iam service-accounts create SERVICE_ACCOUNT_ID \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
替换以下值:
SERVICE_ACCOUNT_ID
:服务帐号的 ID。DESCRIPTION
:可选。输入服务帐号的说明。-
DISPLAY_NAME
:要在 Cloud Console 中显示的服务帐号名称。
-
可选:如需在项目上向您的服务帐号授予 IAM 角色,请运行
gcloud projects add-iam-policy-binding
命令:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
替换以下值:
PROJECT_ID
:项目 ID。SERVICE_ACCOUNT_ID
:服务帐号 ID。-
ROLE_NAME
:角色名称,例如roles/compute.osLogin
。
-
可选:如需允许用户模拟服务帐号,请运行
gcloud iam service-accounts add-iam-policy-binding
命令以向用户授予服务帐号的 Service Account User 角色 (roles/iam.serviceAccountUser
):gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
替换以下值:
PROJECT_ID
:项目 ID。SERVICE_ACCOUNT_ID
:服务帐号 ID。USER_EMAIL
:用户的电子邮件地址。
REST
serviceAccounts.create
方法可创建服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。SA_NAME
:您的服务帐号的字母数字 ID。此名称必须介于 6 到 30 个字符之间,且可以包含小写字母数字字符和短划线。SA_DESCRIPTION
:可选。服务帐号说明。SA_DISPLAY_NAME
:服务帐号的人类可读名称。
HTTP 方法和网址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
请求 JSON 正文:
{ "accountId": "SA_NAME", "serviceAccount": { "description": "SA_DESCRIPTION", "displayName": "SA_DISPLAY_NAME" } }
如需发送您的请求,请展开以下选项之一:
您应该会收到类似以下内容的 JSON 响应:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.iam.gserviceaccount.com", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" }
C#
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 IAM C# API 参考文档。
Go
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 IAM Go API 参考文档。
Java
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 IAM Java API 参考文档。
Python
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 IAM Python API 参考文档。
在创建服务帐号后,为服务帐号授予一个或多个角色,以使其代表您执行操作。
此外,如果服务帐号需要访问其他项目中的资源,则您通常必须在创建服务帐号的项目中为这些资源启用 API。
列出服务帐号
列出服务帐号时,您可以指定参数来限制要包含在响应中的服务帐号数量。然后,您可以在后续请求中使用 ListServiceAccountsResponse.next_page_token
来列出其余的服务帐号。
使用此方法可审核服务帐号和密钥,或者构建用于管理服务帐号的自定义工具。
要列出服务帐号,必须至少为用户授予 Service Account User 角色 (roles/iam.serviceAccountUser
) 或 Viewer 基本角色 (roles/viewer
)。
控制台
在 Cloud Console 中,转到服务帐号页面。
选择一个项目。
服务帐号页面列出了您所选项目中所有用户管理的服务帐号。 该页面未列出 Google 管理的服务帐号。
gcloud
执行 gcloud iam service-accounts list
命令可列出项目中的所有服务帐号。
命令:
gcloud iam service-accounts list
输出列出了项目中的所有服务帐号:
NAME EMAIL sa-display-name-1 sa-name-1@project-id.iam.gserviceaccount.com sa-display-name-2 sa-name-2@project-id.iam.gserviceaccount.com
REST
serviceAccounts.list
方法可列出项目中的每个服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。
HTTP 方法和网址:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
如需发送您的请求,请展开以下选项之一:
您应该会收到类似以下内容的 JSON 响应:
{ "accounts": [ { "name": "projects/my-project/serviceAccounts/sa-1@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "sa-1@my-project.iam.gserviceaccount.com", "description": "My first service account", "displayName": "Service account 1", "etag": "BwUpTsLVUkQ=", "oauth2ClientId": "987654321098765432109" }, { "name": "projects/my-project/serviceAccounts/sa-2@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "234567890123456789012", "email": "sa-2@my-project.iam.gserviceaccount.com", "description": "My second service account", "displayName": "Service account 2", "etag": "UkQpTwBVUsL=", "oauth2ClientId": "876543210987654321098" } ] }
C#
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 IAM C# API 参考文档。
Go
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 IAM Go API 参考文档。
Java
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 IAM Java API 参考文档。
Python
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 IAM Python API 参考文档。
更新服务帐号
通常可通过服务帐号的显示名(易记名称)和说明获知有关该服务帐号的额外信息,例如服务帐号的用途或该帐号的联系人。
要更新服务帐号的名称或说明,必须至少为用户授予 Service Account Admin 角色 (roles/iam.serviceAccountAdmin
) 或 Editor 基本角色 (roles/editor
)。
控制台
在 Cloud Console 中,转到服务帐号页面。
选择一个项目。
点击要重命名的服务帐号的电子邮件地址。
在名称框中输入新名称,然后点击保存。
gcloud
执行 gcloud iam service-accounts update
命令可更新服务帐号。
命令:
gcloud iam service-accounts update \ sa-name@project-id.iam.gserviceaccount.com \ --description="updated-sa-description" \ --display-name="updated-display-name"
输出是重命名后的服务帐号:
description: updated-sa-description displayName: updated-display-name name: projects/project-id/serviceAccounts/sa-name@project-id.iam.gserviceaccount.com
REST
serviceAccounts.patch
方法可更新服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。SA_ID
:您的服务帐号的 ID。此 ID 可以是服务帐号的电子邮件地址(格式为SA_NAME@PROJECT_ID.iam.gserviceaccount.com
)或服务帐号的唯一数字 ID。SA_NAME
:您的服务帐号的字母数字 ID。此名称必须介于 6 到 30 个字符之间,且可以包含小写字母数字字符和短划线。- 请至少替换以下其中一项:
UPDATED_DISPLAY_NAME
:您的服务帐号的新显示名。UPDATED_DESCRIPTION
:您的服务帐号的新说明。
HTTP 方法和网址:
PATCH https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
请求 JSON 正文:
{ "serviceAccount": { "email": "SA_NAME@PROJECT_ID.iam.gserviceaccount.com", "displayName": "UPDATED_DISPLAY_NAME", "description": "UPDATED_DESCRIPTION" }, "updateMask": "displayName,description" }
如需发送您的请求,请展开以下选项之一:
您应该会收到类似以下内容的 JSON 响应:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com", "displayName": "My updated service account", "description": "An updated description of my service account" }
C#
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 IAM C# API 参考文档。
Go
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 IAM Go API 参考文档。
Java
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 IAM Java API 参考文档。
Python
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 IAM Python API 参考文档。
停用服务帐号
与删除服务帐号类似,当您停用服务帐号后,应用将无法再通过该服务帐号来访问 Google Cloud 资源。如果停用默认 App Engine 和 Compute Engine 服务帐号,实例将无法再访问项目中的资源。如果您尝试停用已停用的服务帐号,则操作无效。
与删除服务帐号不同的是,您可根据需要轻松重新启用已停用的服务帐号。我们建议在删除服务帐号之前,先执行停用,以防有关键应用正在使用该服务帐号。
要停用服务帐号,必须至少为用户授予 Service Account Admin 角色 (roles/iam.serviceAccountAdmin
) 或 Editor 基本角色 (roles/editor
)。
控制台
在 Cloud Console 中,转到服务帐号页面。
选择一个项目。
点击要停用的服务帐号的名称。
在服务帐号状态下,点击停用服务帐号,然后点击停用确认更改。
gcloud
执行 gcloud iam service-accounts disable
命令可停用服务帐号。
命令:
gcloud iam service-accounts disable sa-name@project-id.iam.gserviceaccount.com
输出:
Disabled service account sa-name@project-id.iam.gserviceaccount.com
REST
serviceAccounts.disable
方法可立即停用服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。SA_ID
:您的服务帐号的 ID。此 ID 可以是服务帐号的电子邮件地址(格式为SA_NAME@PROJECT_ID.iam.gserviceaccount.com
)或服务帐号的唯一数字 ID。
HTTP 方法和网址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:disable
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文将为空。
C#
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 IAM C# API 参考文档。
Go
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 IAM Go API 参考文档。
Java
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 IAM Java API 参考文档。
Python
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 IAM Python API 参考文档。
启用服务帐号
启用已停用的服务帐号后,应用便能够重新通过该服务帐号访问 Google Cloud 资源。
您可以根据需要随时启用已停用的服务帐号。如果您尝试启用已启用的服务帐号,则操作无效。
要启用服务帐号,必须至少为用户授予 Service Account Admin 角色 (roles/iam.serviceAccountAdmin
) 或 Editor 基本角色 (roles/editor
)。
控制台
在 Cloud Console 中,转到服务帐号页面。
选择一个项目。
点击要启用的服务帐号的名称。
在服务帐号状态下,点击启用服务帐号,然后点击启用确认更改。
gcloud
执行 gcloud iam service-accounts enable
命令可启用服务帐号。
命令:
gcloud iam service-accounts enable sa-name@project-id.iam.gserviceaccount.com
输出:
Enabled service account sa-name@project-id.iam.gserviceaccount.com
REST
serviceAccounts.enable
方法可启用先前停用的服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。SA_ID
:您的服务帐号的 ID。此 ID 可以是服务帐号的电子邮件地址(格式为SA_NAME@PROJECT_ID.iam.gserviceaccount.com
)或服务帐号的唯一数字 ID。
HTTP 方法和网址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:enable
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文将为空。
C#
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 IAM C# API 参考文档。
Go
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 IAM Go API 参考文档。
Java
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 IAM Java API 参考文档。
Python
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 IAM Python API 参考文档。
删除服务帐号
您删除服务帐号后,应用将无法再通过该服务帐号访问 Google Cloud 资源。如果删除默认的 App Engine 和 Compute Engine 服务帐号,实例将无法再访问项目中的资源。
请谨慎执行删除;在删除之前,请确保您的关键应用不再使用该服务帐号。如果您不确定某个服务帐号是否仍在使用,我们建议先停用该服务帐号,然后再执行删除。如果已停用的服务帐号仍在使用,可以轻松将其重新启用。
删除服务帐号时,其角色绑定不会立即移除;它们将在 60 天内自动从系统中清除。
已删除的服务帐号不计入您的服务帐号配额。
要删除服务帐号,必须至少为用户授予 Service Account Admin 角色 (roles/iam.serviceAccountAdmin
) 或 Editor 基本角色 (roles/editor
)。
控制台
在 Cloud Console 中,转到服务帐号页面。
选择一个项目。
选择要删除的服务帐号,然后点击删除
。
gcloud
执行 gcloud iam service-accounts delete
命令可删除服务帐号。
命令:
gcloud iam service-accounts delete \ sa-name@project-id.iam.gserviceaccount.com
输出:
Deleted service account sa-name@project-id.iam.gserviceaccount.com
REST
serviceAccounts.delete
方法可删除服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。SA_ID
:您的服务帐号的 ID。此 ID 可以是服务帐号的电子邮件地址(格式为SA_NAME@PROJECT_ID.iam.gserviceaccount.com
)或服务帐号的唯一数字 ID。
HTTP 方法和网址:
DELETE https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文将为空。
C#
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 IAM C# API 参考文档。
Go
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 IAM Go API 参考文档。
Java
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 IAM Java API 参考文档。
Python
在试用此示例之前,请按照《IAM 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 IAM Python API 参考文档。
恢复删除的服务帐号
在某些情况下,您可以使用 undelete
命令恢复已删除的服务帐号。如果已删除的服务帐号满足以下条件,则通常可以恢复该服务帐号:
服务帐号删除的时间不超过 30 天。
30 天后,IAM 会永久移除该服务帐号。服务帐号被永久移除后,即使您提交支持请求,Google Cloud 也无法将其恢复。
现有服务帐号与已删除的服务帐号的名称不同。
例如,假设您意外删除了服务帐号
my-service-account@project-id.iam.gserviceaccount.com
。您仍需要具有此名称的服务帐号,因此您创建了一个具有相同名称的新服务帐号my-service-account@project-id.iam.gserviceaccount.com
。新服务帐号不会继承已删除的服务帐号的权限。实际上,它与已删除的服务帐号完全没有关系。但是,您无法恢复删除的原始服务帐号,因为新服务帐号使用了与它相同的名称。
要解决此问题,请删除新服务帐号,然后尝试恢复删除的原始服务帐号。
如果您无法恢复已删除的服务帐号,可以创建一个具有相同名称的新服务帐号;撤消已删除的服务帐号中的所有角色;然后向新服务帐号授予相同的角色。如需了解详情,请参阅包含已删除成员的政策。
查找服务帐号的数字 ID
当您恢复删除的服务帐号时,必须提供其数字 ID。数字 ID 是唯一标识服务帐号的 21 位数字,例如 123456789012345678901
。例如,如果您删除某一服务帐号,然后创建一个具有相同名称的新服务帐号,原始服务帐号和新服务帐号将具有不同的数字 ID。
如果您知道某项 IAM 政策中的绑定包含已删除的服务帐号,则可以获取该政策,然后在其中找到相应的数字 ID。数字 ID 附加在已删除的服务帐号的名称的后面。例如,在以下政策中,已删除的服务帐号的数字 ID 为 123456789012345678901
:
{ "version": 1, "etag": "BwUjMhCsNvY=", "bindings": [ { "members": [ "deleted:serviceAccount:my-service-account@project-id.iam.gserviceaccount.com?uid=123456789012345678901" ], "role": "roles/iam.serviceAccountUser" }, ] }
或者,您可以在审核日志中搜索删除了服务帐号的 DeleteServiceAccount
操作:
在 Cloud Console 中,转到日志查看器页面。
在页面顶部附近的搜索框中,点击
展开箭头,然后选择转换为高级过滤条件。在搜索框中,输入以下查询,将
service-account-email
替换为您的服务帐号的电子邮件地址(例如my-service-account@project-id.iam.gserviceaccount.com
):resource.type="service_account" resource.labels.email_id="service-account-email" "DeleteServiceAccount"
如果服务帐号已被删除超过 1 小时,请选择
过去 1 小时下拉列表,然后选择一段较长的时间。如果服务帐号已被删除超过 7 天,请选择无限制。
点击提交过滤条件。日志查看器会显示具有您指定的名称的影响服务帐号的
DeleteServiceAccount
操作。每个服务帐号的数字 ID 会显示在文本DeleteServiceAccount
的旁边。如果搜索结果仅包含一项
DeleteServiceAccount
操作,请记下数字 ID。您将使用该数字 ID 恢复删除的服务帐号。如果具有多个搜索结果,请点击相应搜索结果旁边的
展开箭头。查看日志条目的详细信息,并确定日志条目是否显示您要撤消的操作。重复此过程,直至找到正确的日志条目,然后记下该条目中的数字 ID。
按数字 ID 恢复删除的服务帐号
找到已删除的服务帐号的数字 ID 后,您可以尝试恢复删除的服务帐号。
gcloud
执行 gcloud beta iam service-accounts undelete
命令可恢复删除的服务帐号。
命令:
gcloud beta iam service-accounts undelete account-id
输出:
restoredAccount: email: sa-name@project-id.iam.gserviceaccount.com etag: BwWWE7zpApg= name: projects/project-id/serviceAccounts/sa-name@project-id.iam.gserviceaccount.com oauth2ClientId: '123456789012345678901' projectId: project-id uniqueId: 'account-id'
REST
serviceAccounts.undelete
方法可恢复已删除的服务帐号。
在使用下面的请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如my-project
。SA_NUMERIC_ID
:服务帐号的唯一数字 ID。
HTTP 方法和网址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NUMERIC_ID:undelete
如需发送您的请求,请展开以下选项之一:
如果可以恢复删除的帐号,您会收到一个 200 OK
响应代码,其中包含已恢复服务帐号的详细信息,如下所示:
{ "restoredAccount": { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.iam.gserviceaccount.com", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" } }
后续步骤
- 了解如何创建和管理服务帐号密钥。
- 查看将 IAM 角色授予所有类型的成员(包括服务帐号)的流程。
- 了解如何使用 IAM Recommender 缩小所有成员(包括服务帐号)的权限范围。
- 了解如何使成员能够模拟服务帐号。