Permissões orientadas por metadados metadata-driven-permissions
As Permissões orientadas por metadados são um recurso usado para permitir que as decisões de controle de acesso no AEM Assets Author sejam baseadas nas propriedades dos metadados do ativo, em vez da estrutura de pastas. Com esse recurso, é possível definir políticas de controle de acesso que avaliem atributos como status, tipo ou qualquer propriedade de metadados personalizada que você definir.
Vamos ver um exemplo. Os criadores fazem o upload do trabalho deles para o AEM Assets na pasta relacionada à campanha. Pode ser um ativo de trabalho em andamento que não foi aprovado para uso. Queremos garantir que os profissionais de marketing vejam apenas os ativos aprovados para essa campanha. Podemos utilizar a propriedade de metadados para indicar que um ativo foi aprovado e pode ser usado pelos profissionais de marketing.
Como funciona
A ativação de permissões orientadas por metadados envolve a definição de quais propriedades de metadados de ativos direcionarão as restrições de acesso, como "status" ou "marca". Essas propriedades podem ser usadas para criar entradas de controle de acesso que especificam quais grupos de usuários têm acesso aos ativos com valores de propriedade específicos.
Pré-requisitos
O acesso a um ambiente do AEM as a Cloud Service atualizado para a versão mais recente é necessário para configurar permissões orientadas por metadados.
Configuração OSGi configure-permissionable-properties
Para implementar Permissões orientadas por metadados, um desenvolvedor deve implantar uma configuração OSGi no AEM as a Cloud Service, que permite que propriedades específicas de metadados de ativos alimentem permissões orientadas por metadados.
-
Determine quais propriedades de metadados de ativos serão usadas para controle de acesso. Os nomes de propriedades são os nomes de propriedades JCR no recurso
jcr:content/metadata
do ativo. No nosso caso, será uma propriedade chamadastatus
. -
Crie uma configuração OSGi
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
em seu projeto AEM Maven. -
Cole o seguinte JSON no arquivo criado:
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "enabled":true }
-
Substitua os nomes de propriedade pelos valores necessários.
Redefinir permissões do ativo base
Antes de adicionar Entradas de controle de acesso com base em restrição, uma nova entrada de nível superior deve ser adicionada para primeiro negar acesso de leitura a todos os grupos que estão sujeitos à avaliação de permissão para o Assets (por exemplo, "colaboradores" ou semelhante):
- Navegue até a tela Ferramentas → Segurança → Permissões
- Selecione o grupo Colaboradores (ou outro grupo personalizado ao qual todos os grupos de usuários pertencem)
- Clique em Adicionar ACE no canto superior direito da tela
- Selecionar
/content/dam
para Caminho - Digite
jcr:read
para Privilégios - Selecione
Deny
para Tipo de permissão - Em Restrições, selecione
rep:ntNames
e insiradam:Asset
como o Valor de Restrição - Clique em Salvar
Conceder acesso a ativos por metadados
As entradas de controle de acesso agora podem ser adicionadas para conceder acesso de leitura aos grupos de usuários com base nos valores configurados da propriedade de metadados do ativo.
- Navegue até a tela Ferramentas → Segurança → Permissões
- Selecione os grupos de usuários que devem ter acesso aos ativos
- Clique em Adicionar ACE no canto superior direito da tela
- Selecione
/content/dam
(ou uma subpasta) para Caminho - Digite
jcr:read
para Privilégios - Selecione
Allow
para Tipo de permissão - Em Restrições, selecione um dos nomes de propriedades de metadados de ativos configurados na configuração OSGi
- Insira o valor da propriedade de metadados necessário no campo Valor de restrição
- Clique no ícone + para adicionar a Restrição à Entrada de Controle de Acesso
- Clique em Salvar
Permissões orientadas por metadados em vigor
A pasta de exemplo contém alguns ativos.
Depois de configurar as permissões e definir as propriedades dos metadados do ativo de acordo, os usuários (usuário do Marketeer no nosso caso) verão somente o ativo aprovado.
Benefícios e considerações
Os benefícios das permissões orientadas por metadados incluem:
- Controle refinado do acesso a ativos com base em atributos específicos.
- Dissociação das políticas de controle de acesso da estrutura de pastas, permitindo uma organização de ativos mais flexível.
- Capacidade de definir regras complexas de controle de acesso com base em várias propriedades de metadados.
- As propriedades de metadados são avaliadas em relação às restrições usando Igualdade de cadeia de caracteres (
=
) (outros tipos de dados ou operadores ainda não têm suporte, para propriedades maiores que (>
) ou de Data) - Para permitir vários valores para uma propriedade de restrição, restrições adicionais podem ser adicionadas à Entrada de Controle de Acesso selecionando a mesma propriedade na lista suspensa "Selecionar Tipo" e inserindo um novo Valor de Restrição (por exemplo,
status=approved
,status=wip
) e clicando em "+" para adicionar a restrição à entrada
- Há suporte para restrições AND, por meio de várias restrições em uma única Entrada de Controle de Acesso com diferentes nomes de propriedade (por exemplo,
status=approved
,brand=Adobe
) que será avaliada como uma condição AND, ou seja, o grupo de usuários selecionado receberá acesso de leitura aos ativos comstatus=approved AND brand=Adobe
- Há suporte para restrições OR ao adicionar uma nova Entrada de Controle de Acesso com uma restrição de propriedade de metadados que estabelecerá uma condição OR para as entradas. Por exemplo, uma única entrada com restrição
status=approved
e uma única entrada combrand=Adobe
serão avaliadas comostatus=approved OR brand=Adobe