GCLOUD 403许可错误与错误的项目有关



我曾经在一家公司工作,并以前曾用gcloud initgcloud auth login设置GCLOUD(我不记得哪一个(。我们正在使用Google Container Engine(GKE(。

从那以后我离开了公司,并从该项目的许可中删除。

现在,我想为自己与以前的公司无关的自己设置全新的应用程序引擎。

为什么我不能在没有以下错误的情况下运行任何命令?gcloud initgcloud auth login甚至gcloud --helpgcloud config list所有显示错误。似乎它正在尝试使用gcloud container cluster登录我以前的公司项目,但我根本不是在键入该命令,而是在一个不同的区域中,并且对另一个项目感兴趣。我的GCLOUD配置在哪里获取这些默认值?

这是我需要删除.config/gcloud文件夹的情况吗?仅登录其他项目的解决方案似乎很极端?

Traceback (most recent call last):
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/gcloud.py", line 65, in <module>
    main()
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/gcloud.py", line 61, in main
    sys.exit(googlecloudsdk.gcloud_main.main())
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/gcloud_main.py", line 130, in main
    gcloud_cli = CreateCLI([])
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/gcloud_main.py", line 119, in CreateCLI
    generated_cli = loader.Generate()
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 329, in Generate
    cli = self.__MakeCLI(top_group)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 517, in __MakeCLI
    log.AddFileLogging(self.__logs_dir)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/core/log.py", line 676, in AddFileLogging
    _log_manager.AddLogsDir(logs_dir=logs_dir)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/core/log.py", line 365, in AddLogsDir
    self._CleanUpLogs(logs_dir)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/core/log.py", line 386, in _CleanUpLogs
    self._CleanLogsDir(logs_dir)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/core/log.py", line 412, in _CleanLogsDir
    os.remove(log_file_path)
OSError: [Errno 13] Permission denied: '/Users/terence/.config/gcloud/logs/2017.07.27/19.07.37.248117.log'

和日志文件: /Users/terence/.config/gcloud/logs/2017.07.27/19.07.37.248117.log

2017-07-27 19:07:37,252 DEBUG    root            Loaded Command Group: ['gcloud', 'container']
2017-07-27 19:07:37,253 DEBUG    root            Loaded Command Group: ['gcloud', 'container', 'clusters']
2017-07-27 19:07:37,254 DEBUG    root            Loaded Command Group: ['gcloud', 'container', 'clusters', 'get_credentials']
2017-07-27 19:07:37,330 DEBUG    root            Running [gcloud.container.clusters.get-credentials] with arguments: [--project: "REMOVED_PROJECT", --zone: "DIFFERENT_ZONE", NAME: "REMOVED_CLUSTER_NAME"]
2017-07-27 19:07:37,331 INFO     ___FILE_ONLY___ Fetching cluster endpoint and auth data.
2017-07-27 19:07:37,591 DEBUG    root            (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission for "projects/REMOVED_PROJECT/zones/DIFFERENT_ZONE/clusters/REMOVED_CLUSTER_NAME".
Traceback (most recent call last):
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 712, in Execute
    resources = args.calliope_command.Run(cli=self, args=args)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 871, in Run
    resources = command_instance.Run(args)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/surface/container/clusters/get_credentials.py", line 69, in Run
    cluster = adapter.GetCluster(cluster_ref)
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk/api_lib/container/api_adapter.py", line 213, in GetCluster
    raise api_error
HttpException: ResponseError: code=403, message=Required "container.clusters.get" permission for "projects/REMOVED_PROJECT/zones/DIFFERENT_ZONE/clusters/REMOVED_CLUSTER_NAME".
2017-07-27 19:07:37,596 ERROR    root            (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission for "projects/REMOVED_PROJECT/zones/DIFFERENT_ZONE/clusters/REMOVED_CLUSTER_NAME".

我必须删除我的 .config/gcloud才能完成这项工作,尽管我不认为这是一个很好的"解决方案"。

好的,所以不确定事情是否已经改变,但遇到了类似的问题。请在核定配置之前先尝试一下。

gcloud支持多个帐户,您可以通过运行gcloud auth list

ACTIVE  ACCOUNT
*        Work-Email@company.com
         Personal-Email@gmail.com

如果您不在正确的情况下,可以做

$ gcloud config set account Personal-Email@gmail.com

它将设置正确的帐户。再次运行gcloud auth list应该在您的个人上显示活动。

如果您还没有对自己的个人进行验证,则需要登录。您可以运行gcloud auth login Personal-Email@gmail.com并跟随从那里流动,然后返回上面。

确保设置project_id或切换时可能需要的任何东西。

现在从那里开始,我发现您仍然有可能无法正确实现。我认为为此,您可能需要重新启动终端会话,甚至仅仅进行source ~/.bash_profile就足够了。(也许我需要这样做才能刷新Google_application_credentials环境变量,但我不确定(。

希望这会有所帮助。在nuking

之前先尝试一下

重命名/删除config/gcloud/logs文件夹,然后尝试而不是删除.config/gcloud文件夹。

此解决方案对我有用:(

最新更新