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 su máquina de estado en Step Functions
AWS Step Functions puede ejecutar código y obtener acceso a los recursos de AWS (como invocar una función de AWS Lambda). Para mantener la seguridad, debe conceder a Step Functions acceso a esos recursos mediante un rol de IAM.
Los Tutoriales para aprender a usar Step Functions de esta guía le permiten utilizar los roles de IAM generados de forma automática, que son válidos para la región de AWS en la que crea la máquina de estado. 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. Es posible utilizar una política existente administrada por AWS como ejemplo o crear una política personalizada desde cero que satisfaga 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
-
Inicie sesión en la consola de IAM
y, a continuación, elija Roles, Crear rol. -
En la página Seleccionar entidad de confianza, en Servicio de AWS, seleccione Step Functions en la lista y haga clic en Siguiente: Permisos.
-
En la página Attached permissions policy, elija Next: Review.
-
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 entre servicios puede dar lugar al problema de la sustitución confusa. 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 suplentes confusos, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. Esta sección se centra en la prevención de suplentes confusos específica de AWS Step Functions; no obstante, puede obtener más información sobre este tema en la sección del problema del suplente confuso de la Guía del usuario de 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.
-
Abra la consola de IAM
, elija Roles, busque el rol de Step Functions y selecciónelo. -
Seleccione Añadir política insertada.
-
Utilice el Editor visual o la pestaña JSON para crear políticas para el rol.
Para obtener más información acerca de cómo AWS Step Functions puede controlar otros servicios de AWS, consulte Integración de servicios con Step Functions.
nota
Para ver ejemplos de políticas de IAM creadas por la consola de Step Functions, consulte Cómo Step Functions genera políticas de IAM para servicios integrados.