Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Referência de configuração do SAML

Você pode ver os metadados do SAML para your GitHub Enterprise Server instance e saber mais sobre os atributos do SAML disponíveis e os requisitos de resposta.

Sobre a configuração do SAML

Para usar o SSO (logon único) do SAML para autenticação no GitHub Enterprise Server, você deve configurar seu IdP (provedor de identidade) do SAML externo e your GitHub Enterprise Server instance. Em uma configuração do SAML, o GitHub Enterprise Server funciona como um SP (provedor de serviços) do SAML.

Você deve inserir valores exclusivos do IdP do SAML ao configurar o SSO do SAML para o GitHub Enterprise Server, e também deve inserir valores exclusivos do GitHub Enterprise Server em seu IdP. Para obter mais informações sobre a configuração do SSO do SAML para o GitHub Enterprise Server, veja "Configurando o logon único do SAML em sua empresa".

Metadados SAML

Os metadados do SP para your GitHub Enterprise Server instance estão disponíveis em http(s)://HOSTNAME/saml/metadata, em que HOSTNAME é o nome do host da sua instância. O GitHub Enterprise Server usa a associação urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST.

ValorOutros nomesDescriçãoExemplo
ID da Entidade do SPURL do SP, restrição de audiênciaSua URL de nível superior para GitHub Enterprise Serverhttp(s)://HOSTNAME
URL do Serviço do Consumidor de Declaração (ACS) do SPURL de resposta, destinatário ou destinoURL em que o IdP envia respostas do SAMLhttp(s)://HOSTNAME/saml/consume
URL de logon único (SSO) do SPURL em que o IdP começa com SSOhttp(s)://HOSTNAME/sso

Atributos SAML

Os atributos SAML a seguir estão disponíveis para GitHub Enterprise Server. Você pode alterar os nomes de atributo no console de gerenciamento, com exceção do atributo administrator. Para obter mais informações, confira "Como acessar o console de gerenciamento".

NomeNecessário?Descrição
NameIDSimIdentificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. GitHub Enterprise Server normalizará o elemento NameID a ser usado como um nome de usuário, a menos que uma das declarações alternativas seja fornecida. Para obter mais informações, confira "Considerações de nome de usuário para autenticação externa".

Observação: é importante usar um identificador persistente e legível. O uso de um formato de identificador transitório como urn:oasis:names:tc:SAML:2.0:nameid-format:transient resultará na vinculação de contas em cada entrada, o que pode ser prejudicial ao gerenciamento de autorização.
SessionNotOnOrAfterNoA data em que GitHub Enterprise Server invalida a sessão associada. Após a invalidação, a pessoa deve se autenticar mais uma vez para acessar your GitHub Enterprise Server instance. Para obter mais informações, confira "Duração e tempo limite da sessão".

Para especificar mais de um valor para um atributo, use vários elementos <saml2:AttributeValue>.

<saml2:Attribute FriendlyName="public_keys" Name="urn:oid:1.2.840.113549.1.1.1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
    <saml2:AttributeValue>ssh-rsa LONG KEY</saml2:AttributeValue>
    <saml2:AttributeValue>ssh-rsa LONG KEY 2</saml2:AttributeValue>
</saml2:Attribute>

Requisitos da resposta SAML

GitHub Enterprise Server exige que a mensagem de resposta do IdP atenda aos requisitos a seguir.

  • O seu IdP precisa fornecer o elemento <Destination> no documento de resposta raiz e precisa corresponder à URL do ACS somente quando o documento de resposta raiz está assinado. Se o IdP assinar a declaração, GitHub Enterprise Server ignorará a declaração.

  • O IdP sempre deve fornecer o elemento <Audience> como parte do elemento <AudienceRestriction>. O valor deve corresponder ao EntityId para GitHub Enterprise Server. Esse valor é a URL em que você acessa your GitHub Enterprise Server instance, como http(s)://HOSTNAME.

  • Seu IdP deve proteger cada declaração na resposta com uma assinatura digital. Para fazer isso, você assina cada elemento <Assertion> individual ou assina o elemento <Response>.

  • Seu IdP deve fornecer um elemento <NameID> como parte do elemento <Subject>. Você pode usar qualquer formato de identificador de nome persistente.

  • Seu IdP deve incluir o atributo Recipient, que deve ser definido como a URL do ACS. O exemplo a seguir demonstra o atributo.

    <samlp:Response ...>
      <saml:Assertion ...>
        <saml:Subject>
          <saml:NameID ...>...</saml:NameID>
          <saml:SubjectConfirmation ...>
            <saml:SubjectConfirmationData Recipient="https://HOSTNAME/saml/consume" .../>
          </saml:SubjectConfirmation>
        </saml:Subject>
        <saml:AttributeStatement>
          <saml:Attribute FriendlyName="USERNAME-ATTRIBUTE" ...>
            <saml:AttributeValue>monalisa</saml:AttributeValue>
          </saml:Attribute>
        </saml:AttributeStatement>
      </saml:Assertion>
    </samlp:Response>
    

Duração e tempo limite da sessão

Para impedir que uma pessoa se autentique com seu IdP e mantenha-se autorizada indefinidamente, o GitHub Enterprise Server invalida periodicamente a sessão para cada conta de usuário com acesso a your GitHub Enterprise Server instance. Após a invalidação, a pessoa deve se autenticar com o IdP mais uma vez. Por padrão, se o IdP não declara um valor para o atributo SessionNotOnOrAfter, o GitHub Enterprise Server invalida uma sessão uma semana após a autenticação bem-sucedida no IdP.

Para personalizar a duração da sessão, você poderá definir o valor do atributo SessionNotOnOrAfter no IdP. Se você definir um valor menor que 24 horas, o GitHub Enterprise Server poderá solicitar que as pessoas se autentiquem sempre que o GitHub Enterprise Server iniciar um redirecionamento.

Observações:

  • No Azure AD, a política de tempo de vida configurável para tokens SAML não controla o tempo limite da sessão para o GitHub Enterprise Server.
  • O Okta atualmente não envia o atributo SessionNotOnOrAfter durante a autenticação SAML com o GitHub Enterprise Server. Para mais informações, entre em contato com o Okta.