add system service gets only one realm wide role

This commit is contained in:
Marco Lettere 2021-10-07 11:13:08 +02:00
parent 3050f0d2f5
commit bd23d0b65f
2 changed files with 42 additions and 44 deletions

View File

@ -1,20 +1,20 @@
--- ---
workflows: workflows:
- create-user-add-to-vre # - create-user-add-to-vre
- group_deleted # - group_deleted
- user-group_created # - user-group_created
- user-group-role_created # - user-group-role_created
- group_created # - group_created
- invitation-accepted # - invitation-accepted
- user-group_deleted # - user-group_deleted
- user-group-role_deleted # - user-group-role_deleted
- delete-user-account # - delete-user-account
- role_deleted # - role_deleted
- role_created # - role_created
- add_role_policy_permission # - add_role_policy_permission
- add_all_member_roles # - add_all_member_roles
- create_system_service - create_system_service
- add_all_system_services_to_vre # - add_all_system_services_to_vre
keycloak_host: "https://accounts.dev.d4science.org/auth" keycloak_host: "https://accounts.dev.d4science.org/auth"
keycloak: "{{ keycloak_host }}/realms" keycloak: "{{ keycloak_host }}/realms"
keycloak_realm: "d4science" keycloak_realm: "d4science"

View File

@ -84,42 +84,40 @@
}, },
{ {
"name" : "pyrest", "name" : "pyrest",
"taskReferenceName" : "get_all_contexts", "type" : "SIMPLE",
"type" : "SIMPLE", "taskReferenceName": "retrieve_infra_manager_role",
"inputParameters" : { "inputParameters" : {
"url" : "${init.input.keycloak_admin}/clients?clientId=%252F&search=true", "url" : "${init.input.keycloak_admin}/roles/Infrastructure-Manager",
"method" : "GET", "method" :"GET",
"headers" : { "headers" : {
"Authorization" : "Bearer ${authorize.output.body.access_token}", "Authorization" : "Bearer ${authorize.output.body.access_token}",
"Accept" : "application/json" "Accept" : "application/json"
} }
} }
}, },
{ {
"name": "LAMBDA_TASK", "name": "jq_1",
"taskReferenceName": "build_member_roles_assignment_tasks", "taskReferenceName": "to_array",
"type": "LAMBDA", "type": "JSON_JQ_TRANSFORM",
"inputParameters": { "inputParameters": {
"contexts" : "${get_all_contexts.output.body}", "role": "${retrieve_infra_manager_role.output.body}",
"id" : "${get_service_account_user.output.body.id}", "queryExpression" : ".role"
"scriptExpression": "inputs={},tasks=[];for(var i=0;i<$.contexts.length;i++)c=$.contexts[i],tasks.push({name:'sub_workflow_task',type:'SUB_WORKFLOW',taskReferenceName:'call_add_all_member_roles_'+i, subWorkflowParam:{ name:'add_all_member_roles'}}),inputs['call_add_all_member_roles_'+i]={context:c, client:$.id};return {tasks:Java.to(tasks,'java.util.Map[]'),inputs:inputs};" }
} },
},
{ {
"name" : "fork_dynamic", "name" : "pyrest",
"type" : "FORK_JOIN_DYNAMIC", "type" : "SIMPLE",
"taskReferenceName" : "parallel_build_member_roles_assignment_tasks", "taskReferenceName": "assign_infra_manager_role",
"inputParameters" : { "inputParameters" : {
"tasks" : "${build_member_roles_assignment_tasks.output.result.tasks}", "url" : "${init.input.keycloak_admin}/users/${get_service_account_user.output.body.id}/role-mappings/${retrieve_infra_manager_role}",
"inputs" : "${build_member_roles_assignment_tasks.output.result.inputs}" "method" :"POST",
}, "headers" : {
"dynamicForkTasksParam": "tasks", "Authorization" : "Bearer ${authorize.output.body.access_token}",
"dynamicForkTasksInputParamName": "inputs" "Content-Type" : "application/json",
}, "Accept":"application/json"
{ },
"name" : "join", "body" : "${to_array.output.resultList}"
"type" : "JOIN", }
"taskReferenceName" : "join_parallel_build_member_roles_assignment_tasks"
} }
] ]
} }