Creación de un rol de IAM para la máquina de estado - AWS Step Functions

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.

Creación de un rol de IAM para la máquina de estado

AWS Step Functions puede ejecutar código y acceder a AWS los recursos (por ejemplo, invocar una AWS Lambda función). Para mantener la seguridad, debe conceder a Step Functions acceso a esos recursos mediante un rol de IAM.

Las funciones Tutoriales de Step Functions de IAM de esta guía le permiten aprovechar las funciones de IAM generadas automáticamente y que son válidas para la AWS región en la que creó la máquina de estados. No obstante, puede crear su propio rol de IAM para una máquina de estado.

Al crear una política de IAM para que la utilicen las máquinas de estado, la política debe incluir los permisos que desea que asuman las máquinas de estado. Puede utilizar una política AWS gestionada existente como ejemplo o puede crear una política personalizada desde cero que se adapte a sus necesidades específicas. Para obtener más información, consulte Creación de políticas de IAM en la Guía del usuario de IAM

Para crear su propio rol de IAM para una máquina de estado, siga los pasos que se describen en esta sección.

En este ejemplo, se crea un rol de IAM con permiso para invocar una función de Lambda.

Crear un rol para Step Functions

  1. Inicie sesión en la consola de IAM y, a continuación, elija Roles, Crear rol.

  2. En la página Seleccionar entidad de confianza, en Servicio de AWS , seleccione Step Functions en la lista y haga clic en Siguiente: Permisos.

  3. En la página Attached permissions policy, elija Next: Review.

  4. En la página Revisar, escriba StepFunctionsLambdaRole en Nombre del rol y, a continuación, elija Crear rol.

    El rol de IAM se muestra en la lista de roles.

Para obtener más información sobre los permisos y las políticas de IAM, consulte Administración de accesos en la Guía del usuario de IAM.

Prevención del problema del suplente confuso entre servicios

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). Este tipo de suplantación puede ocurrir entre cuentas y entre servicios. El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder.

Para evitar que los agentes confusos, AWS proporciona herramientas que le ayudan a proteger sus datos para todos los servicios cuyos directores de servicio tienen acceso a los recursos de su cuenta. Esta sección se centra en la prevención específica de los problemas de los diputados confusos entre servicios AWS Step Functions; sin embargo, puede obtener más información sobre este tema en la sección de problemas de los diputados confusos de la Guía del usuario de la IAM.

Se recomienda utilizar las claves de contexto de condición global aws:SourceArn y aws:SourceAccount en las políticas de recursos para limitar los permisos que Step Functions concede a otro servicio para el acceso a sus recursos. Utilice aws:SourceArn si desea que solo se asocie un recurso al acceso entre servicios. Utilice aws:SourceAccount si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave de condición de contexto global aws:SourceArn con caracteres comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:states:*:111122223333:*.

Este es un ejemplo de una política de confianza que muestra cómo puede usar aws:SourceArn y aws:SourceAccount con Step Functions para evitar el problema del suplente confuso.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "states.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:states:us-east-1:111122223333:stateMachine:*" }, "StringEquals":{ "aws:SourceAccount":"111122223333" } } } ] }

Asociación de una política insertada

Step Functions puede controlar otros servicios directamente en un estado de Task. Asocie políticas insertadas para permitir el acceso de Step Functions a las acciones de la API de los servicios que necesite controlar.

  1. Abra la consola de IAM, elija Roles, busque el rol de Step Functions y selecciónelo.

  2. Seleccione Añadir política insertada.

  3. Utilice el Editor visual o la pestaña JSON para crear políticas para el rol.

Para obtener más información sobre cómo AWS Step Functions puede controlar otros AWS servicios, consulte. Uso AWS Step Functions con otros servicios

nota

Para ver ejemplos de políticas de IAM creadas por la consola de Step Functions, consulte Políticas de IAM para servicios integrados.