Panoramica dei provider di identità per l'hub Azure StackOverview of identity providers for Azure Stack Hub

Azure Stack Hub richiede Azure Active Directory (Azure AD) o Active Directory Federation Services (AD FS), supportati da Active Directory come provider di identità.Azure Stack Hub requires Azure Active Directory (Azure AD) or Active Directory Federation Services (AD FS), backed by Active Directory as an identity provider. La scelta di un provider è una decisione monouso che viene effettuata quando si distribuisce Azure Stack hub per la prima volta.The choice of a provider is a one-time decision that you make when you first deploy Azure Stack Hub. I concetti e i dettagli di autorizzazione in questo articolo possono essere utili per scegliere tra i provider di identità.The concepts and authorization details in this article can help you choose between identity providers.

La scelta di Azure AD o AD FS è determinata dalla modalità di distribuzione di Azure Stack Hub:Your choice of either Azure AD or AD FS is determined by the mode in which you deploy Azure Stack Hub:

  • Quando si esegue la distribuzione in modalità connessa, è possibile usare Azure AD o AD FS.When you deploy it in a connected mode, you can use either Azure AD or AD FS.
  • Quando si esegue la distribuzione in modalità disconnessa, senza una connessione a Internet, è supportata solo AD FS.When you deploy it in a disconnected mode, without a connection to the internet, only AD FS is supported.

Per ulteriori informazioni sulle opzioni che dipendono dall'ambiente Azure Stack Hub, vedere gli articoli seguenti:For more information about your options, which depend on your Azure Stack Hub environment, see the following articles:

Concetti comuni per i provider di identitàCommon concepts for identity providers

Le sezioni successive illustrano i concetti comuni sui provider di identità e il loro uso nell'hub Azure Stack.The next sections discuss common concepts about identity providers and their use in Azure Stack Hub.

Terminologia per i provider di identità

Tenant e organizzazioni di directoryDirectory tenants and organizations

Una directory è un contenitore che include informazioni su utenti, applicazioni, gruppied entità servizio.A directory is a container that holds information about users, applications, groups, and service principals.

Un tenant di directory è un' organizzazione, ad esempio Microsoft o la propria società.A directory tenant is an organization, such as Microsoft or your own company.

  • Azure AD supporta più tenant e può supportare più organizzazioni, ognuna nella propria directory.Azure AD supports multiple tenants, and it can support multiple organizations, each in its own directory. Se si usa Azure AD e si hanno più tenant, è possibile concedere a app e utenti da un tenant l'accesso ad altri tenant della stessa directory.If you use Azure AD and have multiple tenants, you can grant apps and users from one tenant access to other tenants of that same directory.
  • AD FS supporta solo un singolo tenant e, di conseguenza, solo una singola organizzazione.AD FS supports only a single tenant and, therefore, only a single organization.

Utenti e gruppiUsers and groups

Gli account utente (identità) sono account standard che autenticano gli utenti usando un ID utente e una password.User accounts (identities) are standard accounts that authenticate individuals by using a user ID and password. I gruppi possono includere utenti o altri gruppi.Groups can include users or other groups.

La modalità di creazione e gestione di utenti e gruppi dipende dalla soluzione di identità usata.How you create and manage users and groups depends on the identity solution you use.

Nell'hub Azure Stack gli account utente:In Azure Stack Hub, user accounts:

  • Vengono creati nel formato * @ dominio nome utente* .Are created in the username@domain format. Sebbene AD FS esegue il mapping degli account utente a un'istanza di Active Directory, AD FS non supporta l'utilizzo del \<domain>\<alias> formato.Although AD FS maps user accounts to an Active Directory instance, AD FS doesn't support the use of the \<domain>\<alias> format.
  • Può essere configurato per l'uso dell'autenticazione a più fattori.Can be set up to use multi-factor authentication.
  • Sono limitati alla directory in cui si registrano per la prima volta, ovvero la directory dell'organizzazione.Are restricted to the directory where they first register, which is their organization's directory.
  • Può essere importato dalle directory locali.Can be imported from your on-premises directories. Per altre informazioni, vedere integrare le directory locali con Azure Active Directory.For more information, see Integrate your on-premises directories with Azure Active Directory.

Quando si accede al portale per gli utenti dell'organizzazione, si usa l'URL https: / /Portal.local.azurestack.External .When you sign in to your organization's user portal, you use the https://portal.local.azurestack.external URL. Quando si accede al portale di Azure Stack Hub da domini diversi da quello usato per registrare Azure Stack Hub, il nome di dominio usato per registrare Azure Stack hub deve essere aggiunto all'URL del portale.When signing into the Azure Stack Hub portal from domains other than the one used to register Azure Stack Hub, the domain name used to register Azure Stack Hub must be appended to the portal url. Se ad esempio Azure Stack Hub è stato registrato con fabrikam.onmicrosoft.com e l'account utente che ha effettuato l'accesso è admin@contoso.com , l'URL da usare per accedere al portale per gli utenti sarà: https: / /Portal.local.azurestack.External/fabrikam.onmicrosoft.com.For example, if Azure Stack Hub has been registered with fabrikam.onmicrosoft.com and the user account logging in is admin@contoso.com, the URL to use to log into the user portal would be: https://portal.local.azurestack.external/fabrikam.onmicrosoft.com.

Utenti guestGuest users

Gli utenti Guest sono account utente di altri tenant di directory ai quali è stato concesso l'accesso alle risorse nella directory.Guest users are user accounts from other directory tenants that have been granted access to resources in your directory. Per supportare gli utenti guest, usare Azure AD e abilitare il supporto per il multi-tenant.To support guest users, you use Azure AD and enable support for multi-tenancy. Quando il supporto è abilitato, è possibile invitare gli utenti guest ad accedere alle risorse nel tenant di directory, che a sua volta consente la collaborazione con le organizzazioni esterne.When support is enabled, you can invite guest users to access resources in your directory tenant, which in turn enables their collaboration with outside organizations.

Per invitare gli utenti guest, gli operatori e gli utenti cloud possono usare Azure ad collaborazione B2B.To invite guest users, cloud operators and users can use Azure AD B2B collaboration. Gli utenti invitati ottengono l'accesso a documenti, risorse e app dalla directory e mantengono il controllo sulle risorse e sui dati personali.Invited users get access to documents, resources, and apps from your directory, and you maintain control over your own resources and data.

Un utente Guest può accedere al tenant di directory di un'altra organizzazione.As a guest user, you can sign in to another organization's directory tenant. A tale scopo, aggiungere il nome di directory dell'organizzazione all'URL del portale.To do so, you append that organization's directory name to the portal URL. Se ad esempio si appartiene all'organizzazione Contoso e si vuole accedere alla directory Fabrikam, usare https: / /Portal.local.azurestack.External/fabrikam.onmicrosoft.com.For example, if you belong to the Contoso organization and want to sign in to the Fabrikam directory, you use https://portal.local.azurestack.external/fabrikam.onmicrosoft.com.

AppApps

È possibile registrare le app Azure AD o AD FS e quindi offrire le app agli utenti dell'organizzazione.You can register apps to Azure AD or AD FS, and then offer the apps to users in your organization.

Le app includono:Apps include:

  • App Web: gli esempi includono la portale di Azure e la Azure Resource Manager.Web apps: Examples include the Azure portal and Azure Resource Manager. Supportano le chiamate all'API Web.They support Web API calls.
  • Native Client: gli esempi includono Azure PowerShell, Visual Studio e l'interfaccia della riga di comando di Azure.Native client: Examples include Azure PowerShell, Visual Studio, and Azure CLI.

Le app possono supportare due tipi di tenant:Apps can support two types of tenancy:

  • Tenant singolo: supporta utenti e servizi solo dalla stessa directory in cui è registrata l'app.Single-tenant: Supports users and services only from the same directory where the app is registered.

    Nota

    Poiché AD FS supporta solo una singola directory, le app create in una topologia AD FS sono, per impostazione predefinita, le app a tenant singolo.Because AD FS supports only a single directory, apps you create in an AD FS topology are, by design, single-tenant apps.

  • Multi-tenant: supporta l'uso da parte di utenti e servizi dalla directory in cui è registrata l'app e da directory tenant aggiuntive.Multi-tenant: Supports use by users and services from both the directory where the app is registered and additional tenant directories. Con le app multi-tenant, gli utenti di un'altra directory tenant (un altro tenant Azure AD) possono accedere all'app.With multi-tenant apps, users of another tenant directory (another Azure AD tenant) can sign in to your app.

    Per ulteriori informazioni sul multi-tenant, vedere Enable multi-tenant.For more information about multi-tenancy, see Enable multi-tenancy.

    Per altre informazioni sullo sviluppo di un'app multi-tenant, vedere app multi-tenant.For more information about developing a multi-tenant app, see Multi-tenant apps.

Quando si registra un'app, si creano due oggetti:When you register an app, you create two objects:

  • Oggetto Application: rappresentazione globale dell'app in tutti i tenant.Application object: The global representation of the app across all tenants. Questa relazione è uno-a-uno con l'app software ed esiste solo nella directory in cui l'app è stata registrata per la prima volta.This relationship is one-to-one with the software app and exists only in the directory where the app is first registered.

  • Oggetto entità servizio: una credenziale creata per un'app nella directory in cui l'app è stata registrata per la prima volta.Service principal object: A credential that's created for an app in the directory where the app is first registered. Viene anche creata un'entità servizio nella directory di ogni tenant aggiuntivo in cui viene usata l'app.A service principal is also created in the directory of each additional tenant where that app is used. Questa relazione può essere uno-a-molti con l'app software.This relationship can be one-to-many with the software app.

Per altre informazioni sugli oggetti app e di entità servizio, vedere oggetti applicazione e oggetti entità servizio in Azure Active Directory.To learn more about app and service principal objects, see Application and service principal objects in Azure Active Directory.

Entità servizioService principals

Un'entità servizio è un set di credenziali per un'app o un servizio che concede l'accesso alle risorse nell'hub Azure stack.A service principal is a set of credentials for an app or service that grant access to resources in Azure Stack Hub. L'uso di un'entità servizio separa le autorizzazioni dell'app dalle autorizzazioni dell'utente dell'app.The use of a service principal separates the app permissions from the permissions of the user of the app.

Viene creata un'entità servizio in ogni tenant in cui viene usata l'app.A service principal is created in each tenant where the app is used. L'entità servizio stabilisce un'identità per l'accesso e l'accesso alle risorse, ad esempio gli utenti, protette da tale tenant.The service principal establishes an identity for sign-in and access to resources (such as users) that are secured by that tenant.

  • Un'app a tenant singolo ha una sola entità servizio, che si trova nella directory in cui viene creata per la prima volta.A single-tenant app has only one service principal, which is in the directory where it's first created. Questa entità servizio viene creata e viene consentita per essere usata durante la registrazione dell'app.This service principal is created and consents to being used during registration of the app.
  • Un'app Web multi-tenant o un'API ha un'entità servizio creata in ogni tenant in cui un utente di tale tenant acconsente all'uso dell'app.A multi-tenant web app or API has a service principal that's created in each tenant where a user from that tenant consents to the use of the app.

Le credenziali per le entità servizio possono essere una chiave generata tramite il portale di Azure o un certificato.Credentials for service principals can be either a key that's generated through the Azure portal or a certificate. L'uso di un certificato è adatto per l'automazione perché i certificati sono considerati più sicuri rispetto alle chiavi.The use of a certificate is suited for automation because certificates are considered more secure than keys.

Nota

Quando si usa AD FS con Azure Stack Hub, solo l'amministratore può creare entità servizio.When you use AD FS with Azure Stack Hub, only the administrator can create service principals. Con AD FS, le entità servizio richiedono certificati e vengono create tramite l'endpoint con privilegi (PEP).With AD FS, service principals require certificates and are created through the privileged endpoint (PEP). Per altre informazioni, vedere usare un'identità dell'app per accedere alle risorse.For more information, see Use an app identity to access resources.

Per informazioni sulle entità servizio per Azure Stack Hub, vedere creare entità servizio.To learn about service principals for Azure Stack Hub, see Create service principals.

ServiziServices

I servizi nell'hub Azure Stack che interagiscono con il provider di identità vengono registrati come app con il provider di identità.Services in Azure Stack Hub that interact with the identity provider are registered as apps with the identity provider. Analogamente alle app, la registrazione consente a un servizio di eseguire l'autenticazione con il sistema di identità.Like apps, registration enables a service to authenticate with the identity system.

Tutti i servizi di Azure usano i protocolli OpenID Connect e i token Web JSON per stabilirne l'identità.All Azure services use OpenID Connect protocols and JSON Web Tokens to establish their identity. Poiché Azure AD e AD FS usano i protocolli in modo coerente, è possibile usare Azure Active Directory Authentication Library (adal) per eseguire l'autenticazione in locale o in Azure (in uno scenario connesso).Because Azure AD and AD FS use protocols consistently, you can use Azure Active Directory Authentication Library (ADAL) to authenticate on-premises or to Azure (in a connected scenario). Con ADAL è anche possibile usare strumenti come Azure PowerShell e l'interfaccia della riga di comando di Azure per la gestione delle risorse tra cloud e locali.With ADAL, you can also use tools such as Azure PowerShell and Azure CLI for cross-cloud and on-premises resource management.

Identità e sistema di identitàIdentities and your identity system

Le identità per Azure Stack Hub includono account utente, gruppi ed entità servizio.Identities for Azure Stack Hub include user accounts, groups, and service principals.

Quando si installa Azure Stack Hub, diverse app e servizi predefiniti vengono registrati automaticamente con il provider di identità nel tenant di directory.When you install Azure Stack Hub, several built-in apps and services automatically register with your identity provider in the directory tenant. Alcuni servizi registrati vengono usati per l'amministrazione.Some services that register are used for administration. Altri servizi sono disponibili per gli utenti.Other services are available for users. Le registrazioni predefinite forniscono le identità dei servizi di base che possono interagire tra loro e con le identità aggiunte in un secondo momento.The default registrations give core services identities that can interact both with each other and with identities that you add later.

Se si configurano Azure AD con multi-tenant, alcune app vengono propagate alle nuove directory.If you set up Azure AD with multi-tenancy, some apps propagate to the new directories.

Autenticazione e autorizzazioneAuthentication and authorization

Autenticazione per app e utentiAuthentication by apps and users

Identità tra i livelli dell'hub Azure Stack

Per app e utenti, l'architettura di Azure Stack Hub è descritta da quattro livelli.For apps and users, the architecture of Azure Stack Hub is described by four layers. Le interazioni tra ognuno di questi livelli possono utilizzare tipi diversi di autenticazione.Interactions between each of these layers can use different types of authentication.

LivelloLayer Autenticazione tra livelliAuthentication between layers
Strumenti e client, ad esempio il portale dell'amministratoreTools and clients, such as the administrator portal Per accedere o modificare una risorsa nell'hub Azure Stack, gli strumenti e i client usano un token Web JSON per effettuare una chiamata al Azure Resource Manager.To access or modify a resource in Azure Stack Hub, tools and clients use a JSON Web Token to place a call to Azure Resource Manager.
Azure Resource Manager convalida il token Web JSON e visualizza le attestazioni nel token emesso per stimare il livello di autorizzazione dell'utente o dell'entità servizio nell'hub Azure stack.Azure Resource Manager validates the JSON Web Token and peeks at the claims in the issued token to estimate the level of authorization that user or service principal has in Azure Stack Hub.
Azure Resource Manager e i servizi principaliAzure Resource Manager and its core services Azure Resource Manager comunica con i provider di risorse per trasferire la comunicazione dagli utenti.Azure Resource Manager communicates with resource providers to transfer communication from users.
I trasferimenti utilizzano chiamate imperative dirette o chiamate dichiarative tramite modelli Azure Resource Manager.Transfers use direct imperative calls or declarative calls via Azure Resource Manager templates.
Provider di risorseResource providers Le chiamate passate ai provider di risorse sono protette con l'autenticazione basata su certificati.Calls passed to resource providers are secured with certificate-based authentication.
Azure Resource Manager e il provider di risorse rimaneno in comunicazione tramite un'API.Azure Resource Manager and the resource provider then stay in communication through an API. Per ogni chiamata ricevuta da Azure Resource Manager, il provider di risorse convalida la chiamata con tale certificato.For every call that's received from Azure Resource Manager, the resource provider validates the call with that certificate.
Infrastruttura e logica di businessInfrastructure and business logic I provider di risorse comunicano con la logica di business e l'infrastruttura usando una modalità di autenticazione scelta.Resource providers communicate with business logic and infrastructure by using an authentication mode of their choice. I provider di risorse predefiniti forniti con Azure Stack Hub utilizzano l'autenticazione di Windows per proteggere la comunicazione.The default resource providers that ship with Azure Stack Hub use Windows Authentication to secure this communication.

Informazioni necessarie per l'autenticazione

Eseguire l'autenticazione a Azure Resource ManagerAuthenticate to Azure Resource Manager

Per eseguire l'autenticazione con il provider di identità e ricevere un token Web JSON, è necessario disporre delle informazioni seguenti:To authenticate with the identity provider and receive a JSON Web Token, you must have the following information:

  1. URL per il sistema di identità (Authority): l'URL a cui è possibile raggiungere il provider di identità.URL for the identity system (Authority): The URL at which your identity provider can be reached. Ad esempio https: / /login.Windows.NET.For example, https://login.windows.net.
  2. URI ID app per Azure Resource Manager: identificatore univoco per Azure Resource Manager registrato con il provider di identità.App ID URI for Azure Resource Manager: The unique identifier for Azure Resource Manager that's registered with your identity provider. È inoltre univoco per ogni installazione dell'hub Azure Stack.It's also unique to each Azure Stack Hub installation.
  3. Credentials (credenziali): le credenziali usate per l'autenticazione con il provider di identità.Credentials: The credential you use to authenticate with the identity provider.
  4. URL per Azure Resource Manager: l'URL è il percorso del servizio di Azure Resource Manager.URL for Azure Resource Manager: The URL is the location of the Azure Resource Manager service. Ad esempio https: / /Management.Azure.com o https: / /Management.local.azurestack.External.For example, https://management.azure.com or https://management.local.azurestack.external.

Quando un'entità (un client, un'app o un utente) esegue una richiesta di autenticazione per accedere a una risorsa, la richiesta deve includere:When a principal (a client, apps, or user) makes an authentication request to access a resource, the request must include:

  • Credenziali dell'entità.The principal's credentials.
  • URI ID app della risorsa a cui l'entità vuole accedere.The app ID URI of the resource that the principal wants to access.

Le credenziali vengono convalidate dal provider di identità.The credentials are validated by the identity provider. Il provider di identità verifica anche che l'URI dell'ID app sia per un'app registrata e che l'entità disponga dei privilegi corretti per ottenere un token per tale risorsa.The identity provider also validates that the app ID URI is for a registered app, and that the principal has the correct privileges to obtain a token for that resource. Se la richiesta è valida, viene concesso un token Web JSON.If the request is valid, a JSON Web Token is granted.

Il token deve quindi passare l'intestazione di una richiesta a Azure Resource Manager.The token must then pass in the header of a request to Azure Resource Manager. Azure Resource Manager esegue le operazioni seguenti, senza un ordine specifico:Azure Resource Manager does the following, in no specific order:

  • Convalida l'attestazione dell' autorità emittente (ISS) per confermare che il token è del provider di identità corretto.Validates the issuer (iss) claim to confirm that the token is from the correct identity provider.
  • Convalida l'attestazione audience (AUD) per confermare che il token è stato emesso per Azure Resource Manager.Validates the audience (aud) claim to confirm that the token was issued to Azure Resource Manager.
  • Verifica che il token Web JSON sia firmato con un certificato configurato tramite OpenID e noto a Azure Resource Manager.Validates that the JSON Web Token is signed with a certificate that's configured through OpenID and known to Azure Resource Manager.
  • Esaminare le attestazioni rilasciate alle (IAT) e di scadenza (exp) per confermare che il token è attivo e può essere accettato.Review the issued at (iat) and expiration (exp) claims to confirm that the token is active and can be accepted.

Una volta completate tutte le convalide, Azure Resource Manager utilizza l' ID oggetto (OID) e i gruppi attestazioni per creare un elenco di risorse a cui l'entità può accedere.When all validations are complete, Azure Resource Manager uses the object id (oid) and the groups claims to make a list of resources that the principal can access.

Diagramma del protocollo di scambio di token

Nota

Dopo la distribuzione, Azure Active Directory autorizzazione amministratore globale non è obbligatoria.After deployment, Azure Active Directory global administrator permission isn't required. Tuttavia, alcune operazioni potrebbero richiedere le credenziali di amministratore globale, ad esempio uno script del programma di installazione del provider di risorse o una nuova funzionalità che richiede l'autorizzazione da concedere.However, some operations may require the global admin credentials (for example, a resource provider installer script or a new feature requiring a permission to be granted). È possibile riattivare temporaneamente le autorizzazioni di amministratore globale dell'account o usare un account amministratore globale separato che è un proprietario della sottoscrizione del provider predefinito.You can either temporarily re-instate the account's global admin permissions or use a separate global admin account that's an owner of the default provider subscription.

Usare il controllo degli accessi in base al ruoloUse Role-Based Access Control

Il controllo degli accessi in base al ruolo (RBAC) in Azure Stack Hub è coerente con l'implementazione di Microsoft Azure.Role-Based Access Control (RBAC) in Azure Stack Hub is consistent with the implementation in Microsoft Azure. È possibile gestire l'accesso alle risorse assegnando il ruolo controllo degli accessi in base al ruolo appropriato a utenti, gruppi e app.You can manage access to resources by assigning the appropriate RBAC role to users, groups, and apps. Per informazioni sull'uso di RBAC con Azure Stack Hub, vedere gli articoli seguenti:For information about how to use RBAC with Azure Stack Hub, see the following articles:

Eseguire l'autenticazione con Azure PowerShellAuthenticate with Azure PowerShell

Per informazioni dettagliate sull'uso di Azure PowerShell per l'autenticazione con Azure Stack Hub, vedere configurare l'ambiente PowerShell dell'utente dell'hub Azure stack.Details about using Azure PowerShell to authenticate with Azure Stack Hub can be found at Configure the Azure Stack Hub user's PowerShell environment.

Autenticazione con l'interfaccia della riga di comando di AzureAuthenticate with Azure CLI

Per informazioni sull'uso di Azure PowerShell per l'autenticazione con hub Azure Stack, vedere installare e configurare l'interfaccia della riga di comando di Azure per l'uso con l'hub Azure stack.For information about using Azure PowerShell to authenticate with Azure Stack Hub, see Install and configure Azure CLI for use with Azure Stack Hub.

Passaggi successiviNext steps