Поиск по сайту:

Как создавать и использовать сервисные аккаунты в Google Cloud Platform


Сервисные учетные записи — это специальные учетные записи, которые могут использоваться приложениями и серверами для предоставления им доступа к вашим ресурсам Google Cloud Platform. Вы можете использовать их для управления доступом в своей учетной записи и для внешних приложений.

Например, если вам нужно предоставить приложению разрешение на запись в корзину облачного хранилища, вы можете создать учетную запись службы, предоставить этой учетной записи разрешение на запись в корзину, а затем пройти аутентификацию с использованием закрытого ключа для этой учетной записи службы. Если приложение, которое вы аутентифицируете, находится на Compute Engine, вы можете установить сервисный аккаунт для всего экземпляра, который будет применяться по умолчанию для всех запросов API gcloud.

Создание служебной учетной записи

Перейдите в консоль IAM и администратора и нажмите «Пользователи службы» на боковой панели. Отсюда вы можете создать новую учетную запись службы или управлять существующими.

Дайте учетной записи службы имя. Сервисный аккаунт будет использовать домен project-id.iam.gserviceaccount.com в качестве адреса электронной почты и действовать как обычный пользователь при назначении разрешений. Нажмите «Создать».

Если вы хотите назначить разрешения для всего проекта, которые будут применяться ко всем затронутым ресурсам, вы можете сделать это на следующем экране. Например, вы можете предоставить ему права на чтение для всего проекта с помощью «Просмотрщика» или предоставить ему доступ к определенной службе, такой как Compute Engine.

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

Чтобы предоставить более подробные разрешения, вы можете добавить учетную запись службы к ресурсам, к которым ей необходим доступ, например к определенным экземплярам Compute Engine, добавив учетную запись в качестве нового участника в настройках «Разрешения» для данного ресурса. Таким образом, вы можете предоставить доступ к определенным ресурсам, а не к разрешениям для всего проекта.

Использование сервисной учетной записи

Если вы используете внутренне для других служб Google Cloud Platform, вам часто предоставляется возможность выбрать учетную запись службы. Например, для Compute Engine в настройках экземпляра вы можете установить учетную запись службы, которую использует движок, которая будет использоваться по умолчанию для всех запросов CLI, поступающих от экземпляра.

Если вы хотите аутентифицировать службу, которая не работает в Compute Engine, или не хотите настраивать учетную запись службы для всего экземпляра, вам потребуется создать ключ доступа для учетной записи службы. Вы можете сделать это в настройках учетной записи службы в консоли IAM; нажмите «Создать ключ», и вам будет предложено загрузить ключ JSON для учетной записи службы.

Затем вы можете передать этот ключ в API, обычно задав переменную среды GOOGLE_APPLICATION_CREDENTIALS. Эти учетные данные содержат адрес электронной почты и идентификатор учетной записи службы, и это все, что вам нужно для настройки соединения между вашим приложением и GCP.