Какая команда gcloud будет идентифицировать экземпляры виртуальных машин в проекте, которые имеют полный доступ ко всем API? - PullRequest
0 голосов
/ 07 мая 2020

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

Я знаю, что мне нужно будет включить AND в последнюю команду для фильтрации на VMS, которые настроены для работы с виртуальными машинами учетной записи службы Compute Engine по умолчанию, но сейчас я хотел бы получить фильтр области виден правильно!

На основании документации Google, относящейся к фильтрации MachineType здесь Я думал, что фильтрация по областям будет работать после определения из деталей виртуальной машины REST, что URL-адрес, настроенный для Полный доступ к облачным API область действия https://www.googleapis.com/auth/cloud-platform

Я пробовал эти команды, но ни одна из них не предоставила мне список виртуальных машин, которые настроены с областью действия Разрешить полный доступ ко всем облачным API

gcloud compute instances list --filter='Allow full access to all Cloud APIs'

gcloud compute instances list --filter="scopes:[https://www.googleapis.com/auth/cloud-platform]"

Кто-нибудь знает что команда должна быть?

1 Ответ

1 голос
/ 07 мая 2020

Объемы перечислены под ключом serviceAccounts для каждой учетной записи. Обычно для каждого экземпляра существует только одна учетная запись службы. Вы можете отфильтровать список областей первой учетной записи службы, например:

gcloud compute instances list --filter="serviceAccounts[0].scopes:(cloud-platform)"

У меня нет экземпляров с несколькими учетными записями, но теоретически фильтр для всех учетных записей будет:

gcloud compute instances list --filter="serviceAccounts[].scopes:(cloud-platform)"
...