4444 - name : Wait for consistency
4545 ansible.builtin.pause :
4646 seconds : " {{ plat__azure_consistency_wait }}"
47-
48- - name : Dump MetaGroup URI
49- ansible.builtin.debug :
50- msg : Dumping... {{ plat__azure_metagroup_uri }}
5147
52- # Owner role is required for DWX if you are thinking of modifying this task
5348 - name : Request Azure Cross Account App Creation
5449 no_log : True
5550 register : __azure_xaccount_app_info
5651 command : >
5752 az ad sp create-for-rbac
5853 --name {{ plat__azure_xaccount_app_name }}
5954 --role {{ plat__azure_xaccount_use_custom_role | ternary(__azure_xaccount_role_info.id, plat__azure_roles.contrib) }}
60- --scope {{ plat__azure_subscription_uri }}
61- # --role {{ __azure_xaccount_role_info.id }}
62- # --scopes {{ plat__azure_metagroup_uri }}
63- # Bake ternary into the above
64-
65- # - name: SLEEEP
66- # command: >
67- # sleep 180
55+ --scope {{ plat__azure_xaccount_rg_scope | ternary(plat__azure_metagroup_uri, plat__azure_subscription_uri) }}
6856
6957 - name : Register Azure Cross Account App info
7058 no_log : True
119107 application : " {{ plat__azure_xaccount_app_uuid }}"
120108 secret : " {{ __azure_xaccount_app_pword }}"
121109
122- # Move Up
123- # - name: Handle Azure Cross Account Role
124- # register: __azure_xaccount_role_info
125- # azure.azcollection.azure_rm_roledefinition: # This version fails idempotence if a description is set
126- # state: present
127- # name: "{{ plat__azure_xaccount_role_name }}"
128- # assignable_scopes: "/subscriptions/{{ plat__azure_subscription_id }}"
129- # permissions:
130- # - actions: "{{ lookup('file', __azure_policy_document.dest ) | from_json | community.general.json_query('Actions') }}"
131- # data_actions: "{{ lookup('file', __azure_policy_document.dest ) | from_json | community.general.json_query('DataActions') }}"
132- # not_actions: "{{ lookup('file', __azure_policy_document.dest ) | from_json | community.general.json_query('NotActions') }}"
133- # not_data_actions: "{{ lookup('file', __azure_policy_document.dest ) | from_json | community.general.json_query('NotDataActions') }}"
134-
135- # Not Needed?
136- # - name: Set Azure Cross Account Role URI
137- # ansible.builtin.set_fact:
138- # plat__azure_xaccount_role_uri: "{{ __azure_xaccount_role_info.id }}"
139-
140110- name : Request creation of Azure Managed Identities
141111 when : ( __azure_identity_list_names is undefined ) or ( __azure_msi_item not in __azure_identity_list_names )
142112 loop_control :
148118 - " {{ plat__azure_datalakeadmin_identity_name }}"
149119 - " {{ plat__azure_log_identity_name }}"
150120 - " {{ plat__azure_ranger_audit_identity_name }}"
151- # Dupe of Below?
121+
152122- name : Wait for identities to be listed
153123 command : " az identity list -g {{ plat__azure_metagroup_name }}"
154124 register : __azure_identity_list
260230 scope : " {{ plat__azure_datapath_uri }}"
261231 assignee : " {{ __azure_ranger_audit_identity_uuid }}"
262232 desc : Assign Storage Blob Data Contributor Role to Ranger Role at Data Container level
263- # - role: "{{ __azure_contributor_role_uri }}"
264- # name: "{{ plat__azure_xaccount_contributor_assn_name }}"
265- # scope: "{{ plat__azure_subscription_uri }}"
266- # assignee: "{{ plat__azure_application_service_principal_objuuid }}"
267- # desc: Assign top level Contributor Role to Cross Account App
268- # - role: "{{ __azure_xaccount_role_uri }}"
269- # name: "{{ plat__azure_xaccount_role_assn_name }}"
270- # scope: "{{ plat__azure_subscription_uri }}"
271- # assignee: "{{ plat__azure_application_service_principal_objuuid }}"
272- # desc: Assign Cross Account Role to Cross Account App
273233 loop_control :
274234 loop_var : __azure_rl_assgn_item
275235 label : " {{ __azure_rl_assgn_item.desc }}"
276-
277- # - name: SLEEEEEEEEEEP
278- # command: >
279- # sleep 1800
0 commit comments