Creación de un IAM rol para su máquina de estados en Step Functions - 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 IAM rol para su máquina de estados en Step Functions

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

Los Tutoriales para aprender Step Functions de esta guía le permiten aprovechar las IAM funciones generadas automáticamente que son válidas para AWS Región en la que se crea la máquina de estados. Sin embargo, puede crear su propio IAM rol para una máquina de estados.

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

Para crear su propio IAM rol para una máquina de estados, siga los pasos de esta sección.

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

Crear un rol para Step Functions

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

  2. En la página Seleccione una entidad de confianza, en AWS servicio, seleccione Step Functions de la lista y, a continuación, elija Next: Permissions.

  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 IAM rol aparece en la lista de roles.

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

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 diputados se confundan, AWS proporciona herramientas que le ayudan a proteger sus datos en todos los servicios cuyos directores de servicio tengan acceso a los recursos de su cuenta. Esta sección se centra en la prevención de situaciones confusas entre servicios, específica para AWS Step Functions; sin embargo, puede obtener más información sobre este tema en la sección sobre problemas de diputados confusos de la Guía del IAM usuario.

Recomendamos utilizar las claves de contexto de condición aws:SourceAccountglobal aws:SourceArny las claves de contexto en las políticas de recursos para limitar los permisos que Step Functions ofrece otro servicio para acceder 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 confuso problema de los diputados es utilizar la clave del contexto ARN de la condición aws:SourceArn global con todo el recurso. Si no conoce la totalidad ARN del recurso o si está especificando varios recursos, utilice la clave de condición del contexto aws:SourceArn global con caracteres comodín (*) para las partes desconocidas delARN. 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. Adjunta políticas en línea para permitir que Step Functions acceda a las API acciones de los servicios que necesitas controlar.

  1. Abre la IAMconsola, selecciona Roles, busca tu rol de Step Functions y selecciona ese rol.

  2. Seleccione Añadir política insertada.

  3. Utilice el editor visual o la JSONpestaña para crear políticas para su función.

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

nota

Para ver ejemplos de IAM políticas creadas por la consola Step Functions, consulteCómo Step Functions genera IAM políticas para servicios integrados.