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 que Step Functions pueda acceder a AWS los recursos, como los buckets y objetos de Amazon S3 y las funciones de 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 flujo de trabajo basado en Map Run mediante redriving del flujo de trabajo principal. Un flujo de trabajo principal redriven redrives todos los estados fallidos, incluido el estado Map Distributed. 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 a su rol de máquina de estado 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 denominadomyBucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::myBucket" ], "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:::myBucket/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 los 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/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json", "arn:aws:s3:::destination-prefix/source-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:::resultBucket/csvJobs/*" ] } ] }

IAMpermisos para un bucket de Amazon S3 AWS KMS key 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 bucket se cifra con una clave AWS Key Management Service (AWS KMS), también debe incluir los permisos en la política IAM para realizar las acciones kms:Decrypt, kms:Encrypt y kms:GenerateDataKey sobre 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 IAM de política concede permisos y kms:GenerateDataKey acciones a la kms:Decrypt clave utilizada para cifrar el bucket de Amazon S3kms:Encrypt, y realiza acciones sobre ella.

{ "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 Cargar un archivo grande en Amazon S3 con cifrado mediante AWS KMS key en el AWS Centro de conocimientos.

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