Cómo funciona Amazon Lex con IAM - Amazon Lex V1

Si utiliza Amazon Lex V2, consulte la guía de Amazon Lex V2.

 

Si utiliza Amazon Lex V1, le recomendamos que actualice los bots a Amazon Lex V2. Hemos dejado de agregar nuevas características a V1, por lo que recomendamos encarecidamente utilizar V2 para todos los nuevos bots.

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.

Cómo funciona Amazon Lex con IAM

Antes de utilizar IAM para administrar el acceso a Amazon Lex, obtenga información sobre qué características de IAM se encuentran disponibles con Amazon Lex.

Para obtener una perspectiva general sobre cómo funcionan Amazon Lex y otros productos de AWS con la mayoría de las características de IAM, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.

Políticas de Amazon Lex basadas en identidades

Compatibilidad con las políticas basadas en identidad

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en identidad, consulte Creación de políticas de IAM en la Guía del usuario de IAM.

Con las políticas basadas en identidad de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. No es posible especificar la entidad principal en una política basada en identidad porque se aplica al usuario o rol al que está adjunto. Para obtener más información sobre los elementos que puede utilizar en una política JSON, consulte Referencia de los elementos de las políticas JSON de IAM en la Guía del usuario de IAM.

Ejemplos de políticas basadas en identidades para Amazon Lex

Para ver ejemplos de políticas basadas en identidad de Amazon Lex, consulte Ejemplos de políticas basadas en identidades para Amazon Lex.

Políticas de Amazon Lex basadas en recursos

Compatibilidad con las políticas basadas en recursos

No

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Los ejemplos de políticas basadas en recursos son las políticas de confianza de roles de IAM y las políticas de bucket de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe especificar una entidad principal en una política en función de recursos. Las entidades principales pueden incluir cuentas, usuarios, roles, usuarios federados o servicios de AWS.

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de recursos. Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando la entidad principal y el recurso se encuentran en Cuentas de AWS diferentes, un administrador de IAM de la cuenta de confianza también debe conceder a la entidad principal (usuario o rol) permiso para acceder al recurso. Para conceder el permiso, adjunte la entidad a una política basada en identidad. Sin embargo, si la política en función de recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política en función de identidad adicional. Para más información, consulte Cómo los roles de IAM difieren de las políticas basadas en recursos en la Guía del Usuario de IAM.

Acciones de políticas para Amazon Lex

Admite acciones de política

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El elemento Action de una política JSON describe las acciones que puede utilizar para permitir o denegar el acceso en una política. Las acciones de la política generalmente tienen el mismo nombre que la operación de API de AWS asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.

Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Para ver una lista de las acciones de Amazon Lex, consulte Acciones definidas por Amazon Lex en la Referencia de autorizaciones de servicio.

Las acciones de políticas de Amazon Lex utilizan el siguiente prefijo antes de la acción:

lex

Para especificar varias acciones en una única instrucción, sepárelas con comas.

"Action": [ "lex:action1", "lex:action2" ]

Puede utilizar caracteres comodín (*) para especificar varias acciones. Por ejemplo, para especificar todas las acciones que comiencen con la palabra Describe, incluya la siguiente acción:

"Action": "lex:Describe*"

Recursos de políticas para Amazon Lex

Admite recursos de políticas

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El elemento Resource de la política JSON especifica el objeto u objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.

Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.

"Resource": "*"

Un ARN de un recurso de bot de Amazon Lex tiene el siguiente formato.

arn:aws:lex:${Region}:${Account}:bot:${Bot-Name}

Para obtener más información acerca del formato de los ARN, consulte Nombres de recursos de Amazon (ARN) y espacios de nombres de servicios de AWS.

Por ejemplo, para especificar el bot de OrderFlowers en su instrucción, utilice el siguiente ARN.

"Resource": "arn:aws:lex:us-east-2:123456789012:bot:OrderFlowers"

Para especificar todos los bots que pertenecen a una cuenta específica, utilice el carácter comodín (*).

"Resource": "arn:aws:lex:us-east-2:123456789012:bot:*"

Algunas acciones de Amazon Lex, como las que se utilizan para crear recursos, no se pueden llevar a cabo en un recurso específico. En dichos casos, debe utilizar el carácter comodín, (*).

"Resource": "*"

Para ver una lista de tipos de recursos de Amazon Lex y sus ARN, consulte Tipos de recurso definidos por Amazon Lex en la Referencia de autorizaciones de servicio. Para obtener información acerca de las acciones con las que puede especificar el ARN de cada recurso, consulte Acciones definidas por Amazon Lex.

Claves de condiciones de políticas para Amazon Lex

Admite claves de condición de políticas específicas del servicio

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El elemento Condition (o bloque de Condition) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.

Si especifica varios elementos de Condition en una instrucción o varias claves en un único elemento de Condition, AWS las evalúa mediante una operación lógica AND. Si especifica varios valores para una única clave de condición, AWS evalúa la condición con una operación OR lógica. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.

También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para más información, consulte Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.

AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición globales de AWS, consulte Claves de contexto de condición globales de AWS en la Guía del Usuario de IAM.

Para ver una lista de las claves de condición de Amazon Lex, consulte Claves de condición para Amazon Lex en la Referencia de autorizaciones de servicio. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte Acciones definidas por Amazon Lex.

En la siguiente tabla se enumeran las claves de condición de Amazon Lex que se aplican a los recursos de Amazon Lex. Puede incluir estas claves en los elementos Condition de una política de permisos de IAM.

Clave de condición de Amazon Lex Descripción Tipo de valor Permiso
lex:associatedIntents

Delimita el ámbito del conjunto de intenciones que se pueden utilizar al crear o modificar la definición de un bot.

Matriz de cadenas

lex:PutBot

lex:associatedSlotTypes

Delimita el ámbito del conjunto de tipos de slot que se pueden utilizar al crear o modificar la definición de un tipo de slot.

Matriz de cadenas

lex:PutIntent

lex:ChannelType

Delimita el ámbito del tipo de asociación de canal de bot que un usuario puede crear, obtener o eliminar.

Cadena

lex:CreateBotChannelAssociation

lex:DeleteBotChannelAssociation

lex:GetBotChannelAssociation

ACL en Amazon Lex

Admite las ACL

No

Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.

ABAC con Amazon Lex

Admite ABAC (etiquetas en las políticas)

Parcial

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos. En AWS, estos atributos se denominan etiquetas. Puede adjuntar etiquetas a entidades de IAM (usuarios o roles) y a muchos recursos de AWS. El etiquetado de entidades y recursos es el primer paso de ABAC. A continuación, designa las políticas de ABAC para permitir operaciones cuando la etiqueta de la entidad principal coincida con la etiqueta del recurso al que se intenta acceder.

ABAC es útil en entornos que crecen con rapidez y ayuda en situaciones en las que la administración de las políticas resulta engorrosa.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición aws:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es Parcial.

Para obtener más información sobre ABAC, consulte ¿Qué es ABAC? en la Guía del Usuario de IAM. Para ver un tutorial con los pasos para configurar ABAC, consulte Uso del control de acceso basado en atributos (ABAC) en la Guía del Usuario de IAM.

Puede asociar etiquetas con determinados tipos de recursos de Amazon Lex para la autorización. Para controlar el acceso utilizando etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición lex:ResourceTag/${TagKey}, aws:RequestTag/${TagKey} o aws:TagKeys.

Para obtener más información acerca del etiquetado de recursos de Amazon Lex, consulte Etiquetado de los recursos de Amazon Lex.

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte Usar una etiqueta para acceder a un recurso.

En la tabla siguiente se enumeran las acciones y los tipos de recursos correspondientes para el control de acceso basado en etiquetas. Cada acción se autoriza en función de las etiquetas asociadas al tipo de recurso correspondiente.

Acción de Tipo de recurso Claves de condición Notas
CreateBotVersion bot lex:ResourceTag  
DeleteBot bot lex:ResourceTag  
DeleteBotAlias alias lex:ResourceTag  
DeleteBotChannelAssociation canal lex:ResourceTag  
DeleteBotVersion bot lex:ResourceTag  
DeleteSession bot o alias lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando el alias se define en $LATEST. Utiliza etiquetas asociadas al alias especificado cuando se utiliza con otros alias.
DeleteUtterances bot lex:ResourceTag  
GetBot bot o alias lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando versionOrAlias se define en $LATEST o versión numérica. Utiliza etiquetas asociadas al alias especificado cuando se utiliza con alias
GetBotAlias alias lex:ResourceTag  
GetBotChannelAssociation canal lex:ResourceTag  
GetBotChannelAssociations canal lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando el alias se define en «-». Utiliza etiquetas asociadas al alias especificado cuando se especifica un alias bot
GetBotVersions bot lex:ResourceTag  
GetExport bot lex:ResourceTag  
GetSession bot o alias lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando el alias se define en $LATEST. Utiliza etiquetas asociadas al alias especificado cuando se utiliza con otros alias.
GetUtterancesView bot lex:ResourceTag  
ListTagsForResource bot, alias o canal lex:ResourceTag  
PostContent bot o alias lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando el alias se define en $LATEST. Utiliza etiquetas asociadas al alias especificado cuando se utiliza con otros alias.
PostText bot o alias lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando el alias se define en $LATEST. Utiliza etiquetas asociadas al alias especificado cuando se utiliza con otros alias.
PutBot bot lex:ResourceTag, aws:RequestTag, aws:TagKeys  
PutBotAlias alias lex:ResourceTag, aws:RequestTag, aws:TagKeys  
PutSession bot o alias lex:ResourceTag Utiliza etiquetas asociadas con el bot cuando el alias se define en $LATEST. Utiliza etiquetas asociadas al alias especificado cuando se utiliza con otros alias.
StartImport bot lex:ResourceTag Se basa en la política de acceso para la operación PutBot. Se omiten las etiquetas y los permisos específicos de la operación StartImport.
TagResource bot, alias o canal lex:ResourceTag, aws:RequestTag, aws:TagKeys  
UntagResource bot, alias o canal lex:ResourceTag, aws:RequestTag, aws:TagKeys  

Uso de credenciales temporales con Amazon Lex

Admite el uso de credenciales temporales

Algunos Servicios de AWS no funcionan cuando inicia sesión con credenciales temporales. Para obtener información adicional, incluida la información sobre qué Servicios de AWS funcionan con credenciales temporales, consulte Servicios de AWS que funcionan con IAM en la Guía del usuario de IAM.

Utilice credenciales temporales si inicia sesión en la AWS Management Console con cualquier método excepto un nombre de usuario y una contraseña. Por ejemplo, cuando accede a AWS utilizando el enlace de inicio de sesión único (SSO) de la empresa, ese proceso crea automáticamente credenciales temporales. También crea automáticamente credenciales temporales cuando inicia sesión en la consola como usuario y luego cambia de rol. Para obtener más información sobre el cambio de roles, consulte Cambio a un rol (consola) en la Guía del usuario de IAM.

Puede crear credenciales temporales de forma manual mediante la AWS CLI o la API de AWS. A continuación, puede usar esas credenciales temporales para acceder a AWS. AWS recomienda generar credenciales temporales de forma dinámica en lugar de usar claves de acceso a largo plazo. Para más información, consulte Credenciales de seguridad temporales en IAM.

Puede utilizar credenciales temporales para iniciar sesión con federación, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Las credenciales de seguridad temporales se obtienen mediante una llamada a operaciones de la API de AWS STS, como AssumeRole o GetFederationToken.

Permisos de entidades principales entre servicios de Amazon Lex

Admite Forward access sessions (FAS)

Cuando utiliza un usuario o un rol de IAM para llevar a cabo acciones en AWS, se lo considera una entidad principal. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. FAS utiliza los permisos de la entidad principal para llamar a un Servicio de AWS, combinados con el Servicio de AWS solicitante para realizar solicitudes a servicios posteriores. Las solicitudes de FAS solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS o recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte Reenviar sesiones de acceso.

Roles de servicio para Amazon Lex

Compatible con roles de servicio

Un rol del servicio es un rol de IAM que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte Creación de un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.

aviso

Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de Amazon Lex. Edite los roles de servicio solo cuando Amazon Lex proporcione orientación para hacerlo.

Elección de un rol de IAM en Amazon Lex

Amazon Lex utiliza roles vinculados a servicios para llamar a Amazon Comprehend y a Amazon Polly. Emplea permisos de nivel de recursos en sus funciones de AWS Lambda para invocarlos.

Debe proporcionar un rol de IAM para habilitar el etiquetado de conversaciones. Para obtener más información, consulte Creación de un rol de IAM y políticas para registros de conversación.

Roles vinculados a servicios para Amazon Lex

Admite roles vinculados a servicios

Un rol vinculado a servicios es un tipo de rol de servicio que está vinculado a un Servicio de AWS. El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados a servicios aparecen en su Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

Para obtener más información sobre cómo crear o administrar roles vinculados a servicios de Amazon Lex, consulte Uso de roles vinculados a servicios para Amazon Lex.