[英]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.