Я попытался предоставить секрет хранилища ключей Terraform, определяющий политику доступа, как показано ниже. Но у меня проблемы с разрешением.
resource "azurerm_key_vault" "keyvault1" {
name = "${local.key_vault_one_name}"
location = "${local.location_name}"
resource_group_name = "${azurerm_resource_group.keyvault.name}"
enabled_for_disk_encryption = false
enabled_for_template_deployment = true
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.service_principal_object_id}"
application_id = "${data.azurerm_client_config.current.client_id}"
key_permissions = [
"get","list","update","create","import","delete","recover","backup","restore"
]
secret_permissions = [
"get","list","delete","recover","backup","restore","set"
]
certificate_permissions = [
"get","list","update","create","import","delete","recover","backup","restore", "deleteissuers", "getissuers", "listissuers", "managecontacts", "manageissuers", "setissuers"
]
}
}
# Create Key Vault Secrets
resource "azurerm_key_vault_secret" "test1" {
name = "db-username"
value = "bmipimadmin"
//vault_uri = "${azurerm_key_vault.keyvault1.vault_uri}"
key_vault_id = "${azurerm_key_vault.keyvault1.id}"
}
Я получаю указанную ниже ошибку при попытке применить терраформирование, даже если у субъекта-службы есть все права доступа, необходимые для игры с Key Vault.
Произошла 1 ошибка: * azurerm_key_vault_secret.test1: Произошла 1 ошибка: * azurerm_key_vault_secret.test1: keyvault.BaseClient # SetSecret: Ошибка ответа на запрос: StatusCode = 403 - Исходная ошибка: autorest / azure: Служба вернула ошибку. Status = 403 Code = "Forbidden" Message = "Доступ запрещен" InnerError = {"code": "AccessDenied"}