Prácticas recomendadas - 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.

Prácticas recomendadas

En esta sección se enumeran algunas de las conclusiones de alto nivel de esta guía. Para obtener información detallada sobre cada punto, siga los enlaces a las secciones correspondientes.

Seleccione un modelo de control de acceso que funcione para su aplicación

En esta guía se analizan varios modelos de control de acceso. En función de la aplicación y de los requisitos empresariales, debe seleccionar el modelo que mejor se adapte a sus necesidades. Considere cómo puede utilizar estos modelos para satisfacer sus necesidades de control de acceso y cómo podrían evolucionar estas necesidades, lo que requeriría cambios en el enfoque que haya seleccionado.

Implemente un PDP

El punto de decisión política (PDP) se puede caracterizar como un motor de políticas o reglas. Este componente es responsable de aplicar las políticas o reglas y de decidir si se permite un acceso en particular. Un PDP permite transferir la lógica de autorización del código de la aplicación a un sistema independiente. Esto puede simplificar el código de la aplicación. También proporciona una interfaz easy-to-use ideal para tomar decisiones de autorización para microservicios APIs, capas de backend for Frontend (BFF) o cualquier otro componente de la aplicación. Se puede usar un PDP para hacer cumplir los requisitos de arrendamiento de manera uniforme en una aplicación.

PEPs Impleméntelo para cada API de su aplicación

La implementación de un punto de aplicación de políticas (PEP) requiere determinar dónde debe aplicarse el control de acceso en una aplicación. Como primer paso, localice los puntos de la aplicación en los que pueda PEPs incorporarla. Tenga en cuenta este principio a la hora de decidir dónde añadir PEPs:

Si una aplicación expone una API, debe haber autorización y control de acceso en esa API.

Considere la posibilidad de utilizar Amazon Verified Permissions (OPA) como motor de políticas para su PDP

Los permisos verificados de Amazon tienen ventajas sobre los motores de políticas personalizados. Se trata de un servicio de autorización y administración de permisos escalable y detallado para las aplicaciones que cree. Es compatible con la redacción de políticas en el lenguaje declarativo de código abierto de alto nivel Cedar. Como resultado, implementar un motor de políticas mediante permisos verificados requiere menos esfuerzo de desarrollo que implementar su propia solución. Además, Verified Permissions está totalmente gestionado, por lo que no es necesario gestionar la infraestructura subyacente.

El Open Policy Agent (OPA) presenta ventajas en comparación con los motores de políticas personalizados. La OPA y su evaluación de políticas con Rego proporcionan un motor de políticas flexible y prediseñado que permite redactar políticas en un lenguaje declarativo de alto nivel. Esto hace que el nivel de esfuerzo necesario para implementar un motor de políticas sea significativamente menor que para crear su propia solución. Además, la OPA se está convirtiendo rápidamente en un estándar de autorización bien respaldado.

Implemente un plano de control para la OPA para DevOps la supervisión y el registro

Como la OPA no proporciona un medio para actualizar y realizar un seguimiento de los cambios en la lógica de autorización mediante el control de código fuente, le recomendamos que implemente un plano de control para realizar estas funciones. Esto permitirá que las actualizaciones se distribuyan más fácilmente a los agentes de la OPA, especialmente si la OPA opera en un sistema distribuido, lo que reducirá la carga administrativa que implica el uso de la OPA. Además, se puede utilizar un plano de control para recopilar registros para su agregación y supervisar el estado de los agentes de la OPA.

Configure las funciones de registro y observabilidad en Verified Permissions

Los permisos verificados proporcionan un fácil acceso a las funciones de observabilidad. Puede configurar el servicio para que registre todos los intentos de acceso a los flujos de entrega de Amazon Data Firehose, grupos de CloudWatch registros de Amazon, buckets S3 o Amazon Data Firehose para poder responder rápidamente a los incidentes de seguridad y a las solicitudes de auditoría. AWS CloudTrail Además, puede supervisar el estado del servicio a través del. AWS Health Dashboard Dado que Verified Permissions es un servicio gestionado, su estado se mantiene mediante otros servicios gestionados AWS, y usted puede configurar sus funciones de observación mediante el uso de otros servicios AWS gestionados.

Utilice una canalización de CI/CD para aprovisionar y actualizar los almacenes de políticas y las políticas en Verified Permissions

Los permisos verificados son un servicio gestionado, por lo que no es necesario gestionar, configurar ni mantener los planos de control o los agentes para realizar las actualizaciones. Sin embargo, le recomendamos que utilice una canalización de integración e implementación continuas (CI/CD) para administrar la implementación de los almacenes de políticas de permisos verificados y las actualizaciones de políticas mediante el AWS SDK. Este esfuerzo puede eliminar el esfuerzo manual y reducir la probabilidad de que se cometan errores por parte del operador al realizar cambios en los recursos de permisos verificados.

Determine si se requieren datos externos para tomar decisiones de autorización y seleccione un modelo que se adapte a ellos

Si un PDP puede tomar decisiones de autorización basándose únicamente en los datos contenidos en un token web JSON (JWT), normalmente no es necesario importar datos externos para ayudar a tomar estas decisiones. Si utilizas permisos verificados u OPA como PDP, también puede aceptar datos adicionales que se envíen como parte de la solicitud, incluso si estos datos no están incluidos en un JWT. En el caso de los permisos verificados, puedes usar un parámetro de contexto para los datos adicionales. En el caso de la OPA, puede utilizar los datos JSON como entrada de sobrecarga. Si utilizas un JWT, los métodos de entrada contextuales o de sobrecarga suelen ser mucho más fáciles que mantener los datos externos en otra fuente. Si se requieren datos externos más complejos para tomar decisiones de autorización, OPA ofrece varios modelos para recuperar datos externos, y Verified Permissions puede complementar los datos de sus solicitudes de autorización haciendo referencia a fuentes externas con un servicio de autorización.