Gcloud auth активировать сервис-аккаунт выход/отозвать/удалить/сбросить

Я успешно добавил свою учетную запись службы, используя приведенную ниже команду.

gcloud auth активировать-сервис-аккаунт --key-file=mycredentialsialreadyhad.json

Теперь я не могу удалить или выйти из него.

любая помощь будет принята с благодарностью.

редактировать: я попробовал эти команды и получил ошибку

  1. Отзыв авторизации gcloud

ОШИБКА: (gcloud.auth.revoke) Невозможно отозвать учетные данные, предоставленные GCE.

  1. Конфигурации gcloud удалить по умолчанию

ОШИБКА: (gcloud.config.configurations.delete) Не удалось удалить именованную конфигурацию, поскольку конфигурация [по умолчанию] установлена ​​как активная. Используйте gcloud config configurations activate, чтобы изменить активную конфигурацию.

edit2: этот gcloud cli находится на GCP ubuntu VM

Если ваш код/приложение/cli выполняется на экземпляре GCP, вы не можете отозвать учетную запись службы, назначенную вашему экземпляру службы Compute. Учетные данные для этой учетной записи службы получаются из метаданных. Google создает эти учетные данные. Вы не можете отозвать/отменить их, поскольку они «созданы» для вычислительных служб. Примечание: вы не можете удалить/аннулировать/отменить учетную запись службы по умолчанию. Эти ключи являются частными для Google, а не для вашего экземпляра/приложения/cli.

John Hanley 11.12.2020 15:27
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
16
1
19 169
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

ОБНОВЛЯТЬ

Используйте команду с указанной учетной записью, поскольку вы не можете отозвать учетную запись службы Compute Engine (по умолчанию).

Например:

gcloud auth revoke [email protected]

и запустите:

gcloud auth list

Он должен отображать только учетную запись службы Compute Engine по умолчанию:

[НОМЕР ПРОЕКТА][email protected]

обе команды дают одну и ту же ошибку ERROR: (gcloud.auth.revoke) Cannot revoke GCE-provided credentials.

ashen madusanka 10.12.2020 10:54

когда я использую gcloud auth list, я вижу только одну учетную запись, и это не та учетная запись, которую я добавил. другое дело, когда я пытаюсь получить доступ к облачному сервису перед добавлением service_account, он показывает ошибку разрешения. после того, как я добавляю учетную запись службы, она работала отлично. но после gcloud auth revoke [email protected] у него все еще есть разрешение на хранение. У виртуальных машин есть полный доступ к облаку ?? если да, то почему он показывает ошибку разрешения? Спасибо за ответ.

ashen madusanka 11.12.2020 12:13

Если вы больше не видите добавленную учетную запись службы внутри вашей виртуальной машины, она может быть отозвана или удалена в вашей виртуальной машине. Если вы хотите удалить добавленную или настраиваемую учетную запись службы, перейдите в раздел IAM или Доступ > IAM, отметьте флажок добавленной учетной записи службы, затем нажмите «Удалить», чтобы удалить доступ и полностью удалить его из вашего проекта.

JM Gelilio 14.12.2020 02:55

спасибо за помощь, john. я перепутал учетную запись по умолчанию с служебной учетной записью, которую я добавил позже.

ashen madusanka 15.12.2020 09:18

Используйте приведенный ниже синтаксис для активации учетной записи службы. Здесь нам нужно указать идентификатор сервисного аккаунта. 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]

Отменяет ли это навсегда учетную запись службы или просто выходит из нее?

RagePwn 09.09.2022 00:33

Как я понял из [doku|cloud.google.com/sdk/gcloud/reference/auth/revoke] он отзывает токен с сервера и учетные данные с локального хоста, поэтому выходите из системы только в том случае, если вы хотите отозвать навсегда вам нужно удалить ключи сервисных учетных записей gcloud iam или что-то в этом роде

mati kepa 09.12.2022 09:16

эта ошибка возникает, когда вы пытаетесь удалить учетную запись службы, которая была распространена на машину во время создания (документы здесь). эта учетная запись службы не может быть удалена с вашего компьютера.

в любом другом случае должны работать следующие команды (как упоминалось в других ответах здесь).

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

Другие вопросы по теме

GCP: олицетворение служебной учетной записи с помощью python из локальных кредитов. API учетных данных сервисного аккаунта IAM отключен
Веб-приложение Flutter не может быть развернуто в облаке
GCP - Пользователь ... не имеет разрешения на доступ к экземпляру проекта
Как указать тему pubsub при развертывании облачной функции 2-го поколения, запускаемой дугой события, с помощью команды gcloud
Отложенный последовательный перезапуск виртуальных машин Compute Engine в управляемых группах экземпляров
Gcloud.dataflow.flex-template.run нераспознанные аргументы: --temp-location
Как извлечь IP-адрес из результата команды и сохранить результат в переменной
ОШИБКА: (gcloud.auth.activate-service-account) Файл ключа .json имеет недопустимый формат — через impersonate-service-account
В запросе недостаточно областей проверки подлинности
Как перечислить фильтры заданий потока данных gcloud, чтобы перечислить только задания слива?