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.
Valor | Outros nomes | Descrição | Exemplo |
---|---|---|---|
ID da Entidade do SP | URL do SP, restrição do público-alvo | O URL de nível superior para sua organização em GitHub.com | https://github.com/orgs/ORGANIZATION |
URL do Serviço do Consumidor de Declaração (ACS) do SP | URL de resposta, destinatário ou destino | URL em que o IdP envia respostas do SAML | https://github.com/orgs/ORGANIZATION/saml/consume |
URL de logon único (SSO) do SP | URL em que o IdP começa com SSO | https://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.
Valor | Outros nomes | Descrição | Exemplo |
---|---|---|---|
ID da Entidade do SP | URL do SP, restrição do público-alvo | O URL de nível superior para sua empresa em GitHub.com | https://github.com/enterprises/ENTERPRISE |
URL do Serviço do Consumidor de Declaração (ACS) do SP | URL de resposta, destinatário ou destino | URL em que o IdP envia respostas do SAML | https://github.com/enterprises/ENTERPRISE/saml/consume |
URL de logon único (SSO) do SP | URL em que o IdP começa com SSO | https://github.com/enterprises/ENTERPRISE/saml/sso |
Atributos SAML
Os seguintes atributos o SAML estão disponíveis para GitHub Enterprise Cloud.
Nome | Obrigatório? | Descrição |
---|---|---|
NameID | Sim | Identificador 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". |
SessionNotOnOrAfter | Não | A 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_name | Não | Se 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 seuEntityId
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
.
- Se você configurar o SAML para uma organização, este valor será
-
Seu IdP deve proteger cada declaração na resposta com uma assinatura digital. Você pode realizar isso assinando cada elemento individual
<Assertion>
ou assinando oelemento<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.