Visão geral dos provedores de identidade para o Hub de Azure StackOverview of identity providers for Azure Stack Hub

O Hub de Azure Stack requer Azure Active Directory (Azure AD) ou Serviços de Federação do Active Directory (AD FS) (AD FS), apoiado por Active Directory como um provedor de identidade.Azure Stack Hub requires Azure Active Directory (Azure AD) or Active Directory Federation Services (AD FS), backed by Active Directory as an identity provider. A escolha de um provedor é uma decisão única que você faz ao implantar o Hub Azure Stack pela primeira vez.The choice of a provider is a one-time decision that you make when you first deploy Azure Stack Hub. Os conceitos e os detalhes de autorização neste artigo podem ajudá-lo a escolher entre os provedores de identidade.The concepts and authorization details in this article can help you choose between identity providers.

Sua escolha do Azure AD ou AD FS é determinada pelo modo no qual você implanta Azure Stack Hub:Your choice of either Azure AD or AD FS is determined by the mode in which you deploy Azure Stack Hub:

  • Ao implantá-lo em um modo conectado, você pode usar o Azure AD ou o AD FS.When you deploy it in a connected mode, you can use either Azure AD or AD FS.
  • Quando você o implanta em um modo desconectado, sem uma conexão com a Internet, somente AD FS tem suporte.When you deploy it in a disconnected mode, without a connection to the internet, only AD FS is supported.

Para obter mais informações sobre suas opções, que dependem de seu ambiente de Hub de Azure Stack, consulte os seguintes artigos:For more information about your options, which depend on your Azure Stack Hub environment, see the following articles:

Conceitos comuns para provedores de identidadeCommon concepts for identity providers

As seções a seguir discutem conceitos comuns sobre provedores de identidade e seu uso no Azure Stack Hub.The next sections discuss common concepts about identity providers and their use in Azure Stack Hub.

Terminologia para provedores de identidade

Locatários e organizações de diretórioDirectory tenants and organizations

Um diretório é um contêiner que contém informações sobre usuários, aplicativos, grupose entidades de serviço.A directory is a container that holds information about users, applications, groups, and service principals.

Um locatário de diretório é uma organização, como a Microsoft ou sua própria empresa.A directory tenant is an organization, such as Microsoft or your own company.

  • O Azure AD dá suporte a vários locatários e pode dar suporte a várias organizações, cada uma em seu próprio diretório.Azure AD supports multiple tenants, and it can support multiple organizations, each in its own directory. Se você usar o Azure AD e tiver vários locatários, poderá conceder aplicativos e usuários de um acesso de locatário a outros locatários desse mesmo diretório.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 dá suporte apenas a um único locatário e, portanto, a apenas uma única organização.AD FS supports only a single tenant and, therefore, only a single organization.

Usuários e gruposUsers and groups

As contas de usuário (identidades) são contas padrão que autenticam indivíduos usando uma ID de usuário e senha.User accounts (identities) are standard accounts that authenticate individuals by using a user ID and password. Os grupos podem incluir usuários ou outros grupos.Groups can include users or other groups.

A maneira como você cria e gerencia usuários e grupos depende da solução de identidade que você usa.How you create and manage users and groups depends on the identity solution you use.

No Hub Azure Stack, contas de usuário:In Azure Stack Hub, user accounts:

  • São criados no formato de @ domínio username .Are created in the username@domain format. Embora AD FS Mapeie as contas de usuário para uma instância de Active Directory, AD FS não dá suporte ao uso do \<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.
  • Pode ser configurado para usar a autenticação multifator.Can be set up to use multi-factor authentication.
  • São restritas ao diretório onde eles se registram pela primeira vez, que é o diretório da organização.Are restricted to the directory where they first register, which is their organization's directory.
  • Pode ser importado de seus diretórios locais.Can be imported from your on-premises directories. Para obter mais informações, consulte integrar seus diretórios locais com o Azure Active Directory.For more information, see Integrate your on-premises directories with Azure Active Directory.

Ao entrar no portal do usuário da sua organização, você usa a 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. Ao entrar no portal do hub de Azure Stack de domínios diferentes daquele usado para registrar Azure Stack Hub, o nome de domínio usado para registrar Azure Stack hub deve ser anexado à URL do Portal.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. Por exemplo, se Azure Stack Hub tiver sido registrado com fabrikam.onmicrosoft.com e o logon da conta de usuário no for admin@contoso.com , a URL a ser usada para fazer logon no portal do usuário seria: 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.

Usuários convidadosGuest users

Os usuários convidados são contas de usuário de outros locatários de diretório que receberam acesso a recursos em seu diretório.Guest users are user accounts from other directory tenants that have been granted access to resources in your directory. Para dar suporte a usuários convidados, use o Azure AD e habilite o suporte para multilocação.To support guest users, you use Azure AD and enable support for multi-tenancy. Quando o suporte está habilitado, você pode convidar usuários convidados a acessar recursos no seu locatário de diretório, o que, por sua vez, habilita sua colaboração com organizações externas.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.

Para convidar usuários convidados, os operadores de nuvem e os usuários podem usar a colaboração B2B do Azure ad.To invite guest users, cloud operators and users can use Azure AD B2B collaboration. Os usuários convidados obtêm acesso a documentos, recursos e aplicativos do seu diretório, e você mantém o controle sobre seus próprios recursos e dados.Invited users get access to documents, resources, and apps from your directory, and you maintain control over your own resources and data.

Como um usuário convidado, você pode entrar no locatário do diretório de outra organização.As a guest user, you can sign in to another organization's directory tenant. Para fazer isso, você deve acrescentar o nome do diretório da organização à URL do Portal.To do so, you append that organization's directory name to the portal URL. Por exemplo, se você pertencer à organização Contoso e quiser entrar no diretório Fabrikam, use 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.

AplicativosApps

Você pode registrar aplicativos no Azure AD ou AD FS e, em seguida, oferecer os aplicativos aos usuários em sua organização.You can register apps to Azure AD or AD FS, and then offer the apps to users in your organization.

Os aplicativos incluem:Apps include:

  • Aplicativos Web: exemplos incluem o portal do Azure e Azure Resource Manager.Web apps: Examples include the Azure portal and Azure Resource Manager. Eles dão suporte a chamadas de API Web.They support Web API calls.
  • Native Client: exemplos incluem Azure PowerShell, Visual Studio e CLI do Azure.Native client: Examples include Azure PowerShell, Visual Studio, and Azure CLI.

Os aplicativos podem dar suporte a dois tipos de locação:Apps can support two types of tenancy:

  • Locatário único: dá suporte a usuários e serviços somente do mesmo diretório em que o aplicativo está registrado.Single-tenant: Supports users and services only from the same directory where the app is registered.

    Observação

    Como AD FS dá suporte apenas a um único diretório, os aplicativos que você cria em uma topologia de AD FS são, por design, aplicativos de locatário único.Because AD FS supports only a single directory, apps you create in an AD FS topology are, by design, single-tenant apps.

  • Multilocatário: dá suporte ao uso por usuários e serviços do diretório no qual o aplicativo está registrado e de diretórios de locatário adicionais.Multi-tenant: Supports use by users and services from both the directory where the app is registered and additional tenant directories. Com aplicativos multilocatários, os usuários de outro diretório de locatário (outro locatário do Azure AD) podem entrar em seu aplicativo.With multi-tenant apps, users of another tenant directory (another Azure AD tenant) can sign in to your app.

    Para obter mais informações sobre multilocação, consulte habilitar multilocação.For more information about multi-tenancy, see Enable multi-tenancy.

    Para obter mais informações sobre como desenvolver um aplicativo multilocatário, consulte aplicativos de vários locatários.For more information about developing a multi-tenant app, see Multi-tenant apps.

Ao registrar um aplicativo, você cria dois objetos:When you register an app, you create two objects:

  • Objeto Application: a representação global do aplicativo em todos os locatários.Application object: The global representation of the app across all tenants. Essa relação é um-para-um com o aplicativo de software e existe somente no diretório em que o aplicativo é registrado primeiro.This relationship is one-to-one with the software app and exists only in the directory where the app is first registered.

  • Objeto de entidade de serviço: uma credencial que é criada para um aplicativo no diretório em que o aplicativo é registrado primeiro.Service principal object: A credential that's created for an app in the directory where the app is first registered. Uma entidade de serviço também é criada no diretório de cada locatário adicional em que o aplicativo é usado.A service principal is also created in the directory of each additional tenant where that app is used. Essa relação pode ser um-para-muitos com o aplicativo de software.This relationship can be one-to-many with the software app.

Para saber mais sobre os objetos de aplicativo e de entidade de serviço, consulte objetos de aplicativo e entidade de serviço no Azure Active Directory.To learn more about app and service principal objects, see Application and service principal objects in Azure Active Directory.

Entidades de serviçoService principals

Uma entidade de serviço é um conjunto de credenciais para um aplicativo ou serviço que concede acesso a recursos no 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. O uso de uma entidade de serviço separa as permissões do aplicativo das permissões do usuário do aplicativo.The use of a service principal separates the app permissions from the permissions of the user of the app.

Uma entidade de serviço é criada em cada locatário em que o aplicativo é usado.A service principal is created in each tenant where the app is used. A entidade de serviço estabelece uma identidade para entrada e acesso a recursos (como usuários) que são protegidos por esse locatário.The service principal establishes an identity for sign-in and access to resources (such as users) that are secured by that tenant.

  • Um aplicativo de locatário único tem apenas uma entidade de serviço, que está no diretório onde ele foi criado pela primeira vez.A single-tenant app has only one service principal, which is in the directory where it's first created. Essa entidade de serviço é criada e consentida para ser usada durante o registro do aplicativo.This service principal is created and consents to being used during registration of the app.
  • Um aplicativo Web multilocatário ou uma API tem uma entidade de serviço que é criada em cada locatário em que um usuário desse locatário consentiu no uso do aplicativo.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.

As credenciais para entidades de serviço podem ser uma chave que é gerada por meio da portal do Azure ou de um certificado.Credentials for service principals can be either a key that's generated through the Azure portal or a certificate. O uso de um certificado é adequado para automação porque os certificados são considerados mais seguros do que as chaves.The use of a certificate is suited for automation because certificates are considered more secure than keys.

Observação

Quando você usa AD FS com Azure Stack Hub, somente o administrador pode criar entidades de serviço.When you use AD FS with Azure Stack Hub, only the administrator can create service principals. Com AD FS, as entidades de serviço exigem certificados e são criadas por meio do ponto de extremidade privilegiado (PEP).With AD FS, service principals require certificates and are created through the privileged endpoint (PEP). Para obter mais informações, consulte usar uma identidade de aplicativo para acessar recursos.For more information, see Use an app identity to access resources.

Para saber mais sobre entidades de serviço para Azure Stack Hub, confira criar entidades de serviço.To learn about service principals for Azure Stack Hub, see Create service principals.

ServiçosServices

Os serviços no Hub Azure Stack que interagem com o provedor de identidade são registrados como aplicativos com o provedor de identidade.Services in Azure Stack Hub that interact with the identity provider are registered as apps with the identity provider. Como os aplicativos, o registro permite que um serviço seja autenticado com o sistema de identidade.Like apps, registration enables a service to authenticate with the identity system.

Todos os serviços do Azure usam protocolos OpenID Connect e tokens Web JSON para estabelecer sua identidade.All Azure services use OpenID Connect protocols and JSON Web Tokens to establish their identity. Como o Azure AD e o AD FS usam protocolos de forma consistente, você pode usar a Adal ( biblioteca de autenticação Azure Active Directory ) para autenticar no local ou no Azure (em um cenário conectado).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). Com a ADAL, você também pode usar ferramentas como Azure PowerShell e CLI do Azure para o gerenciamento de recursos entre nuvem e local.With ADAL, you can also use tools such as Azure PowerShell and Azure CLI for cross-cloud and on-premises resource management.

Identidades e seu sistema de identidadeIdentities and your identity system

As identidades para o Hub de Azure Stack incluem contas de usuário, grupos e entidades de serviço.Identities for Azure Stack Hub include user accounts, groups, and service principals.

Quando você instala o Hub do Azure Stack, vários aplicativos e serviços internos são registrados automaticamente com seu provedor de identidade no locatário do diretório.When you install Azure Stack Hub, several built-in apps and services automatically register with your identity provider in the directory tenant. Alguns serviços que são registrados são usados para administração.Some services that register are used for administration. Outros serviços estão disponíveis para os usuários.Other services are available for users. Os registros padrão fornecem identidades de serviços principais que podem interagir entre si e com identidades que você adiciona mais tarde.The default registrations give core services identities that can interact both with each other and with identities that you add later.

Se você configurar o Azure AD com multilocação, alguns aplicativos se propagarão para os novos diretórios.If you set up Azure AD with multi-tenancy, some apps propagate to the new directories.

Autenticação e autorizaçãoAuthentication and authorization

Autenticação por aplicativos e usuáriosAuthentication by apps and users

Identidade entre camadas do hub de Azure Stack

Para aplicativos e usuários, a arquitetura do hub de Azure Stack é descrita por quatro camadas.For apps and users, the architecture of Azure Stack Hub is described by four layers. As interações entre cada uma dessas camadas podem usar tipos diferentes de autenticação.Interactions between each of these layers can use different types of authentication.

CamadaLayer Autenticação entre camadasAuthentication between layers
Ferramentas e clientes, como o portal do administradorTools and clients, such as the administrator portal Para acessar ou modificar um recurso em Azure Stack Hub, as ferramentas e os clientes usam um token Web JSON para fazer uma chamada para 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 valida o token Web JSON e exibe as declarações no token emitido para estimar o nível de autorização que o usuário ou a entidade de serviço tem no 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 seus principais serviçosAzure Resource Manager and its core services Azure Resource Manager se comunica com provedores de recursos para transferir a comunicação de usuários.Azure Resource Manager communicates with resource providers to transfer communication from users.
As transferências usam chamadas obrigatórias diretas ou chamadas declarativas por meio de modelos de Azure Resource Manager.Transfers use direct imperative calls or declarative calls via Azure Resource Manager templates.
Provedores de recursosResource providers As chamadas passadas para os provedores de recursos são protegidas com autenticação baseada em certificado.Calls passed to resource providers are secured with certificate-based authentication.
Azure Resource Manager e o provedor de recursos permanecem em comunicação por meio de uma API.Azure Resource Manager and the resource provider then stay in communication through an API. Para cada chamada recebida de Azure Resource Manager, o provedor de recursos valida a chamada com esse certificado.For every call that's received from Azure Resource Manager, the resource provider validates the call with that certificate.
Infraestrutura e lógica de negóciosInfrastructure and business logic Os provedores de recursos se comunicam com a lógica de negócios e a infraestrutura usando um modo de autenticação de sua escolha.Resource providers communicate with business logic and infrastructure by using an authentication mode of their choice. Os provedores de recursos padrão que acompanham o Hub de Azure Stack usam a autenticação do Windows para proteger essa comunicação.The default resource providers that ship with Azure Stack Hub use Windows Authentication to secure this communication.

Informações necessárias para a autenticação

Autenticar para Azure Resource ManagerAuthenticate to Azure Resource Manager

Para autenticar com o provedor de identidade e receber um token Web JSON, você deve ter as seguintes informações:To authenticate with the identity provider and receive a JSON Web Token, you must have the following information:

  1. URL para o sistema de identidade (autoridade): a URL na qual seu provedor de identidade pode ser acessado.URL for the identity system (Authority): The URL at which your identity provider can be reached. Por exemplo, https: / /login.Windows.net.For example, https://login.windows.net.
  2. URI da ID do aplicativo para Azure Resource Manager: o identificador exclusivo para Azure Resource Manager registrado com seu provedor de identidade.App ID URI for Azure Resource Manager: The unique identifier for Azure Resource Manager that's registered with your identity provider. Ele também é exclusivo para cada instalação de Hub de Azure Stack.It's also unique to each Azure Stack Hub installation.
  3. Credenciais: a credencial usada para autenticar com o provedor de identidade.Credentials: The credential you use to authenticate with the identity provider.
  4. URL para Azure Resource Manager: a URL é o local do serviço de Azure Resource Manager.URL for Azure Resource Manager: The URL is the location of the Azure Resource Manager service. Por exemplo, https: / /Management.Azure.com ou https: / /Management.local.azurestack.external.For example, https://management.azure.com or https://management.local.azurestack.external.

Quando uma entidade de segurança (um cliente, aplicativos ou usuário) faz uma solicitação de autenticação para acessar um recurso, a solicitação deve incluir:When a principal (a client, apps, or user) makes an authentication request to access a resource, the request must include:

  • As credenciais da entidade de segurança.The principal's credentials.
  • O URI da ID do aplicativo do recurso que a entidade de segurança deseja acessar.The app ID URI of the resource that the principal wants to access.

As credenciais são validadas pelo provedor de identidade.The credentials are validated by the identity provider. O provedor de identidade também valida que o URI da ID do aplicativo é para um aplicativo registrado e que a entidade de segurança tem os privilégios corretos para obter um token para esse recurso.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 a solicitação for válida, um token Web JSON será concedido.If the request is valid, a JSON Web Token is granted.

O token deve então passar o cabeçalho de uma solicitação para Azure Resource Manager.The token must then pass in the header of a request to Azure Resource Manager. Azure Resource Manager faz o seguinte, em nenhuma ordem específica:Azure Resource Manager does the following, in no specific order:

  • Valida a declaração do emissor (ISS) para confirmar se o token é do provedor de identidade correto.Validates the issuer (iss) claim to confirm that the token is from the correct identity provider.
  • Valida a declaração de Audience (AUD) para confirmar que o token foi emitido para Azure Resource Manager.Validates the audience (aud) claim to confirm that the token was issued to Azure Resource Manager.
  • Valida que o token Web JSON é assinado com um certificado configurado por meio de OpenID e conhecido como 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.
  • Examine as declarações emitidas às (IAT) e expiração (exp) para confirmar se o token está ativo e pode ser aceito.Review the issued at (iat) and expiration (exp) claims to confirm that the token is active and can be accepted.

Quando todas as validações forem concluídas, Azure Resource Manager usará a OID ( ID de objeto ) e as declarações de grupos para criar uma lista de recursos que a entidade de segurança pode acessar.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.

Diagrama do protocolo de troca de tokens

Observação

Após a implantação, Azure Active Directory permissão de administrador global não é necessária.After deployment, Azure Active Directory global administrator permission isn't required. No entanto, algumas operações podem exigir as credenciais de administrador global (por exemplo, um script do instalador do provedor de recursos ou um novo recurso que exija uma permissão a ser concedida).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). Você pode recriar temporariamente as permissões de administrador global da conta ou usar uma conta de administrador global separada que seja proprietária da assinatura do provedor padrão.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.

Usar o controle de acesso baseado em funçãoUse Role-Based Access Control

O RBAC (controle de acesso baseado em função) no Hub Azure Stack é consistente com a implementação em Microsoft Azure.Role-Based Access Control (RBAC) in Azure Stack Hub is consistent with the implementation in Microsoft Azure. Você pode gerenciar o acesso aos recursos atribuindo a função RBAC apropriada para usuários, grupos e aplicativos.You can manage access to resources by assigning the appropriate RBAC role to users, groups, and apps. Para obter informações sobre como usar o RBAC com o Hub Azure Stack, consulte os seguintes artigos:For information about how to use RBAC with Azure Stack Hub, see the following articles:

Autenticar com o Azure PowerShellAuthenticate with Azure PowerShell

Detalhes sobre como usar Azure PowerShell para autenticar com Azure Stack Hub podem ser encontrados em Configurar o ambiente do PowerShell do usuário do 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.

Autenticar com CLI do AzureAuthenticate with Azure CLI

Para obter informações sobre como usar Azure PowerShell para autenticar com o Hub do Azure Stack, consulte instalar e configurar o CLI do Azure para uso com o 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.

Próximas etapasNext steps