В доступе отказано - менеджер ресурсов облака GCP setIamPolicy - PullRequest
0 голосов
/ 06 ноября 2018

Я получаю ответ 403 PERMISSION_DENIED от GCP при запуске диспетчера развертывания для создания развертывания, которое создает учетную запись службы и устанавливает для нее политику IAM с помощью API администратора облачных ресурсов. Вот шаблон setIamPolicy для этого:

{
        'resources': [
            {
                'name': context.env['name'],
                'action': 'gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.setIamPolicy',
                'properties': {
                    'resource': context.properties['resource'],
                    'policy': {
                        'bindings': context.properties['bindings']
                    }
                }
            }
        ]
    }

Ответ от GCP:

'{ "ResourceType": "GCP-типы / cloudresourcemanager-v1: cloudresourcemanager.projects.setIamPolicy", "ResourceErrorCode": "403", "ResourceErrorMessage": { "код": 403, "сообщение": " у вызывающей стороны нет разрешения "," status ":" PERMISSION_DENIED "," statusMessage ":" Forbidden "," requestPath ":" https://cloudresourcemanager.googleapis.com/v1/projects/project-name@project-name.iam.gserviceaccount.com:setIamPolicy","httpMethod":"POST"}}'

К вашему сведению: учетной записи робота (12345@cloudservices.gserviceaccount.com) предоставлены разрешения владельца проекта в IAM.

1 Ответ

0 голосов
/ 06 ноября 2018

Правильный способ сделать это:

    {
        # Set the IAM policy by patching the existing policy with the
        # config contents.
        'name': policy_add_name,
        'action': 'gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.setIamPolicy',
        'properties':
            {
                'resource': project_id,
                'policy': '$(ref.' + policy_get_name + ')',
                'gcpIamPolicyPatch': {
                    'add': policies_to_add,
                }
            }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...