

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Jerarquía de políticas de enmascaramiento de datos dinámico
<a name="t_ddm-hierarchy"></a>

Cuando asocie varias políticas de enmascaramiento, tenga en cuenta lo siguiente:
+ Se pueden adjuntar varias políticas de enmascaramiento a una sola columna.
+ Cuando se aplican varias políticas de enmascaramiento a una consulta, se aplica la política de mayor prioridad adjuntada a cada columna. Considere el siguiente ejemplo. 

  ```
  ATTACH MASKING POLICY partial_hash
  ON credit_cards(address, credit_card)
  TO ROLE analytics_role 
  PRIORITY 20;
  
  ATTACH MASKING POLICY full_hash
  ON credit_cards(credit_card, ssn)
  TO ROLE auditor_role 
  PRIORITY 30;
  
  SELECT address, credit_card, ssn
  FROM credit_cards;
  ```

  Al ejecutar la instrucción SELECT, un usuario con los roles de analista y auditor ve la columna de direcciones con la política de enmascaramiento `partial_hash` aplicada. También ve las columnas de tarjetas de crédito y SSN con la política de enmascaramiento `full_hash` aplicada, porque la política `full_hash` tiene una mayor prioridad en la columna de tarjetas de crédito.
+  Si no especifica una prioridad al asociar una política de enmascaramiento, la prioridad predeterminada es 0. 
+ No puede adjuntar dos políticas a la misma columna con la misma prioridad. 
+ No puede adjuntar dos políticas a la misma combinación de usuario y columna o rol y columna.
+ Cuando se aplican varias políticas de enmascaramiento a lo largo de la misma ruta SUPER mientras estén asociadas al mismo usuario o rol, solo surtirá efecto la vinculación de mayor prioridad. Considere los siguientes ejemplos: 

  El primer ejemplo muestra dos políticas de enmascaramiento asociadas en la misma ruta donde se aplica la política de mayor prioridad. 

  ```
  ATTACH MASKING POLICY hide_name
  ON employees(col_person.name)
  TO PUBLIC
  PRIORITY 20;
  
  ATTACH MASKING POLICY hide_last_name
  ON employees(col_person.name.last)
  TO PUBLIC
  PRIORITY 30;
  
  --Only the hide_last_name policy takes effect.
  SELECT employees.col_person.name FROM employees;
  ```

  El segundo ejemplo muestra dos políticas de enmascaramiento asociadas a rutas diferentes en el mismo objeto SUPER, sin ningún conflicto entre las políticas. Ambos adjuntos se aplicarán de forma simultánea.

  ```
  ATTACH MASKING POLICY hide_first_name
  ON employees(col_person.name.first)
  TO PUBLIC
  PRIORITY 20;
  
  ATTACH MASKING POLICY hide_last_name
  ON employees(col_person.name.last)
  TO PUBLIC
  PRIORITY 20;
  
  --Both col_person.name.first and col_person.name.last are masked.
  SELECT employees.col_person.name FROM employees;
  ```

Para confirmar qué política de enmascaramiento se aplica a una determinada combinación de usuario y columna o rol y columna, los usuarios con el rol [https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html](https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html) pueden buscar el par de columna y rol o columna y usuario en la vista del sistema [SVV\$1ATTACHED\$1MASKING\$1POLICY](r_SVV_ATTACHED_MASKING_POLICY.md). Para obtener más información, consulte [Vistas del sistema de enmascaramiento de datos dinámico](r_ddm-svv.md).