Я пытаюсь назначить пользовательскую роль IAM пользователю (учетная запись Google) в проекте GCP через Deployment Manager, но получил код ошибки 403.Я следовал примеру, представленному в репозитории Google Cloud Platform: https://github.com/GoogleCloudPlatform/deploymentmanager-samples/tree/master/community/cloud-foundation/templates/iam_member
По сути, я создал файл конфигурации YAML со следующим содержанием:
- path: ../iam_member.py
name: iam_member.py
resources:
- name: iam-member-oval-unity-test-0
type: iam_member.py
properties:
projectId: oval-unity-88908
type: string
roles:
- role: roles/GARawDataViewer
members:
- user:<USER_EMAIL>
GARawDataViewer - это пользовательская роль, созданная впроект oval-unity-88908 и является значением адреса электронной почты пользователя, которому я пытаюсь назначить пользовательскую роль IAM.
Наконец, я развернул выполнение следующей команды:
gcloud deployment-manager deployments create deployment-oval-unity-member-test --config examples/oval_unity_member.yaml
После запуска менеджера развертывания gcloud я получил следующее сообщение об ошибке:
- code: CONDITION_NOT_MET
location: /deployments/deployment-oval-unity-member-test/resources/get-iam-policy-iam-member-oval-unity-test-0-0-0->$.properties->$.policy
message: |-
InputMapping for field [policy] for method [setIamPolicy] could not be set from input, mapping was: [$.gcpIamMemberBinding($.intent, $.inputs.policy.response, $.resource.properties)], and evaluation context was:
{
"deployment" : {
"id" : 4858392305054927640,
"name" : "deployment-oval-unity-member-test"
},
"extensions" : {
"EnableAdditionalJsonPathFunctions" : true,
"EnableGoogleTypeProviderFunctionsExperiment" : true
},
"inputs" : {
"policy" : {
"error" : {
"code" : "403",
"message" : "{\"code\":403,\"message\":\"The caller does not have permission\",\"status\":\"PERMISSION_DENIED\",\"statusMessage\":\"Forbidden\",\"requestPath\":\"https://cloudresourcemanager.googleapis.com/v1/projects/oval-unity-88908:getIamPolicy\",\"httpMethod\":\"POST\"}"
}
}
},
"intent" : "CREATE",
"matches" : [ ],
"project" : "dm-creation-project-0",
"requestId" : "f3c7f0c4-1ff7-3e26-a060-b0adc068866d",
"resource" : {
"name" : "get-iam-policy-iam-member-oval-unity-test-0-0-0",
"previous" : { },
"properties" : {
"member" : "<USER_EMAIL_ADDRESS!>",
"resource" : "oval-unity-88908",
"role" : "roles/GARawDataViewer"
},
"self" : { }
}
}
Error was:
Parameter for gcpIamMemberBinding at position 1 is not of type map, value was [null]
Интересно то, что мне удалось успешно развернуть, назначив предопределенную роль, такую как «редактор»: роли / редактор,но он не может использовать пользовательскую роль.
Я даже пытался использовать полный путь к пользовательской роли: projects / oval-unity-88908 / role / GARawDataViewer, но все равно выдает ту же ошибку.
У вас есть идеи, как я могу решить эту проблему?Заранее спасибо!