O AEM tem uma SAML manipulador de autenticação. Esse manipulador fornece suporte para o SAML 2.0 Protocolo de solicitação de autenticação (perfil Web-SSO) usando o HTTP POST
vinculativo.
Ele oferece suporte a:
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.
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 Manipulador de autenticação SAML 2.0 é desativado por padrão. Você deve definir pelo menos uma das seguintes propriedades para habilitar o manipulador:
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 Provedor de Identidade no TrustStore. Consulte Adicionar o certificado IdP ao TrustStore para obter mais informações.
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.
O nome de host do Provedor de Identidade deve ser adicionado ao Filtro referenciador do Apache Sling Configuração do OSGi. Consulte a Console da Web para obter mais informações.
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.
Esse local só será usado se a variável 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 cookie
e 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.
A ID de usuário não será retirada do 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.
Se a criação automática de usuários do CRX estiver desativada, os usuários terão que ser criados manualmente.
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.
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.
As etapas abaixo são obrigatórias, caso contrário, a seguinte exceção será lançada: com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
authentication-service
usuário.As etapas abaixo são necessárias somente se o manipulador puder assinar ou descriptografar mensagens.
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:
Você pode configurar um Logger para depurar quaisquer problemas que possam surgir da configuração incorreta do 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: