[英]HTTP requests from compute engine to app-engine standard with compute engine default service account
[英]Deleted Compute Engine default service account
要恢复您的谷歌计算默认服务帐户,请在您的项目中运行以下gcloud命令:
gcloud services enable compute
在以前的版本中,该命令为:
gcloud service-management enable compute.googleapis.com
有两个默认服务帐户,我不确定您要指的是哪个:
933144605699@cloudservices.gserviceaccount.com
。 这是一个特殊服务帐户。 它总是创建的,但从未在gcloud或Web控制台中列出。 它旨在由Google的某些内部内部流程代表用户使用。 GKE可能是使用此帐户的服务之一(我不确定)。 无法删除此帐户,您唯一可以做的就是将其从项目上的任何角色中删除。 默认情况下是Editor
。 您可以随时添加回去。 933144605699-compute@developer.gserviceaccount.com
。 这是一个普通服务帐户,您可以删除该帐户。 在您粘贴的错误消息中,有一个不同的服务帐户名称,这是您创建的新帐户吗? 在这种情况下,您可能只需要在Web控制台上转到IAM设置并将用户添加到服务帐户参与者。 看看此手册页: https : //cloud.google.com/compute/docs/access/iam#the_serviceaccountactor_role
现在,您可以通过执行以下卷曲请求来“取消删除”服务帐户:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-length: 0" "https://iam.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_ID:undelete"
SERVICE_ACCOUNT_ID是您要恢复的帐户的ID
您可以通过运行以下命令获得服务帐户列表:
gcloud logging read "resource.type=service_account" --freshness=10y
参考: https : //cloud.google.com/iam/docs/creating-managing-service-accounts#undeleting_a_service_account
resource.type = "service_account"
protoPayload.authorizationInfo.permission = "iam.serviceAccounts.delete"
==> unique_id值为SERVICE_ACCOUNT_ID
curl -X POST -H "Authorization: Bearer $ (gcloud auth print-access-token)" -H "Content-length: 0" https://iam.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_ID : undelete "
您可以取消删除服务帐户。 您将需要服务帐号的唯一 ID。 如果您没有,可以在 Google Cloud Logging 上找到它。
您可以在侧边菜单中找到Logging
服务:
然后,您将需要按日期过滤并键入service account
以查找服务被删除的确切时间。
然后你可以
您可以通过在您的计算机上安装命令行来运行它 ( https://cloud.google.com/sdk/docs/install )。 或者您可以使用 Google Cloud Platform 提供的Active Shell
在线运行它。
您要运行的命令如下。
gcloud beta iam service-accounts undelete 12345678901234567890
使用curl
,使用以下命令调用 API。
您需要将API_KEY
、 PROJECT_ID
和SERVICE_ACCOUNT_UID
更改为实际值。
curl -X POST \
-H "Authorization: Bearer API_KEY \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_UID:undelete"
您可以从 Google Cloud 命令行获取 API_KEY:
gcloud auth application-default print-access-token
同样,您可以在本地计算机上安装gcloud
,也可以通过Active Shell
在线使用它。
自 2022 年 2 月起,使用
gcloud beta iam service-accounts undelete <ACCOUNT ID>
ACCOUNT ID
是 21 位unique id (uid)
,它是已删除服务帐户的最后一部分。
例如,
deleted:serviceAccount:abc-project@kubeflow-ml.iam.gserviceaccount.com?uid=123451234512345123451
uid
是上述服务帐户的最后一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.