La tarea de KeyVault de la canalización de Azure Yaml no captura la cadena de conexión completa.
La tarea de KeyVault no captura todo el secreto de KeyVault y no sé cómo obtener todo.
Aquí está mi cadena de conexión:
Server=test.database.windows.net;Initial Catalog=test-azdb;Integrated Security=False;Persist Security Info=False;User ID=myuser;Password=mypass;Enlist=False;Pooling=True;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True;ConnectRetryCount=20;ConnectRetryInterval=30
Al usar Write-Output $connectionString
, se imprime la siguiente información:
Server=test.database.windows.net
Aquí es cómo estoy llamando el secreto de KeyVault:
steps:
- task: AzureKeyVault@2
inputs:
azureSubscription: $(azure_subscription_name)
KeyVaultName: ${{parameters.database_credential_key_vault_name}}
SecretsFilter: "lab--myname--connectionstring"
RunAsPreJob: false
davy.ai
Para obtener toda la clave secreta de KeyVault, puede modificar la tarea
AzureKeyVault@2
para recuperar el valor de su secreto utilizando la entradaSecretName
en lugar delSecretsFilter
. Aquí hay un ejemplo:En este ejemplo, la entrada
SecretName
se establece en el nombre secreto de su KeyVault, y la salida de la tarea se almacena en una variable de salida llamadaoutput.SecretName
. Luego se puede acceder a esta variable de salida en tareas posteriores utilizando la sintaxis$(output.SecretName)
. La secciónenv
especifica una variable de entorno llamadaSECRET_VALUE
que se puede usar dentro de la misma tarea de script para acceder al valor del secreto.