Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 26, 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 Windows Server 2012 R2.

Informações de fundo

Sua empresa usa o Active Directory (AD) para gerenciar funcionários e o AD FS para federar 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> é o ID da Account1 ou da Account2. Alice pertence a quatro grupos do AD no total: Admin e Reader para cada conta.

  • A configuração do AD neste tópico serve apenas como orientação. A Alibaba Cloud não fornece suporte para configuração do Microsoft AD. Para configurar o AD FS, consulte Criar um domínio AD em uma instância Windows.

Como funciona

A figura a seguir ilustra o fluxo de logon no console.

Basic SSO flow

Após configurar a federação, funcionários como Alice podem fazer logon no console da Alibaba Cloud via SSO. Consulte Visão geral do SSO de função baseado em SAML.

Os usuários se autenticam pelo sistema de identidade corporativo sem precisar de credenciais da Alibaba Cloud.

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 Configurar definições SAML para SSO baseado em função no SP da Alibaba Cloud.

    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 criado anteriormente. 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 confiarão 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 é chamado de relying party. Configure a Alibaba Cloud como uma relying party no AD FS:

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

  2. No console de gerenciamento do 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 com 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

      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. Para 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.

      Após concluir a configuração, o AD FS envia o NameID no formato exigido:

      <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 sua necessidade.

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

    Após concluir a configuração, o AD FS envia o RoleSessionName no formato exigido:

    <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 como um IdP SAML. Neste exemplo, o nome é ADFS.

      Esta 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.

    Após concluir a configuração, o IdP retorna a asserção SAML no formato exigido:

    <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 não estiver disponível, ative-a executando o seguinte comando do PowerShell: Set-AdfsProperties -EnableIdpInitiatedSignonPage $True.

    Na página de logon 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, fará logon diretamente sem precisar selecionar uma função.

    Caso pertença 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.