1
+ resource "azurerm_resource_group" "keyvault_rg" {
2
+ name = var. resource_group_name
3
+ location = var. location
4
+ tags = {
5
+ Environment = upper (var. environment )
6
+ Orchestrator = " Terraform"
7
+ DisplayName = upper (var. resource_group_name )
8
+ ApplicationName = lower (var. application_name )
9
+ Temporary = upper (var. temporary )
10
+ }
11
+ }
12
+
13
+ resource "azurerm_key_vault" "kv" {
14
+ name = var. keyvault_name
15
+ resource_group_name = azurerm_resource_group. keyvault_rg . name
16
+ location = azurerm_resource_group. keyvault_rg . location
17
+ tenant_id = data. azurerm_client_config . current . tenant_id
18
+ sku_name = var. sku_name
19
+
20
+ enable_rbac_authorization = var. enable_rbac_authorization
21
+ enabled_for_deployment = var. azure_vms_can_access_certs_stored_as_secrets
22
+ enabled_for_disk_encryption = var. azure_disk_encryption_can_retrieve_secrets
23
+ enabled_for_template_deployment = var. azure_resource_manager_can_retrieve_secrets
24
+
25
+ purge_protection_enabled = var. purge_protection_enabled
26
+ soft_delete_retention_days = var. soft_delete_retention_days
27
+
28
+ public_network_access_enabled = var. public_network_access_enabled
29
+
30
+ access_policy {
31
+ tenant_id = data. azurerm_client_config . current . tenant_id
32
+ object_id = data. azurerm_client_config . current . object_id
33
+
34
+ key_permissions = [
35
+ " Get" , " List" , " Create" , " Recover" , " Purge" , " UnwrapKey" , " Update" , " WrapKey" , " Rotate" , " GetRotationPolicy" , " SetRotationPolicy"
36
+ ]
37
+
38
+ secret_permissions = [
39
+ " Get" ," Set" , " List" , " Delete" , " Recover"
40
+ ]
41
+
42
+ storage_permissions = [
43
+ " Get" , " Delete" , " List" , " Recover" , " RegenerateKey" ," Restore" ," Set" , " SetSAS" , " Update"
44
+ ]
45
+
46
+ certificate_permissions = [
47
+ " Create" , " Delete" , " Get" , " GetIssuers" , " Import" , " List" , " ListIssuers" , " ManageIssuers" , " SetIssuers" , " Update"
48
+ ]
49
+
50
+ }
51
+
52
+ tags = {
53
+ Environment = upper (var. environment )
54
+ Orchestrator = " Terraform"
55
+ DisplayName = upper (var. keyvault_name )
56
+ ApplicationName = lower (var. application_name )
57
+ Temporary = upper (var. temporary )
58
+
59
+ }
60
+ }
0 commit comments