Manipulador de autenticação SAML 2.0 saml-authentication-handler
O AEM tem uma SAML manipulador de autenticação. Esse manipulador oferece suporte ao SAML 2.0 Protocolo de solicitação de autenticação (perfil Web-SSO) usando o HTTP POST
vinculativo.
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
Esse 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 terceirizado.
Configurando o Manipulador de Autenticação SAML 2.0 configuring-the-saml-authentication-handler
A variável Console da Web fornece acesso à SAML Configuração do Manipulador de autenticação 2.0 chamada Manipulador de autenticação Adobe Granite SAML 2.0. 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 esse 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 OSGi Framework Service para indicar a ordem na qual chamar esse serviço. É um valor inteiro em que valores mais altos designam maior precedência.
Alias do certificado IDP O alias do certificado do IdP na 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 ID 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 redirecionar após a autenticação bem-sucedida.
request-path
cookie não está 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 CRX.
saml:Subject
nó da asserção SAML, mas a partir deste saml:Attribute
.Usar criptografia Se este manipulador de autenticação espera ou não afirmações SAML criptografadas.
Criar automaticamente usuários do CRX 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 a grupos Se um usuário deve ou não ser adicionado automaticamente a grupos 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 a Criar link 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
- Edite o
authentication-service
usuário. - Crie um KeyStore clicando em Criar KeyStore em Configurações da 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
-
Faça upload do arquivo de chave de privacidade clicando em Selecione o arquivo da chave de privacidade.
-
Faça upload do 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 chamada Configuração do logger de log do Apache Sling
-
Crie um agente de log com a seguinte configuração:
- Nível de log: Depurar
- Arquivo de log: logs/saml.log
- Logger: com.adobe.granite.auth.saml