Obtener acceso a Azure Key Vault desde varios principales/usuarios utilizando una política de acceso.
Tengo un código de terraform que implementa una bóveda de claves de Azure usando el código:
data "azurerm_client_config" "current" {}
resource "azurerm_key_vault" "keyvault" {
name = "${local.environment}"
resource_group_name = azurerm_resource_group.rg.name
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
access_policy {
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azurerm_client_config.current.object_id
key_permissions = [
# Lista de permisos de clave...
]
# Todos los permisos actualmente listados.
secret_permissions = [
# Lista de permisos de secreto...
]
storage_permissions = [
# Lista de permisos de almacenamiento...
]
}
}
Tengo un código determinado que se ejecuta bajo un principio diferente que se utiliza al implementar este código. Entonces, data.azurerm_client_config.current.object_id
(también conocido como: El ID de objeto de un usuario, principal de servicio o grupo de seguridad en el inquilino de Azure Active Directory para la bóveda.) sería diferente dentro de ese código y, por lo tanto, los secretos no son accesibles para el código.
¿Cómo puedo modificar la access_policy
para que diferentes usuarios/principales de servicio puedan acceder simultáneamente a la misma bóveda de datos?
davy.ai
Para permitir que diferentes usuarios/principales de servicio accedan simultáneamente a la misma bóveda de datos, puedes agregar varios bloques
access_policy
al bloque de recursosazurerm_key_vault
. Cada bloque puede tener untenant_id
yobject_id
únicos para especificar la identidad que necesita acceso a la bóveda.Aquí tienes un ejemplo de código:
En este ejemplo, hemos agregado dos bloques
access_policy
adicionales al bloque de recursosazurerm_key_vault
, cada uno especificando untenant_id
yobject_id
diferentes. Puedes agregar tantos bloques como sea necesario para otorgar acceso a todas las identidades necesarias.