#google-cloud-platform #google-iam
#google-cloud-platform #google-iam
Вопрос:
Я создаю экземпляр gcp, используя приведенный ниже метод python:
compute.instances().insert(project=project, zone=zonee, body=config).execute()
В переменной конфигурации я добавил раздел ServiceAccount:
"serviceAccounts": [
{
"email": SA-email,
"scopes": [
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/service.management.readonly",
"https://www.googleapis.com/auth/servicecontrol"
"https://www.googleapis.com/auth/trace.append",
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/cloud-platform"
]
}
]
Я не уверен, какие роли я должен назначить этому SA-email. Если я упоминаю области доступа, означает ли это, что эти роли должны быть назначены SA-email?
Когда я запускаю приведенный выше код. Сбой при создании экземпляра.
Я очень запутался между SA, ролями и областями.
Какое свойство я должен проверить для устранения вышеуказанной проблемы.
Комментарии:
1. Пожалуйста, покажите свой код, в котором вы получаете авторизацию. Существует разница между OAuth (областями) и учетными записями служб (ролями). Правильный ответ зависит от используемого вами типа авторизации.
2. Согласен с Джоном Хэнли .
Ответ №1:
Учетная запись службы — это специальная учетная запись Google, которая принадлежит вашему приложению или виртуальной машине, а не отдельному конечному пользователю . Учетная запись службы действует как удостоверение, связанное с приложениями, приложение использует учетную запись службы для аутентификации между приложением и службами GCP, чтобы пользователи не участвовали напрямую 1.
Учетная запись службы уникальна тем, что помимо удостоверения, учетная запись службы также является ресурсом, к которому привязана политика IAM, эти политики определяют, кто может использовать эту учетную запись службы, поэтому она является одновременно идентификатором и ресурсом.
Например, если вы предоставите Бобу роль администратора экземпляра compute с ролью пользователя учетной записи службы, он сможет создавать экземпляры compute Engine, использующие учетную запись службы, и управлять ими. После предоставления ролей IAM этой учетной записи службы вы можете назначить эту учетную запись службы одному или нескольким новым экземплярам виртуальной машины, и теперь у Боба будет доступ администратора к этим экземплярам. Подводя итог, учетной записи пользователя должна быть предоставлена роль пользователя учетной записи службы, а учетной записи службы должна быть предоставлена роль для доступа к ресурсам GCP.
Области доступа учетной записи службы — это устаревшие методы указания разрешений для вашего экземпляра, и они используются при замене ролей IAM. Они использовались специально для учетных записей служб по умолчанию или автоматически создавались на основе включенных API. До появления ролей IAM области доступа были единственным способом предоставления разрешений учетным записям служб , хотя сейчас они не являются основным способом предоставления разрешений , вы все равно должны устанавливать области доступа учетной записи службы при настройке экземпляра для запуска от имени учетной записи службы. Однако, когда вы используете пользовательскую учетную запись службы, вы не будете использовать области доступа, а будете использовать роли IAM. Поэтому, когда вы используете учетную запись службы по умолчанию для своего вычислительного экземпляра, по умолчанию вместо ролей IAM будут использоваться области.
Для вашей переменной конфигурации вы можете выбрать области доступа из полного списка или создать пользовательскую учетную запись службы и назначить роль IAM.