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
.
Valor | Outros nomes | Descrição | Exemplo |
---|---|---|---|
ID da Entidade do SP | URL do SP, restrição do público-alvo | Seu URL de nível superior para GitHub Enterprise Server | http(s)://HOSTNAME |
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 | http(s)://HOSTNAME/saml/consume |
URL de logon único (SSO) do SP | URL em que o IdP começa com SSO | http(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".
Nome | Obrigatório? | Descrição |
---|---|---|
NameID | Sim | Identificador 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". |
SessionNotOnOrAfter | Não | A 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". |
administrator | Nçao | Quando 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_name | Não | 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 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 seuEntityId
para GitHub Enterprise Server. Este valor é o URL onde você pode acessar your GitHub Enterprise Server instance, such ashttp(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 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://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.