【问题标题】:Enabling GCP cloudresourcemanager gcloud config joe.bloggs@googlemail.com account does not match GCP project owner role joe.bloggs@gmail.com启用 GCP cloudresourcemanager gcloud config joe.bloggs@googlemail.com 帐户与 GCP 项目所有者角色 joe.bloggs@gmail.com 不匹配
【发布时间】:2020-05-06 13:11:02
【问题描述】:

尝试运行:

gcloud services enable cloudresourcemanager.googleapis.com —project=$GOOGLE_CLOUD_PROJECT

我收到授权错误:

Enabling the Cloud Resource Manager API for project xxxxxxxxx... ERROR: (gcloud.services.enable) User [joe.bloggs@googlemail.com] does not have permission to access project [xxxxxxxxx] (or it may not exist): Service '—project=xxxxxxxxx' not found or permission denied.

当我检查 GCP 政策疑难解答时,它显示我在项目 xxxxxxxxx 中拥有所有者角色。但是,您可以在 GCP 控制台中看到我的电子邮件地址为 joe.bloggs@gmail.com,但在我的 gcloud 配置中看到的是 joe.bloggs@googlemail.com。我尝试在 gcloud 配置中将其更改为 gmail.com,在项目所有者角色中将其更改为 googlemail.com,但似乎无法更改。

【问题讨论】:

    标签: google-cloud-platform gcloud google-cloud-iam


    【解决方案1】:

    首先从您的终端设置基本身份验证:

    gcloud auth application-default login
    

    然后像下面这样设置项目:

    gcloud config set project <put your project id>      
    

    然后使用所有者设置创建一个服务帐户

    gcloud iam service-accounts create sa-name \
    --description="sa-description" \
    --display-name="sa-display-name"
    

    这里的sa-description 是服务帐户的可选描述。 sa-display-name 是服务帐户的友好名称。 project-id 是您的 Google Cloud 项目的 ID。

    然后添加所有者策略:

    gcloud projects add-iam-policy-binding my-project-123 \
    --member serviceAccount:sa-name@project-id.iam.gserviceaccount.com \
    --role roles/owner
    

    然后创建服务帐号密钥:

    gcloud iam service-accounts keys create ~/key.json \
     --iam-account sa-name@project-id.iam.gserviceaccount.com
    

    然后使用这个键:

    export GCLOUD_APPLICATION_CREDENTIALS="~/key.json"
    gcloud auth activate-service-account --key-file \
    $GCLOUD_APPLICATION_CREDENTIALS
    

    然后启用:

    gcloud services enable cloudresourcemanager.googleapis.com —project=$GOOGLE_CLOUD_PROJECT
    

    【讨论】:

    • 谢谢帮助我
    【解决方案2】:

    我了解到登录 gcloud 的 gmail 帐号有错误,尝试使用"gcloud auth list" 命令验证 gcloud 中使用的帐号,然后您可以使用"gcloud auth revoke --all" 命令退出 gcloud 中的所有帐户然后尝试"gcloud auth login email@address.com" 使用正确的帐户重新登录。

    如果云控制台中的所有者邮箱错误,但您仍然可以使用该帐户登录,只需在 IAM 菜单中使用正确的帐户作为所有者 add another IAM role,然后您可以在必要时删除拼写错误的帐户

    【讨论】:

    • 感谢安德烈斯的两个答案帮助我摆脱困境
    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多