У меня есть служебная учетная запись, назначенная моим экземплярам GCE и указанная как активная, что я могу проверить, запустив gcloud auth list
на любом из экземпляров. У учетной записи службы в настоящее время есть доступ Google Cloud API к некоторым службам. Я хочу обновить этот доступ, чтобы учетная запись службы могла читать информацию о зоне / наборе записей из Google Cloud DNS.
Я просмотрел документацию по учетным записям служб и редактировал их доступ, а также пытался изменить разрешения учетной записи службы в GCP, но я не нашел прямого способа добавить доступ к Google Cloud DNS специально или Google Cloud Networking, который был бы включая DNS. Разрешения учетной записи службы могут быть установлены как моя собственная учетная запись пользователя и назначены роль владельца / редактора, но я бы предпочел предоставить только дополнительный доступ, который потребуется учетной записи службы для Google Cloud DNS.
Любая помощь или понимание были бы очень признательны, спасибо!
Я считаю, что со временем вы сможете это сделать, используя разрешения IAM. На данный момент я не вижу возможности добавить роли Cloud DNS в Консоль IAM. Чтобы авторизовать запросы к Cloud DNS, вы должны использовать одну из областей, описанных в Эта статья.
т.е.
https://www.googleapis.com/auth/ndev.clouddns.readwrite
https://cloud.google.com/dns/api/authorization
Если вы используете учетная запись службы по умолчанию, область должна быть определена во время создания виртуальной машины во флаге области.
т.е.
gcloud compute --project "Myproject" instances create "instance-8" --zone "us-central1-f" --machine-type "n1-standard-1" --network "default" --maintenance-policy "MIGRATE" --scopes default="https://www.googleapis.com/auth/devstorage.full_control","https://www.googleapis.com/auth/ndev.clouddns.readwrite" --image "/debian-cloud/debian-8-jessie-v20161020" --boot-disk-size "10" --boot-disk-type "pd-standard" --boot-disk-device-name "instance-8"
Если вы связали виртуальную машину с учетной записью службы не по умолчанию во время ее создания, вы можете добавить Редактор или владелец разрешения для этой учетной записи в консоли IAM. Тем не менее, это может обеспечить более широкий охват, чем тот, который вы ищете.
У меня возникли проблемы с доступом к Storage API, поэтому я понял, что проблема связана с областями. Проведя небольшое исследование, я нашел, где это изменить.
Вы должны отредактировать «область действия» для текущей «учетной записи службы», она была установлена при создании виртуальной машины, и значение по умолчанию довольно ограничительное:
Это оно!