Связывание ролей уровня проекта Vault GCP - PullRequest
0 голосов
/ 06 марта 2019

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

resource "//cloudresourcemanager.googleapis.com/projects/{project_id_number}" {
  roles = [
    "roles/storage.admin"
  ]
}

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

Когда я пытаюсь создать этот набор ролей в Vault, я получаю эту ошибку:

Error writing data to gcp/roleset/my-roleset: Error making API request.

URL: PUT http://127.0.0.1:8200/v1/gcp/roleset/my-roleset
Code: 400. Errors:

* unable to set policy: googleapi: Error 403: The caller does not have permission

Мой кластер Vault работает в кластере GKE, который имеет OAuth Scopes для всех облачных API, я являюсь владельцем проекта, а учетная запись службы, используемая Vault, имеет следующие разрешения:

  • Облачный KMS CryptoKey Encrypter / Decrypter
  • Актер учетной записи службы
  • Администратор учетной записи службы
  • Сервисный ключ учетной записи Admin
  • Сервис учетной записи Token Creator
  • Logs Writer
  • Администратор хранилища
  • Администратор объектов хранения

Я попытался присвоить служебной учетной записи роли «Редактор» и «Владелец», и все еще получаю ту же ошибку.

Во-первых, я использую правильный ресурс для создания набора ролей для роли администратора хранилища на уровне проекта?

Во-вторых, если это так, что может быть причиной этой ошибки разрешения?

1 Ответ

0 голосов
/ 06 марта 2019

Я ранее заново создал кластер и пропустил этот шаг:

vault write gcp/config credentials=@credentials.json

Добавление файла ключа исправило это.

Существует также вероятность того, что после выполнения шагов по созданию настраиваемой роли здесь и добавлению этой настраиваемой роли сыграло свою роль.

...