Manipulador de autenticação SAML 2.0 saml-authentication-handler
O AEM vem com um manipulador de autenticação SAML. Este manipulador dá suporte ao Protocolo de Solicitação de Autenticação SAML 2.0 (perfil Web-SSO) usando a associação HTTP POST
.
Ele oferece suporte a:
- assinatura e criptografia de mensagens
- criação automática de usuários
- sincronização de grupos com grupos existentes no AEM
- O provedor de serviços e o provedor de identidade iniciaram a autenticação
Este manipulador armazena a mensagem de resposta SAML criptografada no nó do usuário ( usernode/samlResponse
) para facilitar a comunicação com um Provedor de Serviços de terceiros.
Configurando o Manipulador de Autenticação SAML 2.0 configuring-the-saml-authentication-handler
O console da Web fornece acesso à configuração do Manipulador de Autenticação SAML 2.0 chamada Manipulador de Autenticação SAML 2.0 do Adobe Granite. As seguintes propriedades podem ser definidas.
- O URL POST do provedor de identidade ou URL do IDP.
- A ID da entidade do provedor de serviços.
Caminho Caminho do repositório para o qual este manipulador de autenticação deve ser usado pelo Sling. Se estiver vazio, o manipulador de autenticação será desativado.
Classificação do Serviço Valor de Classificação do Serviço OSGi Framework para indicar a ordem na qual chamar este serviço. É um valor inteiro em que valores mais altos designam maior precedência.
Alias do Certificado IDP O alias do certificado IdP no truststore global. Se essa propriedade estiver vazia, o manipulador de autenticação será desativado. Consulte o capítulo "Adicionar o certificado IdP ao AEM TrustStore" abaixo sobre como configurá-lo.
URL do IDP URL do IDP para o qual a Solicitação de Autenticação SAML deve ser enviada. Se essa propriedade estiver vazia, o manipulador de autenticação será desativado.
ID da Entidade do Provedor de Serviços que identifica exclusivamente este provedor de serviços com o provedor de identidade. Se essa propriedade estiver vazia, o manipulador de autenticação será desativado.
Redirecionamento padrão O local padrão para o qual redirecionar após a autenticação bem-sucedida.
request-path
não estiver definido. Se você solicitar qualquer página abaixo do caminho configurado sem um token de logon válido, o caminho solicitado será armazenado em um cookiee o navegador será redirecionado para este local novamente após a autenticação bem-sucedida.
Atributo de ID de usuário O nome do atributo que contém a ID de usuário usada para autenticar e criar o usuário no repositório do CRX.
saml:Subject
da asserção SAML, mas desse saml:Attribute
.Usar Criptografia Se este manipulador de autenticação espera ou não declarações SAML criptografadas.
Criar Usuários do CRX Automaticamente Determina se os usuários não existentes no repositório devem ou não ser criados automaticamente após a autenticação bem-sucedida.
Adicionar aos grupos Se um usuário deve ou não ser adicionado automaticamente aos grupos do CRX após a autenticação bem-sucedida.
Associação de Grupo O nome do saml:Attribute contendo uma lista de grupos CRX aos quais esse usuário deve ser adicionado.
Adicionar o certificado IdP ao AEM TrustStore add-the-idp-certificate-to-the-aem-truststore
As asserções SAML são assinadas e podem, opcionalmente, ser criptografadas. Para que isso funcione, é necessário fornecer pelo menos o certificado público do IdP no repositório. Para fazer isso, é necessário:
-
Ir para http:/serveraddress:serverport/libs/granite/security/content/truststore.html
-
Pressione o link Criar TrustStore
-
Insira a senha para o TrustStore e pressione Salvar.
-
Clique em Gerenciar TrustStore.
-
Carregue o certificado IdP.
-
Anote o alias do certificado. O alias é admin#1436172864930 no exemplo abaixo.
Adicione a chave do Provedor de serviços e a cadeia de certificados ao keystore do AEM add-the-service-provider-key-and-certificate-chain-to-the-aem-keystore
com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
- Ir para: http://localhost:4502/libs/granite/security/content/useradmin.html
- Editar o usuário
authentication-service
. - Crie um KeyStore clicando em Criar KeyStore em Configurações de Conta.
-
Crie o certificado/par de chaves para AEM. O comando para gerá-lo via openssl deve se parecer com o exemplo abaixo:
openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificate.crt -keyout key.pem
-
Converta a chave para o formato PKCS#8 com codificação DER. Esse é o formato exigido pelo armazenamento de chaves do AEM.
openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out key.der -nocrypt
-
Carregue o arquivo de chave privada clicando em Selecionar arquivo de chave privada.
-
Carregue o arquivo de certificado clicando em Selecionar Arquivos da Cadeia de Certificados.
-
Atribua um Alias, conforme mostrado abaixo:
Configurar um agente de log para SAML configure-a-logger-for-saml
Você pode configurar um Logger para depurar quaisquer problemas que possam surgir ao configurar incorretamente o SAML. Você pode fazer isso ao:
-
Acessando o Console da Web, em http://localhost:4502/system/console/configMgr
-
Procure e clique na entrada denominada Configuração do logger de log do Apache Sling
-
Crie um agente de log com a seguinte configuração:
- Nível de Log: Depuração
- Arquivo de Log: logs/saml.log
- Logger: com.adobe.granite.auth.saml