Configurare le chiavi gestite dal cliente per crittografare i dati in pausa per gli ambienti del servizio di integrazione (ISE) in App per la logica di Azure

  1. Nel portale di Azureaprire l'insieme di credenziali delle chiavi di Azure.

  2. Nel menu dell'insieme di credenziali delle chiavi selezionare Criteri di accessoAggiungi criteri di accesso,ad esempio:

    Aggiungere criteri di accesso per l'identità gestita assegnata dal sistema

  3. Dopo aver aperto il riquadro Aggiungi criteri di accesso, seguire questa procedura:

    1. Selezionare queste opzioni:

      Impostazione Valori
      Configurare da un elenco di modelli (facoltativo) Gestione chiavi
      Autorizzazioni delle chiavi - - Get, List

      - - Annullare il wrapping della chiave, eseguire il wrapping della chiave

      Selezionare

    2. Per Seleziona entitàselezionare Nessuna selezionata. Dopo l'apertura del riquadro Principale, nella casella di ricerca individuare e selezionare l'ISE. Al termine, scegliere SelezionaAggiungi.

      Selezionare l'ISE da usare come entità

    3. Al termine del riquadro Criteri di accesso, selezionare Salva.

Per altre informazioni, vedere How to authenticate to Key Vault and Assign a Key Vault access policy.

Passaggi successivi

App per la logica di Azure si basa su Archiviazione di Azure archiviare e crittografare automaticamente i dati in pausa. Questa crittografia protegge i dati e consente di soddisfare gli impegni di sicurezza e conformità dell'organizzazione. Per impostazione predefinita, Archiviazione di Azure chiavi gestite da Microsoft per crittografare i dati. Per altre informazioni sul funzionamento della Archiviazione di Azure, vedere Crittografia Archiviazione di Azure per i dati in stato di inquieto e Crittografia dati di Azure in modalità in-rest.

Quando si crea un ambiente del servizio di integrazione (ISE) per ospitare le app per la logica e si vuole un maggiore controllo sulle chiavi di crittografia usate da Archiviazione di Azure, è possibile configurare, usare e gestire la propria chiave usando Azure Key Vault . Questa funzionalità è nota come "Bring Your Own Key" (BYOK) e la chiave è denominata "chiave gestita dal cliente". Con questa funzionalità, Archiviazione di Azure automaticamente la doppia crittografia o la crittografia dell'infrastruttura usando chiavi gestite dalla piattaforma per la chiave. Per altre informazioni, vedere Crittografare i dati con la crittografia dell'infrastruttura.

Questo argomento illustra come configurare e specificare la propria chiave di crittografia da usare quando si crea l'ISE usando l'API REST di App per la logica. Per i passaggi generali per creare un ISE tramite l'API REST di App per la logica, vedere Creare un ambiente del servizio di integrazione (ISE)usando l'API REST di App per la logica .

Considerazioni

  • Al momento, il supporto delle chiavi gestite dal cliente per un ISE è disponibile solo nelle aree seguenti:

    • Azure: Stati Uniti occidentali 2, Stati Uniti orientali e Stati Uniti centro-meridionali.

    • Azure per enti pubblici: Arizona, Virginia e Texas.

  • È possibile specificare una chiave gestita dal cliente solo quando si crea l'ISE,non successivamente. Non è possibile disabilitare questa chiave dopo la creazione dell'ISE. Attualmente non esiste alcun supporto per la rotazione di una chiave gestita dal cliente per un ISE.

  • L'insieme di credenziali delle chiavi in cui è archiviata la chiave gestita dal cliente deve esistere nella stessa area di Azure dell'ISE.

  • Per supportare le chiavi gestite dal cliente, l'ISE richiede l'abilitazione dell'identità gestita assegnata dal sistema o assegnata dall'utente. Questa identità consente all'ISE di autenticare l'accesso a risorse protette, ad esempio macchine virtuali e altri sistemi o servizi, che si trova in una rete virtuale di Azure o è connessa. In questo modo, non è necessario accedere con le credenziali.

  • Attualmente, per creare un ISE che supporta le chiavi gestite dal cliente e con uno dei due tipi di identità gestita abilitati, è necessario chiamare l'API REST di App per la logica usando una richiesta HTTPS PUT.

  • È necessario concedere all'insieme di credenziali delle chiavi l'accesso all'identità gestita dell'ISE,ma la tempistica dipende dall'identità gestita in uso.

    • Identità gestita assegnatadal sistema: entro 30 minuti dall'invio della richiesta HTTPS PUT che crea l'ISE, è necessario concedere all'insieme di credenziali delle chiavi l'accesso all'identità gestita dell'ISE. In caso contrario, la creazione di ISE ha esito negativo e viene visualizzato un errore di autorizzazione.

    • Identità gestita assegnatadall'utente: prima di inviare la richiesta HTTPS PUT che crea l'ISE, concedere all'insieme di credenziali delle chiavi l'accesso all'identità gestita dell'ISE.

Prerequisiti

  • Gli stessi prerequisiti e requisitiper abilitare l'accesso per l'ISE come quando si crea un ISE nel portale di Azure

  • Insieme di credenziali delle chiavi di Azure con le proprietà Elimina soft e Non ripulire abilitate

    Per altre informazioni sull'abilitazione di queste proprietà, Azure Key Vault panoramica dell'eliminazione soft e Configurare le chiavi gestite dal cliente con Azure Key Vault. Se non si ha ancora una Azure Key Vault,informazioni su come creare un insieme di credenziali delle chiavi usando portale di Azure,l'interfaccia della riga di comando di Azureo Azure PowerShell.

  • Nell'insieme di credenziali delle chiavi, una chiave creata con i valori delle proprietà seguenti:

    Proprietà Valore
    Tipo chiave RSA
    Dimensioni chiave RSA 2048
    Enabled

    Creare la chiave di crittografia gestita dal cliente

    Per altre informazioni, vedere Configurare chiavi gestite dal cliente con Azure Key Vault o il comando Azure PowerShell Add-AzKeyVaultKey.

  • Uno strumento che è possibile usare per creare l'ISE chiamando l'API REST di App per la logica con una richiesta PUT HTTPS. Ad esempio, è possibile usare Postmanoppure creare un'app per la logica che esegue questa attività.

Creare ISE con l'insieme di credenziali delle chiavi e il supporto delle identità gestite

Per creare l'ISE chiamando l'API REST di App per la logica, effettuare questa richiesta HTTPS PUT:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}?api-version=2019-05-01

Importante

La versione 2019-05-01 dell'API REST di App per la logica richiede l'invio di una richiesta HTTPS PUT personalizzata per i connettori ISE.

Il completamento della distribuzione richiede in genere due ore. In alcuni casi, la distribuzione potrebbe richiedere fino a quattro ore. Per controllare lo stato della distribuzione, nella portale di Azuresulla barra degli strumenti di Azure selezionare l'icona delle notifiche, che apre il riquadro delle notifiche.

Nota

Se si verifica un errore di distribuzione o si elimina l'ISE, Azure potrebbe richiedere fino a un'ora prima di rilasciare le subnet. Questo ritardo indica che potrebbe essere necessario attendere prima di riusare tali subnet in un altro ISE.

Se si elimina la rete virtuale, Azure impiega in genere fino a due ore per rilasciare le subnet, ma questa operazione potrebbe richiedere più tempo. Quando si eliminano le reti virtuali, assicurarsi che non ci siano risorse ancora connesse. Vedere Eliminare la rete virtuale.

Intestazione della richiesta

Nell'intestazione della richiesta includere queste proprietà:

  • Content-type: impostare il valore di questa proprietà su application/json .

  • Authorization: impostare questo valore della proprietà sul bearer token per il cliente che ha accesso alla sottoscrizione o al gruppo di risorse di Azure che si vuole usare.

Testo della richiesta

Nel corpo della richiesta abilitare il supporto per questi elementi aggiuntivi fornendo le relative informazioni nella definizione ISE:

  • Identità gestita utilizzata dall'ISE per accedere all'insieme di credenziali delle chiavi
  • L'insieme di credenziali delle chiavi e la chiave gestita dal cliente che si vuole usare

Sintassi del corpo della richiesta

Ecco la sintassi del corpo della richiesta, che descrive le proprietà da usare quando si crea l'ISE:

{
   "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Logic/integrationServiceEnvironments/{ISE-name}",
   "name": "{ISE-name}",
   "type": "Microsoft.Logic/integrationServiceEnvironments",
   "location": "{Azure-region}",
   "sku": {
      "name": "Premium",
      "capacity": 1
   },
   "identity": {
      "type": <"SystemAssigned" | "UserAssigned">,
      // When type is "UserAssigned", include the following "userAssignedIdentities" object:
      "userAssignedIdentities": {
         "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-object-ID}": {
            "principalId": "{principal-ID}",
            "clientId": "{client-ID}"
         }
      }
   },
   "properties": {
      "networkConfiguration": {
         "accessEndpoint": {
            // Your ISE can use the "External" or "Internal" endpoint. This example uses "External".
            "type": "External"
         },
         "subnets": [
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-1}",
            },
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-2}",
            },
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-3}",
            },
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-4}",
            }
         ]
      },
      "encryptionConfiguration": {
         "encryptionKeyReference": {
            "keyVault": {
               "id": "subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.KeyVault/vaults/{key-vault-name}",
            },
            "keyName": "{customer-managed-key-name}",
            "keyVersion": "{key-version-number}"
         }
      }
   }
}

Esempio di corpo della richiesta

Questo corpo della richiesta di esempio mostra i valori di esempio:

{
   "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Logic/integrationServiceEnvironments/Fabrikam-ISE",
   "name": "Fabrikam-ISE",
   "type": "Microsoft.Logic/integrationServiceEnvironments",
   "location": "WestUS2",
   "identity": {
      "type": "UserAssigned",
      "userAssignedIdentities": {
         "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/*********************************": {
            "principalId": "*********************************",
            "clientId": "*********************************"
         }
      }
   },
   "sku": {
      "name": "Premium",
      "capacity": 1
   },
   "properties": {
      "networkConfiguration": {
         "accessEndpoint": {
            // Your ISE can use the "External" or "Internal" endpoint. This example uses "External".
            "type": "External"
         },
         "subnets": [
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-1",
            },
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-2",
            },
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-3",
            },
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-4",
            }
         ]
      },
      "encryptionConfiguration": {
         "encryptionKeyReference": {
            "keyVault": {
               "id": "subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.KeyVault/vaults/FabrikamKeyVault",
            },
            "keyName": "Fabrikam-Encryption-Key",
            "keyVersion": "********************"
         }
      }
   }
}

Concedere l'accesso all'insieme di credenziali delle chiavi

Anche se la tempistica varia in base all'identità gestita utilizzata, è necessario concedere all'insieme di credenziali delle chiavi l'accesso all'identità gestita dell'ISE.

  • Identitàgestita assegnata dal sistema: entro 30 minuti dall'invio della richiesta HTTPS PUT che crea l'ISE, è necessario aggiungere criteri di accesso all'insieme di credenziali delle chiavi per l'identità gestita assegnata dal sistema dell'ISE. In caso contrario, la creazione dell'ISE ha esito negativo e viene visualizzato un errore di autorizzazione.

  • Identità gestita assegnatadall'utente: prima di inviare la richiesta HTTPS PUT che crea l'ISE, aggiungere un criterio di accesso all'insieme di credenziali delle chiavi per l'identità gestita assegnata dall'utente dell'ISE.

Per questa attività, è possibile usare il Azure PowerShell Set-AzKeyVaultAccessPolicy oppure seguire questa procedura nel portale di Azure: