Se você precisar que os usuários de marketing acessem registros de dados, mas não quiser que eles vejam as Informações pessoais (PI) do recipient, como nome, sobrenome ou endereço de email, aplique as diretrizes abaixo para proteger a privacidade e impedir que os dados sejam usados indevidamente pelos operadores de campanha comuns.
Um atributo específico que pode ser aplicado a qualquer elemento ou atributo foi adicionado aos esquemas, ele complementa o atributo existente visibleIf. Este atributo é: accessibleIf. Ao conter uma expressão XTK relacionada ao contexto do usuário atual, ela pode aproveitar HasNamedRight ou $(login), por exemplo.
Você pode encontrar abaixo um exemplo de extensão de schema de recipient que mostra esse uso:
<srcSchema desc="Recipient table (profiles" entitySchema="xtk:srcSchema" extendedSchema="xxl:nmsRecipientXl"
img="nms:recipient.png" label="Recipients" labelSingular="Recipient"
name="recipient" namespace="sec" xtkschema="xtk:srcSchema">
<element desc="Recipient table (profiles" img="xxl:recipient.png" label="Recipients"
labelSingular="Recipient" name="recipient">
<attribute name="firstName" accessibleIf="$(login)=='admin'"/>
<attribute name="lastName" visibleIf="$(login)=='admin'"/>
<attribute name="email" accessibleIf="$(login)=='admin'"/>
</element>
</srcSchema>
As principais propriedades são:
Estas são as consequências do uso desse atributo no Campaign:
Em cada delivery, os endereços de email são copiados para o broadLog e a variável forecastLog tabelas: como consequência, esses campos também precisam ser protegidos.
Abaixo está uma amostra da extensão da tabela de log para implementar isso:
<srcSchema entitySchema="xtk:srcSchema" extendedSchema="nms:broadLogRcp" img="nms:broadLog.png"
label="Recipient delivery logs" labelSingular="Recipient delivery log"
name="broadLogRcp" namespace="sec" xtkschema="xtk:srcSchema">
<element img="nms:broadLog.png" label="Recipient delivery logs" labelSingular="Recipient delivery log"
name="broadLogRcp">
<attribute accessibleIf="$(login)=='admin'" name="address"/>
</element>
</srcSchema>
<srcSchema desc="Delivery messages being prepared." entitySchema="xtk:srcSchema"
extendedSchema="nms:tmpBroadcast" img="" label="Messages being prepared"
labelSingular="Message" name="tmpBroadcast" namespace="sec" xtkschema="xtk:srcSchema">
<element desc="Delivery messages being prepared." label="Messages being prepared"
labelSingular="Message" name="tmpBroadcast">
<attribute accessibleIf="$(login)=='admin'" name="address"/>
</element>
</srcSchema>
<srcSchema entitySchema="xtk:srcSchema" extendedSchema="nms:excludeLogRcp" img="nms:excludeLog.png"
label="Recipient exclusion logs" labelSingular="Recipient exclusion log"
name="excludeLogRcp" namespace="sec" xtkschema="xtk:srcSchema">
<element img="nms:excludeLog.png" label="Recipient exclusion logs" labelSingular="Recipient exclusion log"
name="excludeLogRcp">
<attribute accessibleIf="$(login)=='admin'" name="address"/>
</element>
</srcSchema>
Essa restrição se aplica somente a usuários não técnicos e não isola dados: um usuário técnico, com permissões relacionadas, pode recuperar dados.