Autenticazione e autorizzazione di Inoltro di AzureAzure Relay authentication and authorization

Le applicazioni possono eseguire l'autenticazione a Inoltro di Azure usando l'autenticazione con firma di accesso condiviso (SAS).Applications can authenticate to Azure Relay using Shared Access Signature (SAS) authentication. L'autenticazione con firma di accesso condiviso consente alle applicazioni di eseguire l'autenticazione al servizio di inoltro di Azure con una chiave di accesso configurata nello spazio dei nomi dell'inoltro.SAS authentication enables applications to authenticate to the Azure Relay service using an access key configured on the Relay namespace. È quindi possibile usare questa chiave per generare un token di firma di accesso condiviso che i client possono usare per eseguire l'autenticazione al servizio di inoltro.You can then use this key to generate a Shared Access Signature token that clients can use to authenticate to the relay service.

Autenticazione della firma di accesso condivisoShared Access Signature authentication

L'autenticazione SAS garantisce l'accesso dell'utente alle risorse del servizio Inoltro di Azure con diritti specifici.SAS authentication enables you to grant a user access to Azure Relay resources with specific rights. Nel bus di servizio l'autenticazione SAS implica la configurazione di una chiave di crittografia con i relativi diritti in una risorsa.SAS authentication involves the configuration of a cryptographic key with associated rights on a resource. I client possono quindi ottenere l'accesso a questa risorsa presentando un token di firma di accesso condiviso composto dall'URI della risorsa a cui si vuole accedere e da una scadenza firmata con la chiave configurata.Clients can then gain access to that resource by presenting a SAS token, which consists of the resource URI being accessed and an expiry signed with the configured key.

È possibile configurare le chiavi per la firma di accesso condiviso in uno spazio dei nomi di Inoltro.You can configure keys for SAS on a Relay namespace. A differenza della messaggistica del bus di servizio, le connessioni ibride di inoltro supportano mittenti non autorizzati o anonimi.Unlike Service Bus messaging, Relay Hybrid Connections supports unauthorized or anonymous senders. È possibile abilitare l'accesso anonimo per l'entità quando la si crea, come illustrato nella schermata riportata di seguito dal portale:You can enable anonymous access for the entity when you create it, as shown in the following screen shot from the portal:

Per usare SAS, è possibile configurare un oggetto SharedAccessAuthorizationRule in uno spazio dei nomi costituito dai parametri seguenti:To use SAS, you can configure a SharedAccessAuthorizationRule object on a Relay namespace that consists of the following:

  • KeyName che identifica la regola.KeyName that identifies the rule.
  • PrimaryKey che è una chiave di crittografia usata per firmare/convalidare i token di firma di accesso condiviso.PrimaryKey is a cryptographic key used to sign/validate SAS tokens.
  • SecondaryKey che è una chiave di crittografia usata per firmare/convalidare i token di firma di accesso condiviso.SecondaryKey is a cryptographic key used to sign/validate SAS tokens.
  • Rights che rappresenta la raccolta di diritti Listen, Send o Manage concessi.Rights representing the collection of Listen, Send, or Manage rights granted.

Le regole di autorizzazione configurate a livello di spazio dei nomi possono garantire l'accesso a tutte le connessioni di inoltro in uno spazio dei nomi per i client con token firmati che usano la chiave corrispondente.Authorization rules configured at the namespace level can grant access to all relay connections in a namespace for clients with tokens signed using the corresponding key. In uno spazio dei nomi di Inoltro è possibile configurare fino a 12 regole di autorizzazione di questo tipo.Up to 12 such authorization rules can be configured on a Relay namespace. Per impostazione predefinita, un oggetto SharedAccessAuthorizationRule con tutti i diritti viene configurato per ogni spazio dei nomi quando ne viene eseguito il provisioning per la prima volta.By default, a SharedAccessAuthorizationRule with all rights is configured for every namespace when it is first provisioned.

Per accedere a un'entità, è necessario un token di firma di accesso condiviso generato usando un oggetto SharedAccessAuthorizationRule.To access an entity, the client requires a SAS token generated using a specific SharedAccessAuthorizationRule. Il token di firma di accesso condiviso viene generato usando l'algoritmo HMAC-SHA256 di una stringa di risorsa composta dall'URI della risorsa a cui si vuole accedere e da una scadenza, seguiti da una chiave di crittografia associata alla regola di autorizzazione.The SAS token is generated using the HMAC-SHA256 of a resource string that consists of the resource URI to which access is claimed, and an expiry with a cryptographic key associated with the authorization rule.

Il supporto per l'autenticazione della firma di accesso condiviso per Inoltro di Azure è incluso in Azure .NET SDK 2.0 e versioni successive.SAS authentication support for Azure Relay is included in the Azure .NET SDK versions 2.0 and later. Nella firma di accesso condiviso è incluso il supporto per un oggetto SharedAccessAuthorizationRule.SAS includes support for a SharedAccessAuthorizationRule. Tutte le API che accettano una stringa di connessione come parametro includono il supporto per le stringhe di connessione della firma di accesso condiviso.All APIs that accept a connection string as a parameter include support for SAS connection strings.

Passaggi successiviNext steps