File tree Expand file tree Collapse file tree 2 files changed +44
-9
lines changed
Expand file tree Collapse file tree 2 files changed +44
-9
lines changed Original file line number Diff line number Diff line change @@ -32,7 +32,9 @@ resource "azurerm_mssql_server" "this" {
3232}
3333
3434resource "azurerm_key_vault_access_policy" "tde_policy" {
35- key_vault_id = var. key_vault_id
35+ for_each = { for k , v in var . key_vault_id : k => v }
36+
37+ key_vault_id = each. value
3638 tenant_id = azurerm_mssql_server. this . identity [0 ]. tenant_id
3739 object_id = azurerm_mssql_server. this . identity [0 ]. principal_id
3840
@@ -43,9 +45,23 @@ resource "azurerm_key_vault_access_policy" "tde_policy" {
4345 ]
4446}
4547
48+ resource "azurerm_key_vault_key" "this" {
49+ for_each = { for k , v in var . key_vault_id : k => v }
50+
51+ name = " tde-${ var . project } -${ var . env } -${ var . location } "
52+ key_type = var. key_type
53+ key_size = var. key_size
54+ key_vault_id = each. value
55+ key_opts = var. key_opts
56+ }
57+
4658resource "azurerm_mssql_server_transparent_data_encryption" "this" {
59+ for_each = { for k , v in var . key_vault_id : k => v }
60+
4761 server_id = azurerm_mssql_server. this . id
48- key_vault_key_id = var. tde_key
62+ key_vault_key_id = azurerm_key_vault_key. this [each . key ]. id
63+
64+ depends_on = [azurerm_key_vault_key . this ]
4965}
5066
5167resource "azurerm_mssql_firewall_rule" "this" {
Original file line number Diff line number Diff line change @@ -74,14 +74,33 @@ variable "ip_rules" {
7474 default = {}
7575}
7676
77- variable "key_vault_id " {
77+ variable "key_type " {
7878 type = string
79- description = " Key Vault Id "
80- default = " "
79+ description = " Key Type to use for this Key Vault Key: [EC|EC-HSM|Oct|RSA|RSA-HSM] "
80+ default = " RSA "
8181}
8282
83- variable "tde_key" {
84- type = string
85- description = " Transparent data encryption key id"
86- default = " "
83+ variable "key_size" {
84+ type = number
85+ description = " Size of the RSA key to create in bytes, requied for RSA & RSA-HSM: [1024|2048]"
86+ default = 2048
87+ }
88+
89+ variable "key_opts" {
90+ type = list (string )
91+ description = " JSON web key operations: [decrypt|encrypt|sign|unwrapKey|verify|wrapKey]"
92+ default = [
93+ " decrypt" ,
94+ " encrypt" ,
95+ " sign" ,
96+ " unwrapKey" ,
97+ " verify" ,
98+ " wrapKey"
99+ ]
87100}
101+
102+ variable "key_vault_id" {
103+ type = map (string )
104+ description = " Key Vault ID"
105+ default = {}
106+ }
You can’t perform that action at this time.
0 commit comments