> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/server/it/knowledge-base/how-to-articles/devolutions-server-docker-deployment/devolutions-server-deployment-to-azure-app-service-using-a-container.md).

# Distribuzione di Devolutions Server in Azure App Service tramite un container

Questa guida illustra la distribuzione di Devolutions Server in Azure App Service tramite un container, che offre una piattaforma completamente gestita con scalabilità automatica, TLS integrato e integrazione con i servizi di Azure.

### Distribuzione tramite il portale di Azure

#### Prerequisiti

* Una sottoscrizione Azure.
* Azure CLI installata: `az --version` (oppure utilizzi Azure Cloud Shell).
* Accesso come amministratore di SQL Server (per la creazione del database).
* Immagine container di Devolutions Server nel registro (Docker Hub o Azure Container Registry).

#### Creare un database SQL di Azure

1. Vada al portale di Azure.
2. Clicchi su **Crea una risorsa** e cerchi ***Database SQL*** – ***Crea***.
3. Nella scheda ***Nozioni di base***, compili i campi come segue:

| Campi                             | Input suggerito                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sottoscrizione**                | Selezioni la sua sottoscrizione.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Gruppo di risorse**             | Crei un nuovo gruppo denominato `rg-dvls-prod`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Nome del database**             | Inserisca `dvls`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Server**                        | <p>Clicchi su <em><strong>Crea nuovo</strong></em> e compili i campi come segue:</p><ul><li><em><strong>Nome del server</strong></em>: <code>dvls-sql-server-\<unique></code>. Il nome del server deve essere univoco a livello globale.</li><li><em><strong>Località</strong></em>: selezioni una regione.</li><li><em><strong>Autenticazione</strong></em>: inserisca la sua autenticazione SQL.</li><li><em><strong>Account di accesso amministratore del server</strong></em>: <code>sqladmin</code>.</li><li><em><strong>Password</strong></em>: scelga una password complessa.</li></ul><p>Clicchi su <em><strong>OK</strong></em>.</p> |
| **Ambiente del carico di lavoro** | Selezioni ***Produzione***.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Calcolo + archiviazione**       | <p>Clicchi su <em><strong>Configura database</strong></em> e compili i campi come segue:</p><ul><li><em><strong>Livello di servizio</strong></em>: scelga <em><strong>Standard</strong></em>.</li><li><em><strong>DTU</strong></em>: SO (10 DTU) per i test, 20+ DTU per la produzione.</li></ul><p>Clicchi su <em><strong>Applica</strong></em>.</p>                                                                                                                                                                                                                                                                                         |

4. Quindi, per la scheda ***Rete***:

| Campi                                     | Input suggerito                                                             |
| ----------------------------------------- | --------------------------------------------------------------------------- |
| **Metodo di connettività**                | Selezioni ***Endpoint pubblico***.                                          |
| **Consenti servizi di Azure**             | Scelga ***Sì***, poiché è necessario per il funzionamento dell'App Service. |
| **Aggiungi indirizzo IP client corrente** | Scelga ***Sì***, poiché è necessario a fini di gestione.                    |

5. E la scheda ***Impostazioni aggiuntive***:

| Campi                   | Input suggerito           |
| ----------------------- | ------------------------- |
| **Usa dati esistenti**  | Selezioni ***Nessuno***.  |
| **Regole di confronto** | Scelga ***Predefinito***. |

6. Clicchi su ***Rivedi e crea*** – ***Crea*** e attenda la distribuzione. Dovrebbe richiedere circa 3-5 minuti.

#### Creare un utente del database per Devolutions Server

1. Vada all'***Editor di query*** del suo database SQL e acceda con le credenziali di amministratore del server.
2. Esegua la seguente query SQL:

```sql
-- Create dedicated DVLS user
CREATE LOGIN dvls_user WITH PASSWORD = 'YourSecurePassword123!';

-- Switch to DVLS database
USE dvls;

-- Create user and grant permissions
CREATE USER dvls_user FOR LOGIN dvls_user;
ALTER ROLE db_owner ADD MEMBER dvls_user;
```

#### Creare un App Service Plan

1. Clicchi su ***Crea una risorsa*** – ***App Service Plan*** – ***Crea***.
2. Compili la scheda ***Nozioni di base*** come segue:

| Campi                 | Input suggerito                                                                                                                                                                                                                                                                                                                                           |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sottoscrizione**    | Selezioni la sua sottoscrizione.                                                                                                                                                                                                                                                                                                                          |
| **Gruppo di risorse** | Inserisca lo stesso del database: `rg-dvls-prod`.                                                                                                                                                                                                                                                                                                         |
| **Nome**              | Inserisca `asp-dvls-prod`.                                                                                                                                                                                                                                                                                                                                |
| **Sistema operativo** | Selezioni il sistema operativo desiderato.                                                                                                                                                                                                                                                                                                                |
| **Regione**           | Inserisca la stessa regione scelta durante la configurazione del database SQL.                                                                                                                                                                                                                                                                            |
| **Piano tariffario**  | <p>Clicchi su <em><strong>Cambia dimensioni</strong></em>, quindi scelga i piani tariffari per:</p><ul><li><em><strong>Produzione</strong></em>: POV3 (minimo consigliato).</li><li><em><strong>Sviluppo</strong></em>: B2 (livello base, costo inferiore).</li></ul><p>Una volta effettuata la scelta, clicchi su <em><strong>Applica</strong></em>.</p> |

3. Clicchi su ***Rivedi e crea*** – ***Crea***.

#### Creare l'App Service

1. Si rechi in ***Crea una risorsa*** – ***App Web*** – ***Crea***.
2. Nella scheda ***Nozioni di base***, compili i campi come mostrato di seguito:

| Campi                 | Input suggerito                                                                   |
| --------------------- | --------------------------------------------------------------------------------- |
| **Sottoscrizione**    | Selezioni la sua sottoscrizione.                                                  |
| **Gruppo di risorse** | Inserisca `rg-dvls-prod`, come in precedenza.                                     |
| **Nome**              | Inserisca `dvls-prod-<unique>`. Diventerà `dvls-prod-<unique>.azurewebsites.net`. |
| **Pubblica**          | Scelga ***Container***.                                                           |
| **Sistema operativo** | Selezioni il sistema operativo desiderato.                                        |
| **Regione**           | Inserisca la stessa regione del database SQL e dell'App Service Plan.             |
| **Piano Linux**       | Selezioni `asp-dvls-prod` (creato durante la creazione dell'App Service Plan).    |

3. E la scheda ***Container***:

| Campi                   | Input suggerito                                                                                                       |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Origine immagine**    | Scelga ***Docker Hub*** o ***Azure Container Registry***.                                                             |
| **Immagine e tag**      | Inserisca `devolutions/devolutions-server:release-20XX.X` (sostituisca il numero di versione con quello più recente). |
| **Accesso al registro** | Selezioni ***Pubblico*** (per Docker Hub).                                                                            |

4. Clicchi su ***Rivedi e crea*** – ***Crea*** e attenda 2-3 minuti per la distribuzione.
5. Al termine della distribuzione, vada alle impostazioni ***Configurazione*** – ***Generali*** e attivi **Always on**. Questo impedisce al container di rimanere inattivo e di avviarsi solo in risposta alla prima richiesta in ingresso, cosa che altrimenti potrebbe apparire come un errore di avvio o di timeout.

#### Configurare le impostazioni dell'applicazione

1. Vada su ***App Service*** – ***Configurazione*** – ***Impostazioni applicazione***.
2. Clicchi su ***Nuova impostazione applicazione*** per ogni variabile:

| Nome                | Valore                                          | Note                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DATABASE_ENCRYPT`  | `true`                                          | Necessario per Azure SQL. Crittografa la connessione SQL (TLS). Azure SQL impone sempre la crittografia, quindi senza di essa la connessione non riesce.                                                                                                                                                                                                                                                                                    |
| `DATABASE_HOST`     | `dvls-sql-server-<unique>.database.windows.net` | Il nome host del suo SQL Server.                                                                                                                                                                                                                                                                                                                                                                                                            |
| `DATABASE_NAME`     | `dvls`                                          | Il nome del suo database.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `DATABASE_USERNAME` | `dvls_user`                                     | L'utente SQL dedicato.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `DATABASE_PASSWORD` | `YourSecurePassword123!`                        | In produzione, utilizzi un riferimento a Key Vault.                                                                                                                                                                                                                                                                                                                                                                                         |
| `WEB_SCHEME`        | `http`                                          | Protocollo (App Service gestisce la terminazione HTTPS).                                                                                                                                                                                                                                                                                                                                                                                    |
| `PORT`              | `5000`                                          | La porta di ascolto del container.                                                                                                                                                                                                                                                                                                                                                                                                          |
| `DVLS_TELEMETRY`    | `true`                                          | Abilita la telemetria.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `WEBSITES_PORT`     | `5000`                                          | <p>Specifico di Azure (indica ad App Service quale porta inoltrare).<br><br>Alcune nuove app Web di Azure hanno ora il supporto Sidecar abilitato per impostazione predefinita. Quando il supporto Sidecar è abilitato, <code>WEBSITES\_PORT</code> viene ignorato. Disabiliti il supporto Sidecar per utilizzare <code>WEBSITES\_PORT=5000</code> come documentato, oppure lo lasci abilitato e imposti direttamente la porta su 5000.</p> |
|                     |                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                                             |

3. Clicchi su ***Salva***, quindi su ***Continua*** per confermare il riavvio.

#### Inizializzare Devolutions Server e recuperare la configurazione di crittografia

{% tabs %}
{% tab title="Windows" %}

* Vada su ***Configurazione*** – ***Impostazioni applicazione***.
* Aggiunga una nuova impostazione:
  * **Nome**: `DVLS_INIT`
  * **Valore**: `true`
* Clicchi su ***Salva*** – ***Continua***. L'app viene riavviata.
* In ***Monitoraggio***, vada a ***Flusso di log*** e attenda 1-2 minuti per il completamento dell'inizializzazione.
* Abiliti temporaneamente l'accesso SSH andando su ***Strumenti di sviluppo*** – ***SSH*** e cliccando su ***Vai***.
* Estragga la configurazione di crittografia:

  ```powershell
  cat /opt/devolutions/dvls/App_Data/encryption.config | base64
  ```
* Copi l'output base64.
* Vada su ***Configurazione*** – ***Impostazioni applicazione*** – ***Nuova impostazione applicazione***. Inserisca `DVLS_ENCRYPTION_CONFIG_B64` nel campo ***Nome*** e incolli nel campo ***Valore*** il contenuto del file base64 copiato durante il passaggio #7. Clicchi su ***OK***.
* Individui l'impostazione `DVLS_INIT` e clicchi su ***Elimina***.
* Clicchi su ***Salva***, quindi su ***Continua***.
  {% endtab %}

{% tab title="macOS" %}

* Vada su ***Configurazione*** – ***Impostazioni applicazione***.
* Aggiunga una nuova impostazione:
  * **Nome**: `DVLS_INIT`
  * **Valore**: `true`
* Clicchi su ***Salva*** – ***Continua***. L'app viene riavviata.
* In ***Monitoraggio***, vada a ***Flusso di log*** e attenda 1-2 minuti per il completamento dell'inizializzazione.
* Abiliti temporaneamente l'accesso SSH andando su ***Strumenti di sviluppo*** – ***SSH*** e cliccando su ***Vai***.
* Estragga la configurazione di crittografia:

  ```bash
  cat /opt/devolutions/dvls/App_Data/encryption.config | base64
  ```
* Copi l'output base64.
* Vada su ***Configurazione*** – ***Impostazioni applicazione*** – ***Nuova impostazione applicazione***. Inserisca `DVLS_ENCRYPTION_CONFIG_B64` nel campo ***Nome*** e incolli nel campo ***Valore*** il contenuto del file base64 copiato durante il passaggio #7. Clicchi su ***OK***.
* Individui l'impostazione `DVLS_INIT` e clicchi su ***Elimina***.
* Clicchi su ***Salva***, quindi su ***Continua***.
  {% endtab %}

{% tab title="Linux" %}

* Vada su ***Configurazione*** – ***Impostazioni applicazione***.
* Aggiunga una nuova impostazione:
  * **Nome**: `DVLS_INIT`
  * **Valore**: `true`
* Clicchi su ***Salva*** – ***Continua***. L'app viene riavviata.
* In ***Monitoraggio***, vada a ***Flusso di log*** e attenda 1-2 minuti per il completamento dell'inizializzazione.
* Abiliti temporaneamente l'accesso SSH andando su ***Strumenti di sviluppo*** – ***SSH*** e cliccando su ***Vai***.
* Estragga la configurazione di crittografia:

  ```bash
  cat /opt/devolutions/dvls/App_Data/encryption.config | base64
  ```
* Copi l'output base64.
* Vada su ***Configurazione*** – ***Impostazioni applicazione*** – ***Nuova impostazione applicazione***. Inserisca `DVLS_ENCRYPTION_CONFIG_B64` nel campo ***Nome*** e incolli nel campo ***Valore*** il contenuto del file base64 copiato durante il passaggio #7. Clicchi su ***OK***.
* Individui l'impostazione `DVLS_INIT` e clicchi su ***Elimina***.
* Clicchi su ***Salva***, quindi su ***Continua***.
  {% endtab %}
  {% endtabs %}

#### Accedere a Devolutions Server

1. Vada a ***Panoramica*** – ***URL***.
2. Clicchi sull'URL o visiti: `https://devolutions-server-prod-<unique>.azurewebsites.net`
3. Effettui l'accesso con le credenziali predefinite:
   * **Nome utente**: `dvls-admin`
   * **Password**: `dvls-admin`

{% hint style="danger" %}
Subito dopo l'accesso, cambi la password predefinita andando su ***Amministrazione*** – ***Utenti***, cliccando sul pulsante con i puntini di sospensione verticali dell'utente `dvls-admin` e selezionando ***Cambia password***.
{% endhint %}

### Distribuzione con Azure CLI

Azure CLI è disponibile anche per distribuzioni automatizzate o ripetibili.

#### Prerequisiti

{% tabs %}
{% tab title="Windows" %}

```
# Login to Azure
az login

# Set subscription
az account set --subscription "Your Subscription Name"

# Verify Azure CLI version (2.50+ recommended)
az --version
```

{% endtab %}

{% tab title="macOS" %}

```
# Login to Azure
az login

# Set subscription
az account set --subscription "Your Subscription Name"

# Verify Azure CLI version (2.50+ recommended)
az --version
```

{% endtab %}

{% tab title="Linux" %}

```
# Login to Azure
az login

# Set subscription
az account set --subscription "Your Subscription Name"

# Verify Azure CLI version (2.50+ recommended)
az --version
```

{% endtab %}
{% endtabs %}

#### Dominio personalizzato e TLS

**Aggiungere un dominio personalizzato**

1. Vada a ***App Service*** – ***Domini personalizzati*** – ***Aggiungi dominio personalizzato***.
2. Inserisca il suo dominio: `devolutions-server.company.com`
3. Segua le istruzioni di configurazione DNS:
   * **CNAME**: `devolutions-server.company.com` → `devolutions-server-prod-<unique>.azurewebsites.net`.
   * Oppure **record A** + record TXT per il dominio apex.
4. Clicchi su ***Convalida***, quindi su ***Aggiungi***.

**Aggiungere un certificato gestito (gratuito e con rinnovo automatico)**

1. Vada a ***Certificati*** – ***Certificati gestiti*** – ***Aggiungi certificato***.
2. Selezioni il suo dominio personalizzato.
3. Clicchi su ***Convalida***, quindi su ***Aggiungi***.
4. Vada a ***Domini personalizzati***, selezioni il suo dominio e clicchi su ***Aggiungi associazione***.
5. Per il ***Certificato***, selezioni ***Certificato gestito***.
6. Per il ***Tipo TLS/SSL***, scelga ***SNI SSL***.
7. Clicchi su ***Aggiungi***.

**Forzare HTTPS**

1. Vada a ***Configurazione*** – ***Impostazioni generali***.
2. Imposti ***Solo HTTPS*** su ***Attivato*** e clicchi su ***Salva***.

### Monitoraggio

#### Abilitare Application Insights

**Portale**

1. Vada a ***App Service*** – ***Application Insights*** – ***Attiva Application Insights***.
2. ***Crea nuovo*** o ***Seleziona esistente*** per le risorse Application Insights.
3. Clicchi su ***Applica***.

**CLI**

{% tabs %}
{% tab title="Windows" %}

```powershell
# Create Application Insights
az monitor app-insights component create `
  --app dvls-insights `
  --location eastus `
  --resource-group rg-dvls-prod `
  --application-type web

# Get connection string
$CONN_STRING = az monitor app-insights component show `
  --app dvls-insights `
  --resource-group rg-dvls-prod `
  --query connectionString -o tsv

# Configure App Service
az webapp config appsettings set `
  --resource-group rg-dvls-prod `
  --name dvls-prod-<unique> `
  --settings "APPLICATIONINSIGHTS_CONNECTION_STRING=$CONN_STRING"
```

{% endtab %}

{% tab title="macOS" %}

```bash
# Create Application Insights
az monitor app-insights component create \
  --app dvls-insights \
  --location eastus \
  --resource-group rg-dvls-prod \
  --application-type web

# Get connection string
CONN_STRING=$(az monitor app-insights component show \
  --app dvls-insights \
  --resource-group rg-dvls-prod \
  --query connectionString -o tsv)

# Configure App Service
az webapp config appsettings set \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --settings \
    APPLICATIONINSIGHTS_CONNECTION_STRING="$CONN_STRING"
```

{% endtab %}

{% tab title="Linux" %}

```bash
# Create Application Insights
az monitor app-insights component create \
  --app dvls-insights \
  --location eastus \
  --resource-group rg-dvls-prod \
  --application-type web

# Get connection string
CONN_STRING=$(az monitor app-insights component show \
  --app dvls-insights \
  --resource-group rg-dvls-prod \
  --query connectionString -o tsv)

# Configure App Service
az webapp config appsettings set \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --settings \
    APPLICATIONINSIGHTS_CONNECTION_STRING="$CONN_STRING"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Qui la località è impostata su East US come esempio. Si assicuri di modificare il valore in base alla sua area.
{% endhint %}

### Visualizzare i log

{% tabs %}
{% tab title="Windows" %}
**Log in streaming**

```powershell
az webapp log tail `
  --resource-group rg-dvls-prod `
  --name dvls-prod-<unique>
```

**Download dei log**

```powershell
az webapp log download `
  --resource-group rg-dvls-prod `
  --name dvls-prod-<unique> `
  --log-file dvls-logs.zip
```

{% endtab %}

{% tab title="macOS" %}
**Log in streaming**

```bash
az webapp log tail \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique>
```

**Download dei log**

```bash
az webapp log download \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --log-file dvls-logs.zip
```

{% endtab %}

{% tab title="Linux" %}
**Log in streaming**

```bash
az webapp log tail \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique>
```

**Download dei log**

```bash
az webapp log download \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --log-file dvls-logs.zip
```

{% endtab %}
{% endtabs %}

### Sicurezza

#### Utilizzare Azure Key Vault per i segreti

{% tabs %}
{% tab title="Windows" %}

1. Abiliti l'***Identità gestita***:

   ```powershell
   az webapp identity assign `
     --resource-group rg-dvls-prod `
     --name dvls-prod-<unique>

   PRINCIPAL_ID=$(az webapp identity show `
     --resource-group rg-dvls-prod `
     --name dvls-prod-<unique> `
     --query principalId -o tsv)
   ```
2. Crei un Key Vault e archivi il segreto:

   ```powershell
   az keyvault create `
     --name kv-dvls-prod `
     --resource-group rg-dvls-prod `
     --location eastus

   az keyvault secret set `
     --vault-name kv-dvls-prod `
     --name dvls-db-password `
     --value 'YourSecurePassword123!'
   ```
3. Conceda l'accesso:

   ```powershell
   az keyvault set-policy `
     --name kv-dvls-prod `
     --object-id "$PRINCIPAL_ID" `
     --secret-permissions get
   ```
4. Riferimento nelle ***Impostazioni applicazione***:

   ```powershell
   SECRET_URI=$(az keyvault secret show `
     --vault-name kv-dvls-prod `
     --name dvls-db-password `
     --query id -o tsv)

   az webapp config appsettings set `
     --resource-group rg-dvls-prod `
     --name dvls-prod-<unique> `
     --settings `
       DATABASE_PASSWORD="@Microsoft.KeyVault(SecretUri=${SECRET_URI})"
   ```

{% endtab %}

{% tab title="macOS" %}

1. Abiliti l'***Identità gestita***:

   ```bash
   az webapp identity assign \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique>

   PRINCIPAL_ID=$(az webapp identity show \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --query principalId -o tsv)
   ```
2. Crei un Key Vault e archivi il segreto:

   ```bash
   az keyvault create \
     --name kv-dvls-prod \
     --resource-group rg-dvls-prod \
     --location eastus

   az keyvault secret set \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --value 'YourSecurePassword123!'
   ```
3. Conceda l'accesso:

   ```bash
   az keyvault set-policy \
     --name kv-dvls-prod \
     --object-id "$PRINCIPAL_ID" \
     --secret-permissions get
   ```
4. Riferimento nelle ***Impostazioni applicazione***:

   ```bash
   SECRET_URI=$(az keyvault secret show \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --query id -o tsv)

   az webapp config appsettings set \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --settings \
       DATABASE_PASSWORD="@Microsoft.KeyVault(SecretUri=${SECRET_URI})"
   ```

{% endtab %}

{% tab title="Linux" %}

1. Abiliti l'***Identità gestita***:

   ```bash
   az webapp identity assign \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique>

   PRINCIPAL_ID=$(az webapp identity show \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --query principalId -o tsv)
   ```
2. Crei un Key Vault e archivi il segreto:

   ```bash
   az keyvault create \
     --name kv-dvls-prod \
     --resource-group rg-dvls-prod \
     --location eastus

   az keyvault secret set \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --value 'YourSecurePassword123!'
   ```
3. Conceda l'accesso:

   ```bash
   az keyvault set-policy \
     --name kv-dvls-prod \
     --object-id "$PRINCIPAL_ID" \
     --secret-permissions get
   ```
4. Riferimento nelle ***Impostazioni applicazione***:

   ```bash
   SECRET_URI=$(az keyvault secret show \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --query id -o tsv)

   az webapp config appsettings set \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --settings \
       DATABASE_PASSWORD="@Microsoft.KeyVault(SecretUri=${SECRET_URI})"
   ```

{% endtab %}
{% endtabs %}

#### Vedere anche

* [Configurazione Docker avanzata per Devolutions Server](/server/it/knowledge-base/how-to-articles/devolutions-server-docker-deployment/advanced-docker-configuration-for-devolutions-server.md)
* [Distribuire Devolutions Server con Docker](/server/it/knowledge-base/how-to-articles/devolutions-server-docker-deployment.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/server/it/knowledge-base/how-to-articles/devolutions-server-docker-deployment/devolutions-server-deployment-to-azure-app-service-using-a-container.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
