Почему при включении Cloud Run API создается так много учетных записей служб? Почему у них так много привилегий?

Включение Cloud Run API (консоль разработчика → Cloud Run → Enable) создает пять учетных записей служб. Я хочу понять их цель. Мне нужно знать, отвечаю ли я за настройку их для наименее привилегированного доступа.

Default compute service account выполняет роль Editor. Это учетная запись службы выполнения Cloud Run. Его цель ясна, и я знаю, что моя обязанность - настроить его для наименее привилегированного доступа.

App Engine default service account выполняет роль Editor. Это соответствует описанию учетной записи службы времени выполнения Cloud Functions. Его цель неясна, учитывая наличие учетной записи службы среды выполнения Cloud Run. Я не знаю, отвечу ли я за настройку наименее привилегированного доступа.

Google Container Registry Service Agent (Editor роль) и Google Cloud Run Service Agent (Cloud Run Service Agent роль) находятся под управлением Google сервисные аккаунты, «используемые для доступа к API сервисов Google Cloud Platform»:

Я бы хотел, чтобы сервисные аккаунты, управляемые Google, были настроены на наименее привилегированный доступ. Я также хотел бы иметь возможность фильтровать учетные записи служб, управляемых Google, в разделе IAM консоли GCP. Тем не менее, я знаю, что мне следует их игнорировать.

Безымянная учетная запись службы {project-number}{at}cloudbuild.gserviceaccount.com имеет роль Cloud Build Service Account. Эта учетная запись службы "может выполнять сборки", но не отображается в контейнерах сборки документы. Он используется для непрерывного развертывания, но не может этого сделать без дополнительной настройки пользователя. Это не служебная учетная запись, управляемая Google, но она не отображается в разделе «Учетные записи служб» консоли GCP, как учетные записи служб времени выполнения. Его цель неясна. Я не знаю, отвечу ли я за настройку наименее привилегированного доступа.


person Brandon Barry    schedule 11.04.2019    source источник


Ответы (1)


Cloud Run PM:

  1. Ага, совершенно верно.
  2. Вероятно, нам не следует создавать это, если вы используете только Run (и, вероятно, не включаете API-интерфейсы App Engine, которые и создали это). Во время альфа-версии это была учетная запись службы времени выполнения, и, вероятно, она не была очищена.
  3. У меня такое ощущение, что он застрял как Editor, потому что он обращается к облачному хранилищу, которое, как ни странно, не работает из-за "не Editor доступа" (я все еще пытаюсь отследить точную проблему, но похоже, что есть связь с устаревшей Editor ролью, которая требует).
  4. С его точки зрения, он уже является «наименее привилегированным», поскольку имеет разрешения только на то, что нужно Run для настройки ресурсов от вашего имени.
  5. Это эквивалент учетной записи службы среды выполнения для Cloud Build и относится к той же категории, что и 1,2. Если вам нужна сборка для развертывания в Cloud Run, вы должны предоставить этой учетной записи что-то вроде Cloud Run Deployer (плюс дополнительный шаг, позволяющий учетной записи службы сборки выступать в качестве учетной записи службы среды выполнения, чтобы предотвратить [или хотя бы подтвердить] повышение привилегий. ).

Я тоже хочу улучшить фильтрацию «Создано Google» и «Управляется Google», и я уже говорил об этом с командой Cloud IAM.

person Mike McDonald    schedule 11.04.2019