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.

Configuração de referência do SAML

Você pode ver os metadados do SAML para sua organização ou empresa no GitHub Enterprise Cloud, 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 Cloud, você deve configurar seu provedor de identidade externo do SAML (IdP) e sua empresa ou organização em GitHub.com. Em uma configuração do SAML, as funções de GitHub Enterprise Cloud 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 Cloud, e você também deve inserir valores únicos de GitHub Enterprise Cloud no seu IdP. Para obter mais informações sobre a configuração do SAML SSO para GitHub Enterprise Cloud, consulte "Configurando o logon únic SAML para a sua empresa" ou "Habilitando e testando o logon único SAML para a sua organização."

Metadados SAML

Os metadados do SP para GitHub Enterprise Cloud estão disponíveis para organizações ou empresas com SAML SSO. GitHub Enterprise Cloud usa o vínculo urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST.

Organizações

Você pode configurar o SAML SSO para uma organização individual na sua empresa. Você também pode configurar o SAML SSO para uma organização se usar uma organização individual em GitHub Enterprise Cloud e não usar uma conta corporativa. Para obter mais informações, consulte "Gerenciando o logon único SAML para a sua organização".

Os metadados de SP para uma organização em GitHub.com estão disponíveis em https://github. om/orgs/ORGANIZATION/saml/metadata, onde ORGANIZAÇÃO é o nome da sua organização em GitHub.com.

ValorOutros nomesDescriçãoExemplo
ID da Entidade do SPURL do SP, restrição do público-alvoO URL de nível superior para sua organização em GitHub.comhttps://github.com/orgs/ORGANIZATION
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 SAMLhttps://github.com/orgs/ORGANIZATION/saml/consume
URL de logon único (SSO) do SPURL em que o IdP começa com SSOhttps://github.com/orgs/ORGANIZATION/saml/sso

Empresas

Os metadados de SP para uma empresa em GitHub.com estão disponíveis em https://github. om/empresas/ENTERPRISE/saml/metadata, em que ENTERPRISE é o nome da sua empresa em GitHub.com.

ValorOutros nomesDescriçãoExemplo
ID da Entidade do SPURL do SP, restrição do público-alvoO URL de nível superior para sua empresa em GitHub.comhttps://github.com/enterprises/ENTERPRISE
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 SAMLhttps://github.com/enterprises/ENTERPRISE/saml/consume
URL de logon único (SSO) do SPURL em que o IdP começa com SSOhttps://github.com/enterprises/ENTERPRISE/saml/sso

Atributos SAML

Os seguintes atributos o SAML estão disponíveis para GitHub Enterprise Cloud.

NomeObrigatório?Descrição
NameIDSimIdentificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. Se você usa uma empresa com Enterprise Managed Users, GitHub Enterprise Cloud 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 Cloud invalida a sessão associada. Após a invalidação, a pessoa deve efetuar a autenticação novamente para acessar os recursos da sua empresa. Para obter mais informações, consulte "Duração da sessão e fim do tempo".
full_nameNãoSe você configurar um SAML SSO para uma empresa e usar Enterprise Managed Users, o 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 Cloud 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 Cloud 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 Cloud.

    • Se você configurar o SAML para uma organização, este valor será https://github.com/orgs/ORGANIZAÇÃO.
    • Se você configurar o SAML para uma empresa, essa URL será https://github.com/enterprises/ENTERPRISE.
  • 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://github.com/enterprises/ENTERPRISE/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 Cloud invalida periodicamente a sessão para cada conta de usuário com acesso aos recursos da sua empresa. 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 Cloud invalida uma sessão 24 horas 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 Cloud poderá solicitar a autenticação das pessoas toda vez que GitHub Enterprise Cloud 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 Cloud.
  • O Okta não envia atualmente o atributo SessionNotOnOrAfter durante a autenticação do SAML com GitHub Enterprise Cloud. Para mais informações, entre em contato com Okta.