1
1
data "azurerm_client_config" "current" {}
2
2
3
- resource "azurerm_key_vault_access_policy" "server" {
4
- key_vault_id = data. terraform_remote_state . common . outputs . key_vault_id
5
- tenant_id = azurerm_postgresql_server. cmk . identity [0 ]. tenant_id
3
+ resource "azurerm_key_vault" "this" {
4
+ name = " ${ module . naming . resource_prefix . keyvault } postgres${ random_integer . this . result } "
5
+ location = azurerm_resource_group. this . location
6
+ resource_group_name = azurerm_resource_group. this . name
7
+ tenant_id = data. azurerm_client_config . current . tenant_id
8
+ sku_name = " premium"
9
+
10
+ purge_protection_enabled = true
11
+ }
12
+
13
+ resource "azurerm_key_vault_access_policy" "postgresql" {
14
+ key_vault_id = azurerm_key_vault. this . id
15
+ tenant_id = data. azurerm_client_config . current . tenant_id
6
16
object_id = azurerm_postgresql_server. cmk . identity [0 ]. principal_id
7
17
8
18
key_permissions = [" Get" , " UnwrapKey" , " WrapKey" ]
9
19
secret_permissions = [" Get" ]
20
+ }
21
+
22
+ resource "azurerm_key_vault_access_policy" "client" {
23
+ key_vault_id = azurerm_key_vault. this . id
24
+ tenant_id = data. azurerm_client_config . current . tenant_id
25
+ object_id = data. azurerm_client_config . current . object_id
26
+
27
+ key_permissions = [" Get" , " Create" , " Delete" , " List" , " Restore" , " Recover" , " UnwrapKey" , " WrapKey" , " Purge" , " Encrypt" , " Decrypt" , " Sign" , " Verify" , " GetRotationPolicy" , " SetRotationPolicy" ]
28
+ secret_permissions = [" Get" ]
29
+ }
30
+
31
+ resource "azurerm_key_vault_key" "this" {
32
+ name = " ${ module . naming . resource_prefix . keyvault-key } -${ random_integer . this . result } "
33
+ key_vault_id = azurerm_key_vault. this . id
34
+ key_type = " RSA"
35
+ key_size = 2048
36
+ key_opts = [" decrypt" , " encrypt" , " sign" , " unwrapKey" , " verify" , " wrapKey" ]
37
+
38
+ depends_on = [
39
+ azurerm_key_vault_access_policy . client ,
40
+ azurerm_key_vault_access_policy . postgresql
41
+ ]
10
42
}
0 commit comments