En esta página, se describe la API de administración de consentimientos y cómo usarla para administrar el consentimiento y la privacidad del usuario.
La API de administración de consentimientos es un componente de tu arquitectura de consentimiento y privacidad y proporciona administración escalable y segura del consentimiento y de la privacidad de los datos de los usuarios. La API de administración de consentimientos almacena la información de consentimiento que recibes de los usuarios, realiza un seguimiento de los datos permitidos para cada caso de uso y ayuda a tu aplicación a usar datos solo de acuerdo con lo que dictan tus usuarios.
Flujo de información de la API de administración de consentimientos
El flujo de la información de consentimiento y privacidad dentro de la API de administración de consentimientos es el siguiente:
- Tu aplicación presenta opciones de privacidad a un usuario y, luego, crea o revisa un registro de consentimiento dentro de la API de administración de consentimientos para representar la decisión del usuario.
- A medida que tu aplicación escribe datos en sus diversos almacenes de datos, registra la ubicación y las características de esos datos con la instancia de tu API de administración de consentimientos.
- Cuando una aplicación necesita determinar si los datos se aceptan para un caso de uso particular, realiza una solicitud a la API de administración de consentimientos con los datos solicitados y el uso propuesto.
- La API de Administración de consentimientos compara los datos solicitados y el uso propuesto para los consentimientos almacenados, y muestra una respuesta positiva si hay un consentimiento válido. Se muestra una respuesta negativa si no existe un consentimiento válido.
En el siguiente diagrama, se muestra el flujo de información de la API de administración de consentimientos:
Para obtener más información sobre cómo se organizan los datos de consentimiento dentro de la API de administración de consentimientos, consulta Modelo de datos de la API de administración de consentimientos.
Punto de decisión de la política
La API de administración de consentimientos actúa como el punto de decisión de la política dentro de tu arquitectura de consentimiento y privacidad de la siguiente manera:
- Almacena las políticas de consentimiento que otorgan los usuarios de tus aplicaciones.
- Acepta consultas de acceso a datos realizadas por aplicaciones cliente autorizadas.
- Evalúa las consultas de acceso según las políticas de consentimiento almacenadas.
- Realiza determinaciones de acceso para aplicar las políticas de consentimiento a las aplicaciones cliente.
Aplicación de la política
La API de administración de consentimientos admite la aplicación de políticas dentro de tu arquitectura de consentimiento y privacidad de la siguiente manera:
- Procesa las consultas de determinación de acceso que realizan las aplicaciones o los puntos de aplicación de la política.
- Evalúa si se puede acceder a un recurso con un fin determinado.
- Determina todos los recursos a los que se puede acceder para un propósito específico.
- Vincula los recursos a los atributos y a las políticas de consentimiento para que los puntos de aplicación solo necesiten especificar los atributos de solicitud y un nombre de recurso opcional.
- Muestra las determinaciones de acceso con el estado de consentimiento actual, incluso mientras agregan, actualizan o revocan el consentimiento.
Puedes implementar más de un patrón de aplicación de políticas con la API de administración de consentimientos dentro de la arquitectura de consentimiento y privacidad. En la siguiente lista, se muestran ejemplos de patrones de aplicación de políticas:
- Aplicación de políticas mediante apps de confianza. Las aplicaciones que verificaron la identidad y las calificaciones de un usuario pueden reenviar las propiedades relevantes a la API de administración de consentimientos. Esto permite a los usuarios enviar o actualizar consentimientos y permitir que las aplicaciones con calificaciones verificadas accedan a la información de consentimiento de su caso de uso.
- Aplicación de políticas mediante middleware de clientes. Las aplicaciones que requieren la verificación de la identidad y las calificaciones de un usuario pueden usar la API de administración de consentimientos para determinar si se permite el acceso para una solicitud determinada.
- Aplicación de políticas mediante servidores de recursos. Los servidores de recursos pueden usar la identidad de un usuario para recuperar calificaciones de otras aplicaciones, si es necesario, y, luego, llamar a la API de administración de consentimientos para determinar el acceso antes de cumplir las solicitudes.
Representación de políticas
Las políticas de consentimiento dentro de la API de administración de consentimientos están compuestas por un conjunto de valores de atributos de recursos que definen a qué datos se aplica esa política y una regla de autorización que define las condiciones según las que esa política es válida.
Cuando se especifican varios valores para un solo atributo de recurso, la política se aplica a los datos que coinciden con cualquiera de esos valores. Cuando aparecen varios atributos de recursos en una política, cada uno de ellos debe coincidir con la política que se aplicará.
Las reglas de autorización usan una variante restringida de Common Expression Language (CEL) para describir de manera flexible las relaciones entre valores de atributos de solicitud que permiten el acceso a los datos relevantes. Para obtener más información sobre CEL, consulta Common Expression Language.
Los recursos de consentimiento pueden contener varias políticas de consentimiento que pueden representar una respuesta positiva a las preguntas de consentimiento que se presentan a un usuario. Las políticas de consentimiento también se pueden usar para representar formularios de consentimiento completos o decisiones organizativas y administrativas.
En el siguiente diagrama, se muestra cómo se representan las políticas en la API de administración de consentimientos:
En este diagrama, se muestra cómo construir políticas de consentimiento simples con atributos de recursos y solicitudes. Se pueden crear políticas más complejas combinando dos o más políticas.
Registros de consentimientos
La API de administración de consentimientos almacena los siguientes tipos de registros de consentimiento:
- Artefactos de consentimiento: Almacena los documentos que el usuario aceptó o firmó. Estos registros pueden contener archivos PDF o imágenes de las pantallas que se muestran al usuario durante el proceso de consentimiento. También se pueden usar para almacenar firmas, marcas de tiempo y otra información importante que documenta el proceso de consentimiento.
- Recursos de consentimiento: describe el consentimiento que proporcionó el usuario en términos de los atributos de consentimiento configurados. La API de administración de consentimientos evalúa estos registros a fin de determinar si los datos se aceptan para un caso de uso. Los recursos de consentimiento contienen el consentimiento otorgado y el estado del consentimiento. Estos registros también se pueden vincular con los artefactos de consentimiento correspondientes.
Para obtener más información sobre los registros de consentimiento, consulta Crea y actualiza el consentimiento de los usuarios.
Administración de datos
La API de administración de consentimientos puede administrar los datos almacenados en tus propios esquemas en Google Cloud, de manera local o con otro proveedor de servicios en la nube, siempre y cuando los datos se puedan describir mediante una string. La API de administración de consentimientos usa asignaciones de datos del usuario para realizar un seguimiento de los datos administrados sin que estos deban almacenarse en el servicio.
Cada asignación de datos del usuario contiene un ID de datos, un ID de usuario y un conjunto de valores de atributos de recursos. El ID de los datos es una string que identifica de manera única los datos representados por la asignación de datos del usuario. El ID de usuario es un identificador opaco que vincula esos datos a un usuario. Los valores de los atributos de recursos describen las características de los datos mediante un vocabulario definido por los recursos de definición de atributos.
Las siguientes son ubicaciones de almacenamiento comunes para los datos administrados con consentimiento:
- Tiendas de FHIR
- BigQuery
- Cloud Storage
Para obtener más información sobre cómo crear asignaciones de datos del usuario, consulta Registra datos de los usuarios.
Determinación de acceso
Las solicitudes de determinación de acceso provienen de aplicaciones que necesitan saber si el uso propuesto se permite para acceder a un elemento de datos específico, a todos los elementos de datos asociados a un usuario o a almacenes de datos en su totalidad. A fin de determinar si se permite una solicitud, la API de administración de consentimientos evalúa si hay un consentimiento válido para otorgar acceso a los datos especificados y el uso propuesto. La API de administración de consentimientos realiza esta evaluación de la siguiente manera:
- La API de administración de consentimientos recibe una solicitud de determinación de acceso con valores de atributos de solicitud para el uso propuesto y un recurso objetivo o un rango de recursos de destino descritos por los ID de usuario o los valores de atributos de recursos.
- Si se especifica un rango de recursos de destino, la API de administración de consentimientos determina los recursos que coinciden con el rango. Por ejemplo, si defines un rango de valores de atributos de recursos, todos los recursos dentro de este rango se usarán en la solicitud de determinación de acceso.
- Se identifican los consentimientos de todos los recursos coincidentes.
- El uso propuesto se evalúa en función de las reglas de autorización de los consentimientos relevantes.
- Si alguna de las reglas de autorización permite esta combinación de valores de atributos de solicitud, se muestra una determinación de acceso positiva para cada recurso evaluado.
De forma predeterminada, la determinación del acceso solo se realiza con consentimientos activos. Se pueden incluir los consentimientos en estado de borrador en la determinación del acceso. Para ello, se especifican directamente en la solicitud de determinación de acceso. Los consentimientos vencidos, revocados o rechazados, se ignoran en todas las solicitudes de determinación de acceso.
Para obtener más información sobre cómo realizar solicitudes de determinación de acceso, consulta Realiza determinaciones de acceso.