es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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     
Tags:  ,

Answer

  1. Avatar for 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 entrada SecretName en lugar del SecretsFilter. Aquí hay un ejemplo:

    steps:
      - task: AzureKeyVault@2
        inputs:
          azureSubscription: $(azure_subscription_name)
          KeyVaultName: ${{parameters.database_credential_key_vault_name}}
          SecretName: lab--myname--connectionstring
          RunAsPreJob: false
      - script: |
          # Use the $SECRET_VALUE variable to access your secret value
          Write-Output $env:SECRET_VALUE
        env:
          SECRET_VALUE: $(output.SecretName)
    

    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 llamada output.SecretName. Luego se puede acceder a esta variable de salida en tareas posteriores utilizando la sintaxis $(output.SecretName). La sección env especifica una variable de entorno llamada SECRET_VALUE que se puede usar dentro de la misma tarea de script para acceder al valor del secreto.

Comments are closed.