Я пытаюсь использовать учетную запись службы, чтобы разрешить веб-приложению периодически загружать файлы в облачное хранилище с помощью gsutil cp. Во время установки утилит gcloud на веб-сервере я запустил gcloud init и вошел в свою основную учетную запись Google (владелец проекта). После этого я успешно выполнил учетную запись своей службы, так что с этой частью все в порядке.
Но теперь просто переключиться на мою основную учетную запись ("gcloud auth list" показывает это, а "gcloud config set account ..." позволяет мне легко переключиться на нее без дополнительной аутентификации), чего по соображениям безопасности я хочу избежать возможность того, что кто-то сможет это сделать, если они взломают этот сервер. Но «gcloud auth revoke» меня немного пугает - в документации говорится, что при получении учетной записи пользователя он отменяет токен учетной записи пользователя на сервере, а затем удаляет учетные данные с локального компьютера.
Отменит ли это доступ к моей основной учетной записи на других машинах, с которых я имею к ней доступ? Идея удаления токена учетной записи пользователя на сервере подразумевает, что это может быть не просто «выход из системы» с этой машины, а, скорее, отмена привилегий учетной записи пользователя в целом. Последнее, что я хочу сделать, это каким-то образом отключить мою учетную запись пользователя, которая является владельцем проекта; Я просто хочу запретить одной конкретной машине, с которой я вошел в систему, сделать это. Для меня это может означать просто удаление учетных данных с локального компьютера, а не аннулирование токена учетной записи пользователя на сервере, как предлагает документация. Если каким-то образом на сервере не хранится несколько токенов - по одному для каждого компьютера, с которого я вошел в систему, и выход из системы с одной машины не отменяет мои привилегии для других, вошедших в ту же учетную запись.
Спасибо за разъяснение!
Дэн
Отменит ли это доступ к моей основной учетной записи на других машинах, с которых я имею к ней доступ?
Краткий ответ: нет. Запуск команды gcloud auth revoke
не отменяет доступ к вашему проекту или доступ к вашей основной учетной записи на других машинах, с которых у вас есть доступ.
Как указано Вот эта команда отменяет токен учетной записи пользователя на сервере. Если отзыв прошел успешно или токен уже был отозван, эта команда удаляет учетные данные с локального компьютера.
Я попытался отозвать доступ к своей учетной записи, в которой я являюсь владельцем проекта, и могу подтвердить, что у меня есть доступ к Google Cloud Console, а также к команде: gcloud auth login
. Как указано Вот он получает учетные данные для доступа к вашей учетной записи через веб-поток авторизации. Когда эта команда завершается успешно, она устанавливает активную учетную запись в текущей конфигурации для указанной учетной записи. Если конфигурации не существует, создается конфигурация с именем default.
Я понимаю вашу озабоченность по поводу использования gcloud auth revoke
, но при запуске команды она используется, когда вы хотите запретить gcloud и другим инструментам Cloud SDK использовать указанную учетную запись.
Если каким-то образом на сервере не хранится несколько токенов - по одному для каждого компьютера, с которого я вошел в систему, и выход из системы с одной машины не отменяет мои привилегии для других, вошедших в ту же учетную запись.
Я не могу подтвердить, хранятся ли на сервере несколько токенов для каждого из компьютеров, которые вы использовали для входа. Что касается команды, ее выполнение приведет к тому, что команда удалит учетные данные с машины, на которой вы ее запускаете. Если вы попытаетесь запускать команды из Cloud Shell, вы сможете это сделать, поскольку учетные данные, хранящиеся в Cloud Shell или экземпляре GCE, не удаляются с компьютера, если вы не укажете, что он запускает команду.
Я надеюсь, что это помогает.