Я успешно добавил свою учетную запись службы, используя приведенную ниже команду.
gcloud auth активировать-сервис-аккаунт --key-file=mycredentialsialreadyhad.json
Теперь я не могу удалить или выйти из него.
любая помощь будет принята с благодарностью.
редактировать: я попробовал эти команды и получил ошибку
- Отзыв авторизации gcloud
ОШИБКА: (gcloud.auth.revoke) Невозможно отозвать учетные данные, предоставленные GCE.
- Конфигурации gcloud удалить по умолчанию
ОШИБКА: (gcloud.config.configurations.delete) Не удалось удалить именованную конфигурацию, поскольку конфигурация [по умолчанию] установлена как активная. Используйте
gcloud config configurations activate
, чтобы изменить активную конфигурацию.
edit2: этот gcloud cli находится на GCP ubuntu VM
Используйте команду с указанной учетной записью, поскольку вы не можете отозвать учетную запись службы Compute Engine (по умолчанию).
Например:
gcloud auth revoke [email protected]
и запустите:
gcloud auth list
Он должен отображать только учетную запись службы Compute Engine по умолчанию:
[НОМЕР ПРОЕКТА][email protected]
обе команды дают одну и ту же ошибку ERROR: (gcloud.auth.revoke) Cannot revoke GCE-provided credentials.
когда я использую gcloud auth list
, я вижу только одну учетную запись, и это не та учетная запись, которую я добавил. другое дело, когда я пытаюсь получить доступ к облачному сервису перед добавлением service_account, он показывает ошибку разрешения. после того, как я добавляю учетную запись службы, она работала отлично. но после gcloud auth revoke [email protected]
у него все еще есть разрешение на хранение. У виртуальных машин есть полный доступ к облаку ?? если да, то почему он показывает ошибку разрешения? Спасибо за ответ.
Если вы больше не видите добавленную учетную запись службы внутри вашей виртуальной машины, она может быть отозвана или удалена в вашей виртуальной машине. Если вы хотите удалить добавленную или настраиваемую учетную запись службы, перейдите в раздел IAM или Доступ > IAM, отметьте флажок добавленной учетной записи службы, затем нажмите «Удалить», чтобы удалить доступ и полностью удалить его из вашего проекта.
спасибо за помощь, john. я перепутал учетную запись по умолчанию с служебной учетной записью, которую я добавил позже.
Используйте приведенный ниже синтаксис для активации учетной записи службы. Здесь нам нужно указать идентификатор сервисного аккаунта. gcloud auth активировать сервис-аккаунт [email protected] --key-file=xxxxxx.json --project=xxxxxx
Используйте приведенный ниже синтаксис для отзыва учетной записи службы:
Отзыв аутентификации gcloud [email protected]
В вашем случае произошла ошибка, потому что идентификатор учетной записи службы не был упомянут в команде gcloud auth revoke, которая пытается отозвать вашу активную учетную запись Google.
Разрешения будут отклонены, если вы отключите учетную запись службы вместо отзыва. Если вы отзовете учетную запись службы, будет активирована учетная запись по умолчанию, которая может иметь разрешение на хранение.
TLDR; Чтобы выйти из всех учетных записей
gcloud auth revoke --all
Чтобы проверить входы в активную учетную запись
gcloud auth list
Чтобы выйти из системы только с одной учетной записи (используйте учетную запись из приведенной выше команды)
gcloud auth revoke [ACCOUNT]
Отменяет ли это навсегда учетную запись службы или просто выходит из нее?
Как я понял из [doku|cloud.google.com/sdk/gcloud/reference/auth/revoke] он отзывает токен с сервера и учетные данные с локального хоста, поэтому выходите из системы только в том случае, если вы хотите отозвать навсегда вам нужно удалить ключи сервисных учетных записей gcloud iam или что-то в этом роде
эта ошибка возникает, когда вы пытаетесь удалить учетную запись службы, которая была распространена на машину во время создания (документы здесь). эта учетная запись службы не может быть удалена с вашего компьютера.
в любом другом случае должны работать следующие команды (как упоминалось в других ответах здесь).
gcloud auth revoke --all
ИЛИ
gcloud auth revoke [ACCOUNT]
Я могу опоздать на вечеринку по этому поводу, но решение, которое я нашел, работает:
gcloud config unset auth/impersonate_service_account
С последующим:
gcloud auth login
В дополнение к командам gcloud auth revoke
, упомянутым выше, мне также пришлось сбросить переменную env GOOGLE_APPLICATION_CREDENTIALS.
unset GOOGLE_APPLICATION_CREDENTIALS
Если ваш код/приложение/cli выполняется на экземпляре GCP, вы не можете отозвать учетную запись службы, назначенную вашему экземпляру службы Compute. Учетные данные для этой учетной записи службы получаются из метаданных. Google создает эти учетные данные. Вы не можете отозвать/отменить их, поскольку они «созданы» для вычислительных служб. Примечание: вы не можете удалить/аннулировать/отменить учетную запись службы по умолчанию. Эти ключи являются частными для Google, а не для вашего экземпляра/приложения/cli.