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.
API-tiendas de pólizas vinculadas
Un caso de uso común es utilizar los permisos verificados de Amazon para autorizar el acceso de los usuarios a los APIs alojamientos alojados en Amazon API Gateway. Con un asistente en la AWS consola, puede crear políticas de acceso basadas en roles para los usuarios gestionados en Amazon
Para completar el asistente, elija Configurar con API Gateway y un proveedor de identidad al crear un nuevo almacén de políticas y siga los pasos.
Se crea un almacén de políticas API vinculado que aprovisiona el modelo de autorización y los recursos para las solicitudes de autorización. El almacén de políticas tiene una fuente de identidad y un autorizador Lambda que conecta API Gateway a Verified Permissions. Una vez creado el almacén de políticas, puede autorizar API las solicitudes en función de la pertenencia a grupos de usuarios. Por ejemplo, los permisos verificados solo pueden conceder acceso a los usuarios que son miembros del Directors
grupo.
A medida que su aplicación crezca, podrá implementar una autorización detallada con atributos de usuario y ámbitos OAuth 2.0 utilizando el lenguaje de políticas de Cedar.email
atributo en el dominio. mycompany.co.uk
Una vez que haya configurado su modelo de autorizaciónAPI, su responsabilidad restante será autenticar a los usuarios y generar API solicitudes en su aplicación, así como mantener su almacén de políticas.
Para ver una demostración, consulta Amazon Verified Permissions: Quick Start Overview y Demo
Temas
importante
Los almacenes de políticas que se crean con la opción Configurar con API Gateway y una fuente de identidad en la consola de permisos verificados no están pensados para su despliegue inmediato en la producción. Con el almacén de políticas inicial, finalice el modelo de autorización y exporte los recursos del almacén de políticas al que CloudFormation. Implemente permisos verificados en producción mediante programación con el AWSCloud Development Kit () CDK
En un almacén de políticas que está vinculado a una fuente de identidad API y a una fuente de identidad, tu aplicación presenta un token de grupo de usuarios en un encabezado de autorización cuando realiza una solicitud a. API La fuente de identidad de tu almacén de políticas proporciona una validación de token para los permisos verificados. El token forma las solicitudes principal
de autorización de entrada con IsAuthorizedWithTokenAPI. Los permisos verificados crean políticas en torno a la pertenencia a grupos de sus usuarios, tal como se presenta en la declaración de un grupo en términos de identidad (ID) y de acceso, por ejemplo, cognito:groups
para los grupos de usuarios. APIProcesa el token de la aplicación en un autorizador Lambda y lo envía a Verified Permissions para que tome una decisión de autorización. Cuando API reciba la decisión de autorización del autorizador Lambda, este transferirá la solicitud a su fuente de datos o la rechazará.
Componentes de la fuente de identidad y la autorización de API Gateway con permisos verificados
-
Un grupo de usuarios o OIDC IdP de Amazon Cognito que autentica y agrupa a los usuarios. Los tokens de los usuarios completan la membresía del grupo y el principal o el contexto que Verified Permissions evalúa en su almacén de políticas.
-
Una API puerta de enlace. REST API Los permisos verificados definen las acciones a partir de API rutas y API métodos, por ejemplo
MyAPI::Action::get /photo
. -
Una función Lambda y un autorizador Lambda para su. API La función Lambda toma los tokens portadores de su grupo de usuarios, solicita la autorización de Verified Permissions y devuelve una decisión a Gateway. API El flujo de trabajo Configurar con API Gateway y una fuente de identidad crea automáticamente este autorizador Lambda por usted.
-
Un almacén de políticas de permisos verificados. La fuente de identidad del almacén de políticas es su grupo de usuarios o grupo de OIDC proveedores de Amazon Cognito. El esquema del almacén de políticas refleja su API configuración y las políticas vinculan los grupos de usuarios con API las acciones permitidas.
-
Una aplicación que autentica a los usuarios con tu IDP y añade tokens a las solicitudes. API
Cómo autoriza Verified Permissions las solicitudes API
Al crear un nuevo almacén de políticas y seleccionar la opción Configurar con API Gateway y una fuente de identidad, Verified Permissions crea el esquema y las políticas del almacén de políticas. El esquema y las políticas reflejan API las acciones y los grupos de usuarios a los que desea autorizar para que las realicen. Verified Permissions también crea la función Lambda y el autorizador.
![Diagrama que muestra el flujo de una solicitud de autorización con Amazon API Gateway, Amazon Cognito y Amazon Verified Permissions.](images/api-authorization.png)
-
El usuario inicia sesión con la aplicación a través de Amazon Cognito u otro OIDC IdP. El IdP emite identificadores de acceso y de identificación con la información del usuario.
-
Su aplicación almacena elJWTs. Para obtener más información, consulte Uso de tokens con grupos de usuarios en la Guía para desarrolladores de Amazon Cognito.
-
El usuario solicita datos que la aplicación debe recuperar de un dispositivo externoAPI.
-
Su aplicación solicita datos de una API puerta REST API de enlace interna. Añade un ID o un token de acceso como encabezado de solicitud.
-
Si API tiene una memoria caché para la decisión de autorización, devolverá la respuesta anterior. Si el almacenamiento en caché está deshabilitado o no API tiene caché actual, API Gateway pasa los parámetros de la solicitud a un autorizador Lambda basado en tokens.
-
La función Lambda envía una solicitud de autorización a un almacén de políticas de permisos verificados con. IsAuthorizedWithTokenAPI La función Lambda transmite los elementos de una decisión de autorización:
-
El token del usuario como principal.
-
El API método combinado con la API ruta, por ejemplo
GetPhoto
, como acción. -
El término
Application
como recurso.
-
-
Los permisos verificados validan el token. Para obtener más información sobre cómo se validan los tokens de Amazon Cognito, consulte Autorización con permisos verificados de Amazon en la Guía para desarrolladores de Amazon Cognito.
-
Verified Permissions evalúa la solicitud de autorización comparándola con las políticas de su almacén de políticas y devuelve una decisión de autorización.
-
El autorizador Lambda devuelve una
Deny
respuestaAllow
or a Gateway. API -
APIDevuelve datos o una
ACCESS_DENIED
respuesta a su solicitud. Su solicitud procesa y muestra los resultados de la API solicitud.
Consideraciones sobre los API almacenes de pólizas vinculados
Al crear un almacén API de políticas vinculado a puntos en la consola de permisos verificados, se crea una prueba para una posible implementación en producción. Antes de pasar a la fase de producción, establezca una configuración fija para su grupo de usuarios API y su grupo de usuarios. Tenga en cuenta los siguientes factores:
- APIGateway almacena en caché las respuestas
-
En los almacenes API de políticas enlazados, Verified Permissions crea un autorizador Lambda con un almacenamiento en TTL caché de autorización de 120 segundos. Puede ajustar este valor o desactivar el almacenamiento en caché en su autorizador. En un autorizador con el almacenamiento en caché activado, el autorizador devuelve la misma respuesta cada vez hasta que caduca. TTL Esto puede prolongar la vida útil efectiva de los tokens del grupo de usuarios hasta un tiempo equivalente al almacenamiento en caché TTL de la fase solicitada.
- Los grupos de Amazon Cognito se pueden reutilizar
-
Amazon Verified Permissions determina la pertenencia a un grupo para los usuarios del grupo de usuarios a partir de la
cognito:groups
declaración que figura en el identificador de usuario o en el token de acceso. El valor de esta afirmación es un conjunto de nombres descriptivos de los grupos de usuarios a los que pertenece el usuario. No puede asociar grupos de grupos de usuarios con un identificador único.Los grupos de usuarios que se eliminan y se vuelven a crear con el mismo nombre se presentan en el almacén de políticas como el mismo grupo. Al eliminar un grupo de un grupo de usuarios, elimine todas las referencias al grupo del almacén de políticas.
- API-el espacio de nombres y el esquema derivados son point-in-time
-
Verified Permissions lo captura en un API momento dado: solo lo consulta API cuando crea su almacén de políticas. Cuando el esquema o el nombre del usuario API cambien, debe actualizar el almacén de políticas y el autorizador de Lambda, o bien crear un nuevo almacén API de políticas vinculado. Verified Permissions deriva el espacio de nombres del almacén de políticas a partir del nombre suyo
. API - La función Lambda no tiene configuración VPC
-
La función Lambda que Verified Permissions crea para su API autorizador se lanza de forma predeterminada. VPC De forma predeterminada. APIslos que tienen acceso a la red restringido a privado no VPCs pueden comunicarse con la función Lambda que autoriza las solicitudes de acceso con permisos verificados.
- Verified Permissions implementa los recursos del autorizador en CloudFormation
-
Para crear un almacén API de políticas vinculado, debe iniciar sesión con un AWS director con muchos privilegios en la consola de permisos verificados. Este usuario despliega una AWS CloudFormation pila que crea recursos en varios. Servicios de AWS Este director debe tener el permiso para añadir y modificar recursos en Verified Permissions IAM, Lambda y API Gateway. Como práctica recomendada, no comparta estas credenciales con otros administradores de su organización.
Consulte Pasar a la producción con AWS CloudFormation para obtener una descripción general de los recursos que crea Verified Permissions.
Añadir un control de acceso basado en atributos () ABAC
Una sesión de autenticación típica con un IdP devuelve los identificadores de identificación y acceso. Puede pasarle cualquiera de estos tipos de token como token portador en las solicitudes de solicitud que le envíes. API En función de las opciones que haya elegido al crear el almacén de políticas, Verified Permissions utilizará uno de los dos tipos de token. Ambos tipos contienen información sobre la pertenencia al grupo del usuario. Para obtener más información sobre los tipos de token en Amazon Cognito, consulte Uso de tokens con grupos de usuarios en la Guía para desarrolladores de Amazon Cognito.
Tras crear un almacén de políticas, puede añadir y ampliar políticas. Por ejemplo, puede agregar nuevos grupos a sus políticas a medida que los agrega a su grupo de usuarios. Como su almacén de políticas ya conoce la forma en que su grupo de usuarios presenta los grupos en forma de tokens, puede permitir un conjunto de acciones para cualquier grupo nuevo con una política nueva.
Es posible que también desee ampliar el modelo de evaluación de políticas basado en grupos para convertirlo en un modelo más preciso basado en las propiedades de los usuarios. Los tokens del grupo de usuarios contienen información de usuario adicional que puede contribuir a las decisiones de autorización.
- Tokens de ID
-
Los tokens de identificación representan los atributos de un usuario y tienen un alto nivel de control de acceso detallado. Para evaluar las direcciones de correo electrónico, los números de teléfono o los atributos personalizados, como el departamento y el gerente, evalúa el token de identificación.
- Tokens de acceso
-
Los tokens de acceso representan los permisos de un usuario con un alcance OAuth 2.0. Para añadir una capa de autorización o configurar solicitudes de recursos adicionales, evalúa el token de acceso. Por ejemplo, puede validar que un usuario esté en los grupos adecuados y tenga un ámbito como el
PetStore.read
que generalmente autoriza el acceso a losAPI. Los grupos de usuarios pueden añadir ámbitos personalizados a los tokens con servidores de recursos y con la personalización de los mismos durante el tiempo de ejecución.
Consulte, Asignación de tokens de proveedores de identidad al esquema por ejemplo, las políticas que procesan las reclamaciones en los tokens de identificación y acceso.