Как я могу использовать диспетчер развертывания, чтобы создать новую учетную запись службы и тему и предоставить ей доступ только к этой теме? - PullRequest
0 голосов
/ 21 октября 2019

Я могу создать новый паб / подтему в моих шаблонах и новую учетную запись службы

Я вижу, как предоставить этой учетной записи проекта широкий доступ к пабу / субсайту: https://cloud.google.com/deployment-manager/docs/configuration/set-access-control-resources

Также в этом примере, похоже, используется другой тип ресурса, это мой шаблон:

resources:
  - name: "mytopic"
    type: gcp-types/pubsub-v1:projects.topics
    #type: pubsub-v1ubsub.v1.topic
    properties:
      topic: "mytopic"
      labels:
        my-lable: mytopic

Я использую gcp-types/pubsub-v1:projects.topics, когда я переключаюсь на pubsub-v1ubsub.v1.topic Я получаю:

- code: RESOURCE_NOT_FOUND
  message: The type [pubsub-v1ubsub.v1.topic] was not found.

Если я пытаюсь добавить accessControl к gcp-types/pubsub-v1:projects.topics, я получаю:

- code: RESOURCE_ERROR
  location: /deployments/mydeployment/resources/mytopic
  message: '{"ResourceType":"gcp-types/pubsub-v1:projects.topics","ResourceErrorCode":"404","ResourceErrorMessage":{"statusMessage":"Not
    Found","requestPath":"https://pubsub.googleapis.com/v1/:setIamPolicy","httpMethod":"POST"}}

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

Возможно ли это в диспетчере развертывания?

Это полный шаблон с accessControl:

resources:
  - name: "mytopic"
    type: gcp-types/pubsub-v1:projects.topics
    #type: pubsub-v1ubsub.v1.topic
    properties:
      topic: "mytopic"
      labels:
        label: "sdfsdfsdf"
    accessControl:
      gcpIamPolicy:
        bindings:
        - role: roles/pubsub.editor
          members:
          - "serviceAccount:zzz@abc.iam.gserviceaccount.com"
        - role: roles/pubsub.publisher
          members:
          - "serviceAccount:zzz@abc.iam.gserviceaccount.com"

РЕДАКТИРОВАТЬ: так что я думаю, что это работаетно теперь у меня есть вопрос о зависимостях. Нужно ли объявлять, что ресурс acl зависит от ресурса pub / sub? Или это не нужно? Если я не включаю его, он работает, но я хочу подтвердить, что он никогда не потерпит неудачу, и попытаться сначала развернуть ACL или что-то в этом роде. Кроме того, Google, добавьте полный пример к своим документам, пожалуйста. это сделало бы их гораздо более доступными

resources:
  - name: "mytopic"
    type: gcp-types/pubsub-v1:projects.topics
    properties:
      topic: "mytopic"

  - name: "mytopic-permissions"
    type: pubsub.v1.topic
    properties:
      topic: "mytopic"
    accessControl:
      gcpIamPolicy:
        bindings:
        - role: roles/pubsub.editor
          members:
          - "serviceAccount:xxxx@abc.iam.gserviceaccount.com"
        - role: roles/pubsub.publisher
          members:
          - "serviceAccount:xxxx@abc.iam.gserviceaccount.com"
    # Do I need this? If I dont have it deploys still seem to work
    metadata:
      dependsOn:
      - "mytopic"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...