Aislamiento de inquilinos con el modelo de documentos OPA - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Aislamiento de inquilinos con el modelo de documentos OPA

La OPA utiliza los documentos para tomar decisiones. Estos documentos pueden contener datos específicos de los inquilinos, por lo que debe considerar cómo mantener el aislamiento de los datos de los inquilinos. Los documentos de la OPA consisten en documentos base y documentos virtuales. Los documentos base contienen datos del mundo exterior. Esto incluye los datos proporcionados directamente a la OPA, los datos sobre la solicitud de la OPA y los datos que podrían transferirse a la OPA como entrada. Los documentos virtuales se calculan por política e incluyen las políticas y normas de la OPA. Para obtener más información, consulte la documentación de la OPA.

Para diseñar un modelo de documento en la OPA para una solicitud con varios inquilinos, primero debe considerar qué tipo de documentos base necesitará para tomar una decisión en la OPA. Si estos documentos básicos contienen datos específicos de los inquilinos, debe tomar medidas para garantizar que estos datos no se expongan accidentalmente al acceso de varios inquilinos. Afortunadamente, en muchos casos, no se requieren datos específicos del inquilino para tomar una decisión en la OPA. El siguiente ejemplo muestra un modelo de documento de OPA hipotético que permite el acceso a una API en función del arrendatario propietario de la API y de si el usuario es miembro del arrendatario, como se indica en el documento de entrada.

Modelo de documento OPA básico

En este enfoque, la OPA no tiene acceso a ningún dato específico del inquilino, excepto a la información sobre qué inquilinos poseen una API. En este caso, no es motivo de preocupación que la OPA facilite el acceso entre inquilinos, ya que la única información que la OPA utiliza para tomar una decisión de acceso es la asociación del usuario con un inquilino y la asociación del inquilino con él. APIs Podría aplicar este tipo de modelo de documentos de OPA a un modelo de SaaS aislado, ya que cada inquilino tendría la propiedad de recursos independientes.

Sin embargo, en muchos enfoques de autorización del RBAC, existe la posibilidad de que la información quede expuesta entre distintos arrendatarios. En el siguiente ejemplo, un modelo hipotético de documento de la OPA permite el acceso a una API en función de si el usuario es miembro de un arrendatario y de si el usuario tiene la función correcta para acceder a la API.

Modelo de documento OPA para casos de uso entre inquilinos

Este modelo presenta un riesgo de acceso entre inquilinos, ya que los roles y permisos de varios inquilinos entran en data.tenant1.user_roles juego y ahora la OPA data.tenant2.user_roles debe ponerlos a disposición de la OPA para tomar decisiones de autorización. Para mantener el aislamiento de los inquilinos y la privacidad de la asignación de funciones, estos datos no deben residir en la OPA. Los datos del RBAC deben residir en una fuente de datos externa, como una base de datos. Además, la OPA no debe usarse para asignar funciones predefinidas a permisos específicos, ya que esto dificulta que los inquilinos definan sus propias funciones y permisos. También hace que la lógica de autorización sea rígida y necesite una actualización constante. Para obtener orientación sobre cómo incorporar de forma segura los datos del RBAC en el proceso de toma de decisiones de la OPA, consulte la sección Recomendaciones para el aislamiento de los inquilinos y la privacidad de los datos, más adelante en esta guía.

Puede mantener fácilmente el aislamiento de los inquilinos en la OPA al no almacenar ningún dato específico de los inquilinos como un documento base asíncrono. Un documento base asíncrono son datos que se almacenan en la memoria y se pueden actualizar periódicamente en la OPA. Otros documentos base, como la entrada de la OPA, se transmiten de forma sincrónica y solo están disponibles en el momento de tomar una decisión. Por ejemplo, proporcionar datos específicos del inquilino como parte de la entrada de la OPA a una consulta no constituiría una violación del aislamiento del inquilino, ya que esos datos solo están disponibles de forma sincrónica durante el proceso de toma de una decisión.