Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em 2022-06-03. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Configuração de referência do SAML

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

Sobre a configuração do SAML

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

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

Metadados SAML

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

ValorOutros nomesDescriçãoExemplo
ID da Entidade do SPURL do SP, restrição do público-alvoSeu 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 seguintes atributos o SAML estão disponíveis para GitHub Enterprise Server. Você pode alterar os nomes de atributo no console de gerenciamento, com exceção do atributo administrador. Para obter mais informações, consulte "Acessando o console de gerenciamento".

NomeObrigatório?Descrição
NameIDSimIdentificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. GitHub Enterprise Server irá normalizar o elemento NameID para usar como um nome de usuário, a menos que seja fornecida uma das declarações alternativas. Para obter mais informações, consulte "Considerações de nome de usuário para autenticação externa".
SessionNotOnOrAfterNãoA data que GitHub Enterprise Server invalida a sessão associada. Após a invalidação, a pessoa deve efetuar a autenticação novamente para acessar your GitHub Enterprise Server instance. Para obter mais informações, consulte "Duração da sessão e fim do tempo".
administratorNçaoQuando o valor for verdadeiro, GitHub Enterprise Server promoverá automaticamente o usuário para ser um administrador de site. Definir esse atributo para qualquer coisa menos verdadeiro resultará em demonstração, desde que o valor não esteja em branco. Omitir este atributo ou deixar o valor em branco não irá alterar a função do usuário.
full_nameNãoO nome completo do usuário a ser exibido na página de perfil do usuário.

Para especificar mais de um valor para um atributo, use múltiplos elementos de <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 de resposta do SAML

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

  • Seu IdP deve fornecer o elemento <Destination> no documento de resposta raiz e corresponder ao URL do ACS somente quando o documento de resposta raiz for assinado. Se seu IdP assinar a declaração, GitHub Enterprise Server irá ignorar a verificação.

  • Seu IdP deve sempre fornecer o elemento <Audience> como parte do elemento <AudienceRestriction>. O valor deve corresponder ao seu EntityId para GitHub Enterprise Server. Este valor é o URL onde você pode acessar your GitHub Enterprise Server instance, such as http(s)://HOSTNAME.

  • Seu IdP deve proteger cada declaração na resposta com uma assinatura digital. Você pode realizar isso assinando cada elemento individual <Assertion> ou assinando 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 Destinatário, que deve ser definido como o 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 da sessão e tempo limite

Para impedir que uma pessoa efetue a autenticação com o seu IdP e permaneça indefinidamente autorizada, GitHub Enterprise Server invalida periodicamente a sessão para cada conta de usuário com acesso aos your GitHub Enterprise Server instance. Depois da invalidação, a pessoa deverá efetuar a autenticação com seu IdP novamente. Por padrão, se o seu IdP não verificar um valor para o atributo SessionNotOnOrAfter, GitHub Enterprise Server invalida uma sessão uma semana após a autenticação bem-sucedida com seu IdP.

Para personalizar a duração da sessão, talvez você possa definir o valor do atributo SessionNotOnOrAfter no seu IdP. Se você definir um valor em menos de 24 horas, GitHub Enterprise Server poderá solicitar a autenticação das pessoas toda vez que GitHub Enterprise Server iniciar um redirecionamento.

Atenção:

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