Вопрос или проблема
Я хочу ограничить мой API ключ набором API. Однако у меня нет разрешения видеть список API. Выпадающий список просто пуст. Какое разрешение мне нужно, чтобы увидеть содержимое?
На данный момент у меня есть разрешение serviceusage.apiKeysAdmin
.
Разрешение serviceusage.apiKeysAdmin
, которым вы сейчас обладаете, недостаточно для просмотра списка API, связанных с API ключом.
Вам нужно разрешение serviceusage.services.list
. Оно позволит вам перечислить все доступные в проекте сервисы, включая API, к которым ваш API ключ может получить доступ.
Предоставив разрешение serviceusage.services.list
вашему пользователю или сервисному аккаунту, вы должны быть в состоянии увидеть список API, связанных с API ключом. Это можно сделать, присвоив вашему пользователю или сервисному аккаунту соответствующую роль в IAM, такую как роль roles/serviceusage.serviceUsageViewer
, которая включает необходимое разрешение для перечисления сервисов.
Как только у вас будет необходимое разрешение, вы должны быть в состоянии увидеть список API, связанных с API ключом, в Cloud Console или через API Keys API.
У меня точно такая же проблема. Я добавил разрешения роли serviceusage.serviceUsageViewer
, которые позволяют мне получать список использования сервисов. Я вижу в консоли сети, что GraphQL-запрос извлекает список, как и ожидалось, но входные данные по-прежнему пусты.
Удалось ли вам решить вашу проблему?
.
Ответ или решение
В ситуации, представленной в вопросе, возникает проблема видимости списка API в Google Cloud Platform (GCP) при попытке ограничить ключ API набором конкретных API. Хотя вы уже обладаете разрешением serviceusage.apiKeysAdmin
, этого оказывается недостаточно для отображения списка API в выпадающем меню.
Теория
Для успешной конфигурации ограничений API необходимо обладать правами на просмотр списка доступных сервисов в проекте GCP. Это связано с тем, что сам ключ API может быть ограничен только для перечисленных API в проекте. Разрешение serviceusage.apiKeysAdmin
позволяет управлять ключами API, но оно не предоставляет доступа к перечню всех доступных сервисов.
Пример
Здесь в действие вступает роль roles/serviceusage.serviceUsageViewer
, которая включает разрешение serviceusage.services.list
. Эта роль даёт возможность получить доступ к списку всех сервисов и API, доступных в вашем проекте, и соотвественно, выбрать нужные для ограничения ключа API.
Применение
Для разрешения данной проблемы требуется выполнение следующих шагов:
-
Назначение роли: Обеспечьте назначение роли
roles/serviceusage.serviceUsageViewer
вашему пользователю или сервисному аккаунту. Это предоставляет доступ к перечислению сервисов, в том числе тех, которые можно привязать к вашему ключу API. -
Проверка доступа: Убедитесь, что необходимые изменения применены корректно. Это можно проверить, зайдя в Google Cloud Console и попробовав заново открыть список доступных API для ограничения ключа.
-
Техническая диагностика: Если проблема сохраняется, рекомендуется провести диагностику через консоль браузера, чтобы убедиться, что запрос к списку API выполняется успешно, а также чтобы выявить возможные ошибки визуализации.
Таким образом, участие вашей учетной записи в роли serviceusage.serviceUsageViewer
должно устранить ограничение в отображении списка API, что позволит вам правильно управлять ограничениями для вашего ключа API.