Todos os produtos
Search
Central de documentação

Resource Access Management:Exemplo: Configurar SSO baseado em função com AD FS

Última atualização: Jul 20, 2026

Configure o SSO baseado em função entre o AD FS (IdP) e a Alibaba Cloud (SP) usando um ambiente AD FS implantado em uma instância ECS com Windows Server 2012 R2.

Informações de contexto

Sua empresa usa o Active Directory (AD) para gerenciar funcionários e o AD FS para federação com aplicativos corporativos, incluindo a Alibaba Cloud. Um administrador do AD controla o acesso dos funcionários às contas da Alibaba Cloud por meio de associações a grupos de usuários. Neste exemplo, sua empresa tem duas contas da Alibaba Cloud (Account1 e Account2) com permissões de Admin e Reader. Alice pertence aos grupos do AD Aliyun-<account-id>-ADFS-Admin e Aliyun-<account-id>-ADFS-Reader. O objetivo é ativar o SSO baseado em função para que ela acesse ambas as contas.

Nota
  • <account-id> representa o ID da Account1 ou da Account2. No total, Alice pertence a quatro grupos do AD: Admin e Reader para cada conta.

  • A configuração do AD neste tópico serve apenas como orientação. A Alibaba Cloud não oferece suporte para configurações do Microsoft AD. Para configurar o AD FS, consulte Build an AD domain on a Windows instance.

Como funciona

A figura a seguir ilustra o fluxo de logon.

Basic SSO flow

Após configurar a federação, funcionários como Alice podem fazer login no console da Alibaba Cloud via SSO, sem necessidade de credenciais separadas. Consulte Overview of SAML-based role SSO.

Etapa 1: Configurar a Alibaba Cloud para confiar no AD FS

  1. No console RAM, crie um provedor de identidade (IdP) chamado ADFS e forneça seus metadados. A URL de metadados do AD FS é https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml.

    Nota

    Substitua <ADFS-server> pelo nome de domínio ou endereço IP do seu servidor AD FS.

    Consulte Configure SAML settings for role-based SSO on the Alibaba Cloud SP.

    Nota

    Se o arquivo de metadados exceder o limite de tamanho, reduza-o excluindo todo o conteúdo dentro das tags <fed:ClaimTypesRequested> e <fed:ClaimTypesOffered>.

  2. Na conta da Alibaba Cloud Account1, crie duas funções RAM (ADFS-Admin e ADFS-Reader) que confiem em um IdP. Selecione o IdP ADFS recém-criado. Conceda as políticas AdministratorAccess e ReadOnlyAccess às duas funções, respectivamente.

  3. Repita esse processo na Account2 para criar um IdP e funções RAM com os mesmos nomes (ADFS, ADFS-Admin e ADFS-Reader). Conceda as políticas AdministratorAccess e ReadOnlyAccess às funções, respectivamente.

Nota

Após essa configuração, suas contas da Alibaba Cloud passam a confiar na identidade do usuário e nas informações de função presentes nas solicitações SAML do AD FS.

Etapa 2: Configurar o AD FS para confiar na Alibaba Cloud

No AD FS, um SP SAML é denominado relying party. Configure a Alibaba Cloud como uma relying party no AD FS:

  1. No Server Manager, clique em no menu Tools e selecione AD FS Management.

  2. No console de gerenciamento AD FS, inicie o assistente Add Relying Party Trust.

    Na página Welcome, selecione claims-aware e clique em Start.

  3. Forneça os metadados do SP SAML para o SSO baseado em função da Alibaba Cloud. A URL dos metadados é https://signin.alibabacloud.com/saml-role/sp-metadata.xml.

    Na página Select Data Source, selecione Import data about the relying party published online or on a local network. Na caixa de texto Federation metadata address (host name or URL), insira a URL dos metadados e clique em Next.

  4. Conclua o assistente mantendo as configurações padrão.

Etapa 3: Configurar atributos de asserção SAML

O AD FS deve incluir os atributos NameID, Role e RoleSessionName na asserção SAML. Configure-os usando regras de transformação de emissão.

  • NameID

    Mapeie o nome da conta Windows no AD para o atributo NameID:

    1. Clique com o botão direito na relying party e selecione Edit Claim Rules.

    2. Adicione uma issuance transform rule.

      Nota

      As regras de transformação de emissão mapeiam atributos de usuário para atributos de asserção SAML. Adicione uma regra para emitir o nome da conta Windows do AD como NameID.

    3. Em Claim rule template, selecione Transform an Incoming Claim e clique em Next.

    4. Configure a regra com as seguintes definições e clique em Finish.

      • Claim rule name: NameID

      • Incoming claim type: Windows account name

      • Outgoing claim type: Name ID

      • Outgoing name ID format: Persistent Identifier

      • Selecione Pass through all claim values.

      O AD FS envia o NameID no seguinte formato:

      <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
          YourDomain\rolessouser
      </NameID>
  • RoleSessionName

    Mapeie o User Principal Name (UPN) no AD para o atributo RoleSessionName:

    1. Clique em Add Rule.

    2. Na lista Claim rule template, selecione Send LDAP Attributes as Claims e clique em Next.

    3. Configure a regra com as seguintes definições e clique em Finish.

      • Claim rule name: RoleSessionName

      • Attribute store: Active Directory

      • Para LDAP Attribute, selecione User-Principal-Name. Você também pode selecionar outros atributos, como e-mail, conforme necessário.

      • Em Outgoing claim type, insira https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName.

    O AD FS envia o RoleSessionName no seguinte formato:

    <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
        <AttributeValue>rolessouser@example.com<AttributeValue>
    </Attribute>
  • Role

    Transforme as associações a grupos do AD em nomes de funções da Alibaba Cloud usando regras personalizadas:

    1. Clique em Add Rule.

    2. Na lista Claim rule template, selecione Send Claims Using a Custom Rule e clique em Next.

    3. Configure a regra com as seguintes definições e clique em Finish.

      • Claim rule name: Get AD Groups

      • Custom rule:

        c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory",types = ("http://temp/variable"), query = ";tokenGroups;{0}", param =c.Value);
      Nota

      Esta regra recupera as associações a grupos do AD e as armazena em http://temp/variable.

    4. Clique em Add Rule.

    5. Repita as etapas anteriores para adicionar outra regra personalizada e clique em Finish.

      • Claim rule name: Role

      • Custom rule:

        c:[Type == "http://temp/variable", Value =~ "(?i)^Aliyun-([\d]+)"] => issue(Type = "https://www.aliyun.com/SAML-Role/Attributes/Role",Value = RegExReplace(c.Value, "Aliyun-([\d]+)-(.+)", "acs:ram::$1:role/$2,acs:ram::$1:saml-provider/<provider-name>"));
        Nota

        Substitua <provider-name> pelo nome do provedor de identidade criado na Etapa 1: Configurar a Alibaba Cloud para confiar no AD FS. Neste exemplo, o nome é ADFS.

      Essa regra mapeia grupos do AD correspondentes a Aliyun-<account-id>-ADFS-Admin ou Aliyun-<account-id>-ADFS-Reader para as funções RAM correspondentes na Alibaba Cloud.

    O IdP retorna a asserção SAML no seguinte formato:

    <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role">
        <AttributeValue>acs:ram::<account-id>:role/ADFS-Admin,acs:ram::<account-id>:saml-provider/<provider-name></AttributeValue>
    </Attribute>

Verificar os resultados

  1. Acesse o portal de SSO do AD FS em https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspx, selecione o aplicativo da Alibaba Cloud e insira seu nome de usuário e senha.

    Nota

    Substitua <ADFS-server> pelo nome de domínio ou endereço IP do seu servidor AD FS. Se a página estiver indisponível, ative-a executando o seguinte comando do PowerShell: Set-AdfsProperties -EnableIdpInitiatedSignonPage $True.

    Na página de login do AD FS, você verá a mensagem "You are not signed in" com duas opções: Sign in to this site e Sign in to one of the following sites. Selecione Sign in to one of the following sites, escolha um site de destino como Aliyun na lista suspensa e clique em Sign in.

  2. Na página de SSO baseado em função da Alibaba Cloud, selecione uma função a ser assumida e clique em Log On.

    Nota

    Se você pertencer a apenas um grupo do AD mapeado, o logon ocorrerá diretamente, sem seleção de função.

    Se você pertencer a vários grupos do AD mapeados, uma página de seleção de funções listará as contas e funções disponíveis da Alibaba Cloud (ADFS-Reader, ADFS-Admin). Selecione a conta e a função desejadas e clique em Log On.