Todos os produtos
Search
Central de documentação

Resource Access Management:SAML response for role-based SSO

Última atualização: Jul 20, 2026

No SSO baseado em função, a resposta e a asserção SAML do seu IdP devem conter elementos específicos para que o Alibaba Cloud autentique os usuários.

Informações de fundo

Em um fluxo de SSO baseado em SAML 2.0, após o login de um usuário corporativo no IdP, o IdP gera uma resposta de autenticação com uma asserção SAML conforme o binding HTTP-POST do SAML 2.0. O navegador ou aplicativo encaminha automaticamente essa resposta ao Alibaba Cloud, que utiliza a asserção para verifique o status de login do usuário e extrair o assunto do login. A asserção deve incluir todos os elementos exigidos pelo Alibaba Cloud; caso contrário, o SSO falhará.

Resposta SAML

O IdP deve enviar uma resposta SAML ao Alibaba Cloud contendo todos os elementos obrigatórios listados abaixo. A ausência de qualquer elemento causará falha no SSO.

<saml2p:Response>
    <saml2:Issuer>...</saml2:Issuer>
    <saml2p:Status>
        ...
    </saml2p:Status>
    <saml2:Assertion>
        <saml2:Issuer>...</saml2:Issuer>
        <ds:Signature>
            ...
        </ds:Signature>
        <saml2:Subject>
            <saml2:NameID>${NameID}</saml2:NameID>
            <saml2:SubjectConfirmation>
                ...
            </saml2:SubjectConfirmation>
        </saml2:Subject>
        <saml2:Conditions>
            <saml2:AudienceRestriction>
                <saml2:Audience>${Audience}</saml2:Audience>
            </saml2:AudienceRestriction>
        </saml2:Conditions>
        <saml2:AuthnStatement>
            ...
        </saml2:AuthnStatement>
        <saml2:AttributeStatement>
            <saml2:Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
                ...
            </saml2:Attribute>
            <saml2:Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role">
                ...
            </saml2:Attribute>
        </saml2:AttributeStatement>
    </saml2:Assertion>
</saml2p:Response>

Elementos da asserção SAML

  • Standard SAML 2.0 elements

    Estes elementos seguem a especificação do protocolo SAML 2.0.

    Elemento

    Descrição

    Issuer

    O valor de Issuer deve corresponder ao EntityID no arquivo de metadados do IdP carregado durante a criação da entidade IdP no Alibaba Cloud.

    Signature

    O Alibaba Cloud exige uma asserção SAML assinada para evitar adulterações. O elemento Signature e seus elementos filhos devem incluir o valor da assinatura e o algoritmo de assinatura.

    Subject

    O elemento Subject deve conter os seguintes elementos:

    • Exatamente um elemento NameID. Defina o valor de NameID conforme o protocolo SAML 2.0, geralmente como o identificador do usuário no IdP. O Alibaba Cloud não utiliza esse valor para identificar o assunto do login.

    • Exatamente um elemento SubjectConfirmation contendo um elemento SubjectConfirmationData. O elemento SubjectConfirmationData requer estes atributos:

      • NotOnOrAfter: tempo de expiração da asserção SAML.

      • Recipient: o Alibaba Cloud usa este atributo para verifique se a asserção é destinada ao Alibaba Cloud. O valor deve ser https://signin.alibabacloud.com/saml-role/sso.

      Exemplo de elemento Subject:

      <Subject>
            <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">administrator</NameID>        
            <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">   
              <SubjectConfirmationData NotOnOrAfter="2019-01-01T00:01:00.000Z" Recipient="https://signin.alibabacloud.com/saml-role/sso"/>    
            </SubjectConfirmation>
          </Subject>

    Conditions

    O elemento Conditions deve incluir um elemento AudienceRestriction com pelo menos um elemento Audience. Um dos elementos Audience deve ter o valor urn:alibaba:cloudcomputing:international.

    Nota

    Se você configure vários aplicativos SAML no seu IdP apontando para o RAM do Alibaba Cloud e usar Entity IDs com parâmetros (por exemplo, urn:alibaba:cloudcomputing:international#abc.123), o elemento Audience deve corresponder exatamente ao Entity ID, incluindo o sufixo do parâmetro.

    Exemplo de elemento Conditions:

    <Conditions>
          <AudienceRestriction>
            <Audience>urn:alibaba:cloudcomputing:international</Audience>
          </AudienceRestriction>
        </Conditions>           
  • Alibaba Cloud custom elements

    O elemento AttributeStatement deve incluir os seguintes elementos Attribute específicos do Alibaba Cloud:

    • Um elemento Attribute cujo atributo Name seja https://www.aliyun.com/SAML-Role/Attributes/Role

      Este elemento é obrigatório e aceita múltiplos valores. Cada AttributeValue especifique uma função que o usuário pode assumir, formatada como o ARN da função RAM e o ARN do IdP separados por vírgula (,). Obtenha ambos os ARNs no console:

      • ARN da função RAM: na página Roles, clique em no nome da função RAM e localize o ARN na seção Basic Information.

      • ARN do IdP: na página SSO, na aba Role-based SSO, clique em no nome do IdP e localize o ARN na seção Details.

      Nota

      Se houver múltiplos valores, os usuários que fizerem login no console poderão selecione uma função na lista exibida.

      Exemplo de elemento Attribute de Role:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role">      
        <AttributeValue>acs:ram::$account_id:role/role1,acs:ram::$account_id:saml-provider/provider1</AttributeValue>
        <AttributeValue>acs:ram::$account_id:role/role2,acs:ram::$account_id:saml-provider/provider1</AttributeValue>
      </Attribute>               
      Nota

      $account_id é o ID da conta Alibaba Cloud proprietária das funções RAM e do IdP.

    • Um elemento Attribute cujo atributo Name seja https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName

      Este elemento é obrigatório e aceita apenas um valor. O AttributeValue aparece nas informações do usuário no console e nos logs do ActionTrail. Utilize um RoleSessionName exclusivo por usuário, como um ID de funcionário ou endereço de e-mail, para distinguir usuários que assumem a mesma função.

      O AttributeValue deve ter entre 2 e 64 caracteres e pode conter letras, dígitos e os seguintes caracteres especiais: -_.@=.

      Exemplo de elemento Attribute de RoleSessionName:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
        <AttributeValue>user_id</AttributeValue>
      </Attribute>                     
    • Um elemento Attribute cujo atributo Name seja https://www.aliyun.com/SAML-Role/Attributes/SessionDuration

      Este elemento é opcional e aceita no máximo um valor. O AttributeValue é um número inteiro que representa a duração da sessão em segundos. O mínimo é 900, e o máximo não pode exceder a duração máxima da sessão configurada para a função RAM especifique no atributo Role.

      Exemplo de elemento Attribute de SessionDuration:

      <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/SessionDuration">
        <AttributeValue>1800</AttributeValue>
      </Attribute>                  
  • Session duration

    Para login no console, o valor SessionDuration da asserção SAML defina a duração da sessão. Se o elemento AuthnStatement também defina SessionNotOnOrAfter, prevalecerá o menor valor entre SessionDuration e SessionNotOnOrAfter. Caso nenhum seja especifique, a duração da sessão assumirá por padrão a configuração Maximum Session Duration da função, limitada pela configuração Login session duration. Gerencie RAM user security settings. Defina the maximum session duration for a RAM role.

    Para login programático, se você especifique DurationSeconds ao chamar AssumeRoleWithSAML e também defina SessionNotOnOrAfter no elemento AuthnStatement, a validade do token STS será o menor valor entre DurationSeconds e SessionNotOnOrAfter. Caso nenhum seja especifique, a validade assumirá por padrão 3.600 segundos.

Documentos relacionados

How do I visualize a SAML response in a browser?