IAMpolíticas para usar estados de mapas distribuidos - 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.

IAMpolíticas para usar estados de mapas distribuidos

Al crear flujos de trabajo con la consola Step Functions, Step Functions puede generar IAM políticas automáticamente en función de los recursos de la definición de flujo de trabajo. Estas políticas incluyen los privilegios mínimos necesarios para permitir que la función de máquina de estados invoque la StartExecution API acción para el estado del mapa distribuido. Estas políticas también incluyen los privilegios mínimos necesarios para acceder a Step Functions AWS recursos, como buckets y objetos de Amazon S3 y funciones Lambda. Le recomendamos encarecidamente que incluya solo los permisos que sean necesarios en sus IAM políticas. Por ejemplo, si el flujo de trabajo incluye un estado Map en modo distribuido, aplique las políticas al bucket y a la carpeta de Amazon S3 específicos que contengan el conjunto de datos.

importante

Si especifica un bucket y un objeto de Amazon S3, o un prefijo, con una ruta de referencia a un par clave-valor existente en la entrada de estado del mapa distribuido, asegúrese de actualizar las IAM políticas de su flujo de trabajo. Limite las políticas hasta los nombres de objeto y bucket a los que se dirige la ruta en tiempo de ejecución.

Ejemplo de IAM política para ejecutar un estado de mapa distribuido

Al incluir un estado de mapa distribuido en sus flujos de trabajo, Step Functions necesita los permisos adecuados para permitir que la función de máquina de estados invoque la StartExecution API acción para el estado del mapa distribuido.

El siguiente ejemplo IAM de política otorga los privilegios mínimos necesarios a su función de máquina de estado para ejecutar el estado del mapa distribuido.

nota

No olvide reemplazar stateMachineName por el nombre de la máquina de estado en la que está utilizando el estado Map Distributed. Por ejemplo, arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:region:accountID:stateMachine:stateMachineName" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": "arn:aws:states:region:accountID:execution:stateMachineName:*" } ] }

Ejemplo de IAM política para redriving un mapa distribuido

Puede reiniciar las ejecuciones fallidas de flujos de trabajo secundarios en un mapa ejecutado por redrivingtu flujo de trabajo principal. A redriven flujo de trabajo principal redrives todos los estados fallidos, incluido el mapa distribuido. Asegúrese de que su función de ejecución tenga los privilegios mínimos necesarios para poder invocar la RedriveExecution API acción en el flujo de trabajo principal.

El siguiente ejemplo IAM de política otorga los privilegios mínimos necesarios para su rol de máquina estatal para redriving un estado de mapa distribuido.

nota

No olvide reemplazar stateMachineName por el nombre de la máquina de estado en la que está utilizando el estado Map Distributed. Por ejemplo, arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachine/myMapRunLabel:*" } ] }

Ejemplos de IAM políticas para leer datos de conjuntos de datos de Amazon S3

Los siguientes ejemplos IAM de políticas otorgan los privilegios mínimos necesarios para acceder a sus conjuntos de datos de Amazon S3 mediante la ListObjectsV2 y GetObjectAPIlas acciones.

ejemplo IAMpolítica para el objeto Amazon S3 como conjunto de datos

El siguiente ejemplo muestra una IAM política que concede el mínimo de privilegios para acceder a los objetos organizados processImages en un bucket de Amazon S3 denominadoamzn-s3-demo-bucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages" ] } } } ] }
ejemplo IAMpolítica para un CSV archivo como conjunto de datos

En el siguiente ejemplo, se muestra una IAM política que concede los privilegios mínimos para acceder a un CSV archivo denominadoratings.csv.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv" ] } ] }
ejemplo IAMpolítica para un inventario de Amazon S3 como conjunto de datos

El siguiente ejemplo muestra una IAM política que concede privilegios mínimos para acceder a un informe de inventario de Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::destination-prefix/amzn-s3-demo-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json", "arn:aws:s3:::destination-prefix/amzn-s3-demo-bucket/config-ID/data/*" ] } ] }

Ejemplo de IAM política para escribir datos en un bucket de Amazon S3

El siguiente ejemplo IAM de política otorga los privilegios mínimos necesarios para escribir los resultados de la ejecución del flujo de trabajo secundario en una carpeta llamada csvJobs en un bucket de Amazon S3 mediante la PutObject API acción.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/csvJobs/*" ] } ] }

IAMpermisos para AWS KMS key bucket de Amazon S3 cifrado

El estado Map Distributed utiliza cargas multiparte para escribir los resultados de ejecución del flujo de trabajo secundario en un bucket de Amazon S3. Si el depósito está cifrado mediante un AWS Key Management Service (AWS KMS) clave, también debes incluir los permisos en tu IAM política para realizar la clave kms:Decryptkms:Encrypt, y kms:GenerateDataKey acciones en la clave. Estos permisos son necesarios, ya que Amazon S3 debe descifrar y leer datos de las partes de archivos cifrados antes de finalizar la carga multiparte.

El siguiente ejemplo de IAM política otorga permisos y kms:GenerateDataKey acciones a la kms:Decrypt clave utilizada para cifrar el bucket de Amazon S3. kms:Encrypt

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" ] } }

Para obtener más información, consulte Carga de un archivo grande a Amazon S3 con cifrado mediante un AWS KMS key en la AWS Centro de conocimiento.

Si su IAM usuario o rol es el mismo Cuenta de AWS como el KMS key, entonces debe tener estos permisos en la política clave. Si su IAM usuario o rol pertenece a una cuenta diferente a la KMS key, entonces debe tener los permisos tanto para la política clave como para su IAM usuario o rol.