Ir para o conteúdo

Configurando o Vinyl Como um Provedor de Identidade

O Vinyl pode servir como provedor de serviços SAML (SP) e como provedor de identidade SAML (IdP). Isso permite que uma instância do Viny (o IdP) autentique usuários em nome de outra instância (o SP).

Existem quatro tarefas principais envolvidas:

  1. Gere um certificado de assinatura.
  2. Crie um provedor de segurança IdP SAML.
  3. Crie um provedor de segurança SAML SP.
  4. Teste

Estas instruções fazem as seguintes suposições:

  1. Você tem pelo menos duas instâncias do Vinyl.
  2. Você tem acesso de administrador a cada instância do Vinyl.

As instruções abaixo se referirão às seguintes propriedades:

Exemplo Notas
URL do IdP de Vinyl https://idp.example.com/Vinyl/ O URL raiz do aplicativo da instância do Vinyl que serve como IdP. Inclui a barra final.
URL Vinyl SP https://sp.example.com/Vinyl/ O URL raiz do aplicativo da instância do Vinyl que serve como SP. Inclui a barra final.
Nome do provedor de segurança IdP VinylIdP Cada provedor de segurança do Vinyl recebe um nome lógico. Este nome é usado no Endpoint de redirecionamento de solicitação (veja abaixo).
Nome do provedor de segurança SP VinylSP Cada provedor de segurança do Vinyl recebe um nome lógico. Esse nome é usado na URL do Assertion Consumer Service (ACS) (veja abaixo). Esse é o nome que os usuários verão no formulário de login.
Solicitar Endpoint de redirecionamento https://idp.example.com/Vinyl/signin-VinylIdP O Vinyl provisiona automaticamente um Endpoint de redirecionamento de solicitação para provedores de segurança IdP SAML. Observe que o nome do provedor de segurança IdP (acima) aparece em Request Redirect Endpoint.
URL do serviço ao consumidor de declaração https://sp.example.com/Vinyl/signin-VinylSP O Vinyl provisiona automaticamente um endpoint Assertion Consumer Service (ACS) para provedores de segurança SAML SP. Observe que o nome do provedor de segurança SP aparece no endpoint ACS.

Gerar um Certificado de Assinatura

No SAML Single Sign-On (SSO), a confiança é estabelecida por meio de certificados de assinatura. O processo de aquisição de um certificado está fora do escopo deste documento. No entanto, para fins ilustrativos, os comandos a seguir demonstram como gerar um certificado compatível usando o utilitário de linha de comando OpenSSL.

O comando a seguir gera uma chave privada codificada em PEM (key.pem) e certificado autoassinado (cert.pem):

$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes -days 1095 -subj "/CN=idp.example.com/O=VinylIdP"

Você precisará do conteúdo do cert.pem arquivo para configurar o provedor de segurança do Vinyl SP.

O comando a seguir gera um arquivo PKCS#12 (cert.pfx) contendo a chave privada e o certificado:

$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx

Você será solicitado a fornecer uma senha. Você precisará da senha para configurar o provedor de segurança Vinyl IdP.

Finalmente, o seguinte comando codifica em base64 o arquivo PKCS#12:

$ openssl base64 -in cert.pfx -out cert.txt -A

Você precisará do conteúdo do cert.txt para configurar o provedor de segurança Vinyl IdP.

Crie um Provedor de Segurança IdP SAML

Para criar um provedor de segurança IdP SAML, comece fazendo login na instância do Vinyl que servirá como IdP.

  1. Navegue até o IDE
  2. Clique no botão Provedores de segurança
  3. No painel Autenticação do usuário, clique no botão + Autenticação do usuário
  4. Forneça o seguinte:

    • Nome: Nome do provedor de segurança IdP, por exemplo VinylIdP
    • Tipo: Provedor de identidade SAML
  5. Clique no botão Salvar

  6. No painel Propriedades, clique no botão + Propriedade para adicionar cada uma das seguintes propriedades:

    • AssertionConsumerService: URL do serviço do consumidor de declaração, por exemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • Público: URL do Vinyl SP, por exemplo https://sp.example.com/Vinyl/.
    • Emissor: URL do IdP do Vinyl, por exemplo https://idp.example.com/Vinyl/.
    • Destinatário: URL do serviço ao consumidor da declaração, por exemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • SigningCertificate: arquivo PKCS#12 codificado em base64 (consulte Gerar um certificado de assinatura).
    • SigningCertificatePassword: senha do certificado de assinatura (consulte Gerar um certificado de assinatura).
  7. No painel Reivindicações, clique no botão + Reivindicação para mapear cada uma das seguintes propriedades:

    • Nome: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    • Grupo: http://schemas.xmlsoap.org/claims/Group
  8. No painel Provedor, clique no botão Editar

  9. Marque a opção Ativado
  10. Clique no botão Salvar

As etapas acima incluem uma reivindicação de grupo. A reivindicação de grupo é usada para passar a associação de grupo ao SP. No entanto, os grupos não são passados por padrão. Para passar um grupo, você deve adicioná-lo ao provedor de segurança IdP. Por exemplo:

  1. Navegue até o IDE
  2. Clique no botão Gerenciamento de usuários
  3. Clique no botão Identidades
  4. Selecione o provedor de segurança IdP, por exemplo. VinylIdP
  5. No painel Grupos de Provedores, clique no botão + Grupo
  6. Forneça um Nome, por exemplo Administrators
  7. Selecione o Grupo, por exemplo. Administrators
  8. Clique no botão Salvar

Crie um Provedor de Segurança SAML SP

Para criar um provedor de segurança SAML SP, comece fazendo login na instância do Vinyl que servirá como SP.

  1. Navegue até o IDE
  2. Clique no botão Provedores de segurança
  3. No painel Autenticação do usuário, clique no botão + Autenticação do usuário
  4. Forneça o seguinte:

    • Nome: Nome do provedor de segurança SP, por exemplo VinylSP.
    • Tipo: SAML
    • Provisionamento de usuários: marque para ativar o provisionamento de usuários.
    • Mostrar no formulário de login: Marque para mostrar o provedor de autenticação no formulário de login.
  5. Clique no botão Salvar

  6. No painel Propriedades, clique no botão + Propriedade para adicionar cada uma das seguintes propriedades:

    • Público: URL do Vinyl SP, por exemplo https://sp.example.com/Vinyl/.
    • Emissor: URL do IdP do Vinyl, por exemplo https://idp.example.com/Vinyl/.
    • Destinatário: URL do serviço ao consumidor da declaração, por exemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • RequestRedirectEndpoint: Solicitar Endpoint de redirecionamento, por exemplo https://idp.example.com/Vinyl/signin-VinylIdP.
    • SigningCertificate: certificado codificado em PEM (consulte Gerar um certificado de assinatura).
  7. No painel Reivindicações, clique no botão + Reivindicação para mapear cada uma das seguintes propriedades:

    • Nome: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    • Grupo: http://schemas.xmlsoap.org/claims/Group
  8. No painel Provedor, clique no botão Editar

  9. Marque a opção Ativado
  10. Clique no botão Salvar

As etapas acima incluem uma reivindicação de grupo. A declaração de grupo é usada para mapear declarações para grupos de provedores de segurança. No entanto, os grupos de provedores de segurança não são mapeados para grupos de segurança do Vinyl por padrão. Para mapear um grupo de provedores de segurança para um grupo de segurança Vinyl:

  1. Navegue até o IDE
  2. Clique no botão Gerenciamento de usuários
  3. Clique no botão Identidades
  4. Selecione o provedor de segurança SP, por exemplo. VinylSP
  5. No painel Grupos de Provedores, clique no botão + Grupo
  6. Forneça um Nome, por exemplo Administrators
  7. Selecione o Grupo, por exemplo. Administrators
  8. Clique no botão Salvar

Teste

Para testar, comece iniciando um navegador no modo de navegação anônima/privada.

  1. Navegue até a URL do Vinyl SP, por exemplo https://sp.example.com/Vinyl/.
  2. No formulário de login, clique na opção de entrar no Vinyl SP, por exemplo. VinylSP. Você será redirecionado para o formulário de login do Vinyl IdP.
  3. Faça login na instância do Vinyl IdP. Você será redirecionado de volta para o Vinyl SP.

Se o teste for bem-sucedido, você será conectado à instância do Vinyl SP.

Solução de Problemas

Opção "fazer Login Com..." Ausente no Formulário de Login

Se a opção "Entrar com..." estiver faltando no formulário de login, o provedor de segurança do Vinyl SP não está habilitado ou a opção Mostrar no formulário de login não foi marcada.

Erro 404 Não Encontrado Após Clicar em "entrar Com..."

Se você receber um 404 Not Found erro após clicar no botão "Entrar com..." no formulário de login, isso pode indicar que o Vinyl IdP Security Provider não está habilitado, tem um nome incorreto ou está configurado incorretamente. Para evitar a interrupção do serviço, o Vinyl desabilitará o provedor de segurança em tempo de execução se detectar uma configuração incorreta.