IAMpolíticas para usar estados de mapas distribuídos - AWS Step Functions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

IAMpolíticas para usar estados de mapas distribuídos

Quando você cria fluxos de trabalho com o console Step Functions, o Step Functions pode gerar IAM políticas automaticamente com base nos recursos em sua definição de fluxo de trabalho. Essas políticas incluem os privilégios mínimos necessários para permitir que a função de máquina de estado invoque a StartExecution API ação para o estado do Mapa Distribuído. Essas políticas também incluem os privilégios mínimos necessários para acessar Step Functions. AWS recursos, como buckets e objetos do Amazon S3 e funções Lambda. É altamente recomendável que você inclua somente as permissões necessárias em suas IAM políticas. Por exemplo, se o fluxo de trabalho incluir um estado Map no modo distribuído, defina o escopo de suas políticas até o bucket e a pasta específicos do Amazon S3 que contêm o conjunto de dados.

Importante

Se você especificar um bucket e um objeto do Amazon S3, ou prefixo, com um caminho de referência para um par de valores-chave existente na entrada de estado do Mapa Distribuído, certifique-se de atualizar as políticas do IAM seu fluxo de trabalho. Defina o escopo das políticas até o bucket e os nomes de objetos para os quais o caminho é resolvido em runtime.

Exemplo de IAM política para executar um estado de Mapa Distribuído

Quando você inclui um estado de Mapa Distribuído em seus fluxos de trabalho, o Step Functions precisa de permissões apropriadas para permitir que a função de máquina de estado invoque a StartExecution API ação para o estado de Mapa Distribuído.

O exemplo IAM de política a seguir concede os privilégios mínimos necessários à sua função de máquina de estado para executar o estado do Mapa Distribuído.

nota

Substitua stateMachineName pelo nome da máquina de estado na qual você está usando o estado Mapa Distribuído. Por exemplo, 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:*" } ] }

Exemplo de IAM política para redriving um mapa distribuído

Você pode reiniciar execuções malsucedidas do fluxo de trabalho secundário em um mapa executado por redrivingo fluxo de trabalho de seus pais. A redriven fluxo de trabalho principal redrives todos os estados malsucedidos, incluindo Mapa Distribuído. Certifique-se de que sua função de execução tenha os privilégios mínimos necessários para permitir que ela invoque a RedriveExecution API ação no fluxo de trabalho principal.

O exemplo IAM de política a seguir concede os privilégios mínimos necessários à sua função de máquina de estado para redriving um estado de mapa distribuído.

nota

Substitua stateMachineName pelo nome da máquina de estado na qual você está usando o estado Mapa Distribuído. Por exemplo, 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:*" } ] }

Exemplos de IAM políticas para leitura de dados dos conjuntos de dados do Amazon S3

Os exemplos IAM de políticas a seguir concedem os privilégios mínimos necessários para acessar seus conjuntos de dados do Amazon S3 usando a V2 e ListObjectsas ações. GetObjectAPI

exemplo IAMpolítica para objeto Amazon S3 como conjunto de dados

O exemplo a seguir mostra uma IAM política que concede o mínimo de privilégios para acessar os objetos organizados processImages em um bucket do Amazon S3 chamado. amzn-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" ] } } } ] }
exemplo IAMpolítica para um CSV arquivo como conjunto de dados

O exemplo a seguir mostra uma IAM política que concede menos privilégios para acessar um CSV arquivo chamadoratings.csv.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv" ] } ] }
exemplo IAMpolítica para um inventário do Amazon S3 como conjunto de dados

O exemplo a seguir mostra uma IAM política que concede privilégios mínimos para acessar um relatório de inventário do 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/*" ] } ] }

Exemplo de IAM política para gravação de dados em um bucket do Amazon S3

O exemplo IAM de política a seguir concede os privilégios mínimos necessários para gravar os resultados da execução do fluxo de trabalho secundário em uma pasta chamada csvJobs em um bucket do Amazon S3 usando a PutObject API ação.

{ "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/*" ] } ] }

IAMpermissões para AWS KMS key bucket Amazon S3 criptografado

O estado Mapa Distribuído usa uploads de várias partes para gravar os resultados da execução do fluxo de trabalho secundário em um bucket do Amazon S3. Se o bucket for criptografado usando um AWS Key Management Service (AWS KMS) chave, você também deve incluir permissões em seu IAM política para realizar as kms:GenerateDataKey ações kms:Decryptkms:Encrypt,, e na chave. Essas permissões são necessárias porque o Amazon S3 precisa descriptografar e ler os dados de partes de arquivos criptografados antes de concluir o multipart upload.

O exemplo IAM de política a seguir concede permissão parakms:Decrypt,kms:Encrypt, e kms:GenerateDataKey ações na chave usada para criptografar seu bucket do Amazon S3.

{ "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 obter mais informações, consulte Carregar um arquivo grande para o Amazon S3 com criptografia usando um AWS KMS key no AWS Centro de conhecimento.

Se seu IAM usuário ou função estiver na mesma Conta da AWS como o KMS key, então você deve ter essas permissões na política de chaves. Se seu IAM usuário ou função pertencer a uma conta diferente da KMS key, então você deve ter as permissões da política de chaves e IAM do seu usuário ou função.