1- resource "azurerm_resource_group" "sec_rg" {
2- name = " ${ local . product } -${ var . domain } -sec-rg"
3- location = var. location
4-
5- tags = var. tags
6- }
7-
8- module "key_vault" {
9- source = " git::https://github.com/pagopa/terraform-azurerm-v3.git//key_vault?ref=v4.1.17"
10-
11- name = " ${ local . product } -${ var . domain } -kv"
12- location = azurerm_resource_group. sec_rg . location
13- resource_group_name = azurerm_resource_group. sec_rg . name
14- tenant_id = data. azurerm_client_config . current . tenant_id
15- soft_delete_retention_days = 90
16-
17- tags = var. tags
1+ data "azurerm_key_vault" "key_vault" {
2+ name = " ${ local . product } -${ var . domain } -kv"
3+ resource_group_name = " ${ local . product } -${ var . domain } -sec-rg"
184}
195
206# # ad group policy ##
217resource "azurerm_key_vault_access_policy" "ad_group_policy" {
22- key_vault_id = module . key_vault . id
8+ key_vault_id = data . azurerm_key_vault . key_vault . id
239
2410 tenant_id = data. azurerm_client_config . current . tenant_id
2511 object_id = data. azuread_group . adgroup_admin . object_id
@@ -34,12 +20,12 @@ resource "azurerm_key_vault_access_policy" "ad_group_policy" {
3420resource "azurerm_key_vault_access_policy" "adgroup_developers_policy" {
3521 count = var. env_short != " p" ? 1 : 0
3622
37- key_vault_id = module . key_vault . id
23+ key_vault_id = data . azurerm_key_vault . key_vault . id
3824
3925 tenant_id = data. azurerm_client_config . current . tenant_id
4026 object_id = data. azuread_group . adgroup_developers . object_id
4127
42- key_permissions = [" Get" , " List" , " Update" , " Create" , " Import" , " Delete" , ]
28+ key_permissions = [" Get" , " List" , " Update" , " Create" , " Import" , " Delete" , " Encrypt " , " Decrypt " , " GetRotationPolicy " ]
4329 secret_permissions = [" Get" , " List" , " Set" , " Delete" , ]
4430 storage_permissions = []
4531 certificate_permissions = [
@@ -51,12 +37,12 @@ resource "azurerm_key_vault_access_policy" "adgroup_developers_policy" {
5137resource "azurerm_key_vault_access_policy" "adgroup_externals_policy" {
5238 count = var. env_short == " d" ? 1 : 0
5339
54- key_vault_id = module . key_vault . id
40+ key_vault_id = data . azurerm_key_vault . key_vault . id
5541
5642 tenant_id = data. azurerm_client_config . current . tenant_id
5743 object_id = data. azuread_group . adgroup_externals . object_id
5844
59- key_permissions = [" Get" , " List" , " Update" , " Create" , " Import" , " Delete" , ]
45+ key_permissions = [" Get" , " List" , " Update" , " Create" , " Import" , " Delete" , " Encrypt " , " Decrypt " ]
6046 secret_permissions = [" Get" , " List" , " Set" , " Delete" , ]
6147 storage_permissions = []
6248 certificate_permissions = [
@@ -73,7 +59,7 @@ data "azuread_service_principal" "iac_principal" {
7359
7460resource "azurerm_key_vault_access_policy" "azdevops_iac_policy" {
7561 count = var. enable_iac_pipeline ? 1 : 0
76- key_vault_id = module . key_vault . id
62+ key_vault_id = data . azurerm_key_vault . key_vault . id
7763 tenant_id = data. azurerm_client_config . current . tenant_id
7864 object_id = data. azuread_service_principal . iac_principal [0 ]. object_id
7965
@@ -93,115 +79,7 @@ resource "azurerm_key_vault_secret" "ai_connection_string" {
9379 value = data. azurerm_application_insights . application_insights . connection_string
9480 content_type = " text/plain"
9581
96- key_vault_id = module. key_vault . id
97- }
98-
99- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
100- resource "azurerm_key_vault_secret" "afm_marketplace_subscription_key" {
101- name = " afm-marketplace-subscription-key"
102- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
103- content_type = " text/plain"
104-
105- key_vault_id = module. key_vault . id
106-
107- lifecycle {
108- ignore_changes = [
109- value ,
110- ]
111- }
112- }
113-
114- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
115- resource "azurerm_key_vault_secret" "afm_utils_subscription_key" {
116- name = " afm-utils-subscription-key"
117- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
118- content_type = " text/plain"
119-
120- key_vault_id = module. key_vault . id
121-
122- lifecycle {
123- ignore_changes = [
124- value ,
125- ]
126- }
127- }
128-
129-
130- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
131- resource "azurerm_key_vault_secret" "afm_cosmos_key" {
132- name = " afm-cosmos-key"
133- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
134- content_type = " text/plain"
135-
136- key_vault_id = module. key_vault . id
137-
138- lifecycle {
139- ignore_changes = [
140- value ,
141- ]
142- }
143- }
144-
145- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
146- resource "azurerm_key_vault_secret" "oracle_db_cfg_password" {
147- name = " oracle-db-cfg-password"
148- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
149- content_type = " text/plain"
150-
151- key_vault_id = module. key_vault . id
152-
153- lifecycle {
154- ignore_changes = [
155- value ,
156- ]
157- }
158- }
159-
160- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
161- resource "azurerm_key_vault_secret" "oracle_db_cfg_dev_nexi_password" {
162- count = var. env_short == " d" ? 1 : 0
163- name = " oracle-db-cfg-dev-password"
164- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
165- content_type = " text/plain"
166-
167- key_vault_id = module. key_vault . id
168-
169- lifecycle {
170- ignore_changes = [
171- value ,
172- ]
173- }
174- }
175-
176- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
177- resource "azurerm_key_vault_secret" "oracle_db_cfg_prf_nexi_password" {
178- count = var. env_short == " u" ? 1 : 0
179- name = " oracle-db-cfg-prf-password"
180- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
181- content_type = " text/plain"
182-
183- key_vault_id = module. key_vault . id
184-
185- lifecycle {
186- ignore_changes = [
187- value ,
188- ]
189- }
190- }
191-
192- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
193- resource "azurerm_key_vault_secret" "postgresql_db_cfg_password" {
194- name = " postgresql-db-cfg-password"
195- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
196- content_type = " text/plain"
197-
198- key_vault_id = module. key_vault . id
199-
200- lifecycle {
201- ignore_changes = [
202- value ,
203- ]
204- }
82+ key_vault_id = data. azurerm_key_vault . key_vault . id
20583}
20684
20785data "azurerm_redis_cache" "redis_cache" {
@@ -215,45 +93,15 @@ resource "azurerm_key_vault_secret" "redis_password" {
21593 value = data. azurerm_redis_cache . redis_cache . primary_access_key
21694 content_type = " text/plain"
21795
218- key_vault_id = module . key_vault . id
96+ key_vault_id = data . azurerm_key_vault . key_vault . id
21997}
22098
22199resource "azurerm_key_vault_secret" "redis_hostname" {
222100 name = " redis-hostname"
223101 value = data. azurerm_redis_cache . redis_cache . hostname
224102 content_type = " text/plain"
225103
226- key_vault_id = module. key_vault . id
227- }
228-
229- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
230- resource "azurerm_key_vault_secret" "github_token_read_packages" {
231- name = " github-token-read-packages"
232- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
233- content_type = " text/plain"
234-
235- key_vault_id = module. key_vault . id
236-
237- lifecycle {
238- ignore_changes = [
239- value ,
240- ]
241- }
242- }
243-
244- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
245- resource "azurerm_key_vault_secret" "apiconfig_selfcare_integration_api_subscription-key" {
246- name = " apiconfig-selfcare-integration-api-subscription-key"
247- value = " <TO_UPDATE_MANUALLY_BY_PORTAL>"
248- content_type = " text/plain"
249-
250- key_vault_id = module. key_vault . id
251-
252- lifecycle {
253- ignore_changes = [
254- value ,
255- ]
256- }
104+ key_vault_id = data. azurerm_key_vault . key_vault . id
257105}
258106
259107# create json letsencrypt inside kv
@@ -274,91 +122,11 @@ resource "azurerm_key_vault_secret" "storage_connection_string" {
274122 value = data. azurerm_storage_account . api_config_ica_sa . primary_connection_string
275123 content_type = " text/plain"
276124
277- key_vault_id = module. key_vault . id
278- }
279-
280- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
281- resource "azurerm_key_vault_secret" "nodo5_slack_webhook_url" {
282- name = " nodo5-slack-webhook-url"
283- value = " <TO UPDATE MANUALLY ON PORTAL>"
284- key_vault_id = module. key_vault . id
285-
286- lifecycle {
287- ignore_changes = [
288- value ,
289- ]
290- }
291- }
292-
293- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
294- resource "azurerm_key_vault_secret" "apicfg_cache_subscription_key" {
295- name = " api-config-cache-subscription-key"
296- value = " <TO UPDATE MANUALLY ON PORTAL>"
297- key_vault_id = module. key_vault . id
298-
299- lifecycle {
300- ignore_changes = [
301- value ,
302- ]
303- }
125+ key_vault_id = data. azurerm_key_vault . key_vault . id
304126}
305127
306128resource "azurerm_key_vault_secret" "apicfg_cache_tx_connection_string" {
307129 name = " nodo-dei-pagamenti-cache-tx-connection-string-key"
308130 value = data. azurerm_eventhub_authorization_rule . nodo_dei_pagamenti_cache_tx . primary_connection_string
309- key_vault_id = module. key_vault . id
310- }
311-
312- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
313- resource "azurerm_key_vault_secret" "cfg_for_node_subscription_key" {
314- name = " cfg-for-node-subscription-key"
315- value = " <TO UPDATE MANUALLY ON PORTAL>"
316- key_vault_id = module. key_vault . id
317-
318- lifecycle {
319- ignore_changes = [
320- value ,
321- ]
322- }
323- }
324-
325- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
326- resource "azurerm_key_vault_secret" "db_postgres_nexi_cfg_password" {
327- count = var. env_short == " p" ? 0 : 1
328- name = " db-postgres-nexi-cfg-password"
329- value = " <TO UPDATE MANUALLY ON PORTAL>"
330- key_vault_id = module. key_vault . id
331-
332- lifecycle {
333- ignore_changes = [
334- value ,
335- ]
336- }
337- }
338-
339- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
340- resource "azurerm_key_vault_secret" "db_postgres_nexi_cfg_password_prf" {
341- count = var. env_short == " u" ? 1 : 0
342- name = " db-postgres-nexi-cfg-password-prf"
343- value = " <TO UPDATE MANUALLY ON PORTAL>"
344- key_vault_id = module. key_vault . id
345-
346- lifecycle {
347- ignore_changes = [
348- value ,
349- ]
350- }
351- }
352-
353- # tfsec:ignore:azure-keyvault-ensure-secret-expiry tfsec:ignore:azure-keyvault-content-type-for-secret
354- resource "azurerm_key_vault_secret" "encrypted_github_token_read_packages_bot" {
355- name = " encrypted-github-token-read-packages-bot"
356- value = " <TO UPDATE MANUALLY ON PORTAL>"
357- key_vault_id = module. key_vault . id
358-
359- lifecycle {
360- ignore_changes = [
361- value ,
362- ]
363- }
131+ key_vault_id = data. azurerm_key_vault . key_vault . id
364132}
0 commit comments