На моем локальном macOS следующая команда работала нормально:
$ gcloud source repos clone myrepo --project=myproject
(хотя я не уверен, что это сработало не потому, что ранее я следовал процедуре ~/.gitcookies
)
Но когдаЯ делаю это на CE:
$ gcloud source repos clone myrepo --project=myproject
ERROR: (gcloud.source.repos.clone) PERMISSION_DENIED: Request had insufficient authentication scopes.
$ gcloud source repos list
ERROR: (gcloud.source.repos.list) User [<digits>-compute@developer.gserviceaccount.com] does not have permission to access project [<myproject>] (or it may not exist): Request had insufficient authentication scopes.
$ gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* <digits>-compute@developer.gserviceaccount.com
Во вкладке IAM я вижу, что эта служебная учетная запись имеет «Редактор доступа ко всем ресурсам», но это не помогает.Даже если я добавлю роли Источник Репозиторий Чтение + Запись.
UPD: также я не могу найти роль .clone
на вкладке Роли:
![enter image description here](https://i.stack.imgur.com/3weOm.png)
$ gcloud help source repos
COMMANDS
COMMAND is one of the following:
clone
Clone a cloud source repository.
create
Create a cloud source repository.
delete
Delete a cloud source repository.
describe
Describe a cloud source repository.
get-iam-policy
Get the IAM policy for the named cloud source repository.
list
List the repositories the currently active project.
set-iam-policy
Set the IAM policy for the named repository.
Но, вероятно, он включен в .get
и так Reader
, что я уже пробовал:
![enter image description here](https://i.stack.imgur.com/IZQ3K.png)
UPD2:sudo /usr/local/share/google/google-cloud-sdk/bin/gcloud components update
не помогло.
Единственные два варианта, которые я представляю себе сейчас, это либо редактировать
![enter image description here](https://i.stack.imgur.com/M1aRs.png)
(этоединственное, что я нашел в Интернете, похоже, что это решение, но эта запись в блоге написана на каком-то восточном языке, поэтому я не уверен), но для этого потребуется остановка виртуальной машины, что недопустимо.
Илисоздать другую учетную запись службы, но я не уверен, что переключение ее в gcloud
CLI не нарушит работу других приложений на этом компьютере.Или, может быть, я смогу использовать его только один раз при клонировании репо, и оно останется с ним?