Configurar perfis de execução com o Workflow Studio no Step Functions
É possível usar o Workflow Studio para configurar perfis de execução para os fluxos de trabalho. Cada máquina de estado do Step Functions requer um perfil do AWS Identity and Access Management (IAM) que concede à máquina permissão para realizar ações em Serviços da AWS e recursos ou chamar APIs HTTPS. Esse perfil é chamado de perfil de execução.
O perfil de execução deve conter políticas do IAM para cada ação, por exemplo, políticas que autorizam que a máquina de estado invoque uma função do AWS Lambda, execute um trabalho do AWS Batch ou chame a API do Stripe. O Step Functions exige que você forneça um perfil de execução nos seguintes casos:
-
Você vai criar uma máquina de estado no console, nos SDKs da AWS ou na AWS CLI usando a API CreateStateMachine.
-
Você vai testar um estado no console, nos SDKs da AWS ou na AWS CLI usando a API TestState.
Tópicos
Sobre perfis gerados automaticamente
Quando você cria uma máquina de estado no console do Step Functions, o Workflow Studio pode criar automaticamente um perfil de execução para você que contém as políticas do IAM necessárias. O Workflow Studio analisa a definição de máquina de estado e gera políticas com os privilégios mínimos necessários para executar o fluxo de trabalho.
O Workflow Studio pode gerar políticas do IAM para o seguinte:
-
Tarefas HTTP que chamam APIs HTTPS.
-
Estados de tarefas que chamam outros Serviços da AWS usando integrações otimizadas, como Lambda Invoke, DynamoDB GetItem ou AWS Glue StartJobRun.
-
Estados de tarefas que executam fluxos de trabalho aninhados.
-
Estados de mapas distribuídos, incluindo políticas para iniciar execuções de fluxos de trabalho secundários, listar buckets do Amazon S3 e ler ou gravar objetos do S3.
-
Rastreamento do X-Ray. Cada perfil gerado automaticamente no Workflow Studio contém uma política que concede permissões para a máquina de estado enviar rastreamentos ao X-Ray.
-
Usar o CloudWatch Logs para registrar em log o histórico de execução no Step Functions quando o registro em log está habilitado na máquina de estado.
O Workflow Studio não pode gerar políticas do IAM para estados de tarefas que chamam outros Serviços da AWS usando integrações de SDKs da AWS.
Gerar perfis automaticamente
-
Abra o console do Step Functions
. No menu, selecione Máquinas de estado e, em seguida, selecione Criar máquina de estado. Também é possível atualizar uma máquina de estado existente. Consulte a Etapa 4 se você estiver atualizando uma máquina de estado.
-
Selecione Criar do zero.
-
Nomeie sua máquina de estado e clique em Continuar para editá-la no Workflow Studio.
-
Selecione a guia Config.
-
Role para baixo até a seção Permissões e faça o seguinte:
-
Em Perfil de execução, mantenha a seleção padrão de Criar perfil.
O Workflow Studio gera automaticamente todas as políticas do IAM necessárias para cada estado válido na definição da máquina de estado. Ele exibe um banner com a mensagem: Um perfil de execução será criado com todas as permissões.
dica
Para revisar as permissões que o Workflow Studio vai gerar automaticamente para a máquina de estado, selecione Revisar permissões geradas automaticamente.
nota
Se você excluir o perfil do IAM criado pelo Step Functions, não será possível recriá-lo posteriormente. Da mesma forma, se você modificar a função (por exemplo, removendo o Step Functions das entidades principais na política do IAM), o Step Functions não poderá restaurar as configurações originais dela posteriormente.
Se o Workflow Studio não conseguir gerar todas as políticas do IAM necessárias, ele exibirá um banner com a mensagem Permissões para determinadas ações não podem ser geradas automaticamente. Um perfil do IAM será criado somente com permissões parciais. Para obter informações sobre como adicionar as permissões ausentes, consulte Resolver problemas de geração de perfis.
-
Selecione Criar se você estiver criando uma máquina de estado. Caso contrário, selecione Salvar.
-
Selecione Confirmar na caixa de diálogo exibida.
O Workflow Studio salva a máquina de estado e cria o perfil de execução.
-
Resolver problemas de geração de perfis
O Workflow Studio não pode gerar automaticamente um perfil de execução com todas as permissões necessárias nos seguintes casos:
-
Há erros na máquina de estado. Assegure-se de resolver todos os erros de validação no Workflow Studio. Além disso, solucione todos os erros do servidor encontrados durante o salvamento.
-
A máquina de estado contém tarefas que usam integrações de SDKs da AWS. Nesse caso, o Workflow Studio não consegue gerar automaticamente políticas do IAM. O Workflow Studio exibe um banner com a mensagem: Permissões para determinadas ações não podem ser geradas automaticamente. Um perfil do IAM será criado somente com permissões parciais. Na tabela Revisar permissões geradas automaticamente, selecione o conteúdo em Status para obter mais informações sobre as políticas que faltam no perfil de execução. O Workflow Studio ainda pode gerar um perfil de execução, mas esse perfil não conterá políticas do IAM para todas as ações. Consulte os links em Links de documentação para criar as próprias políticas e adicioná-las ao perfil depois de gerado. Esses links estão disponíveis mesmo depois de salvar a máquina de estado.
Perfil para testar tarefas HTTP no Workflow Studio
Testar um estado de tarefa HTTP requer um perfil de execução. Se você não tiver um perfil com permissões suficientes, use uma das seguintes opções para criar um perfil:
-
Gerar automaticamente um perfil com o Workflow Studio (recomendado): essa é a opção segura. Feche a caixa de diálogo Testar estado e siga as instruções em Gerar perfis automaticamente. Isso exigirá que você primeiro crie ou atualize a máquina de estado e depois volte ao Workflow Studio para testar o estado.
-
Usar um perfil com acesso de administrador: se você tiver permissões para criar um perfil com acesso total a todos os serviços e os recursos na AWS, poderá usar esse perfil para testar qualquer tipo de estado no fluxo de trabalho. Para fazer isso, é possível criar um perfil de serviço do Step Functions e adicionar a política AdministratorAccess a ele no console do IAM https://console.aws.amazon.com/iam/
.
Perfil para testar uma integração de serviços otimizada no Workflow Studio
Estados de tarefa que chamam integrações de serviços otimizadas precisam de um perfil de execução. Se você não tiver um perfil com permissões suficientes, use uma das seguintes opções para criar um perfil:
-
Gerar automaticamente um perfil com o Workflow Studio (recomendado): essa é a opção segura. Feche a caixa de diálogo Testar estado e siga as instruções em Gerar perfis automaticamente. Isso exigirá que você primeiro crie ou atualize a máquina de estado e depois volte ao Workflow Studio para testar o estado.
-
Usar um perfil com acesso de administrador: se você tiver permissões para criar um perfil com acesso total a todos os serviços e os recursos na AWS, poderá usar esse perfil para testar qualquer tipo de estado no fluxo de trabalho. Para fazer isso, é possível criar um perfil de serviço do Step Functions e adicionar a política AdministratorAccess a ele no console do IAM https://console.aws.amazon.com/iam/
.
Perfil para testar uma integração de serviços de SDKs da AWS no Workflow Studio
Estados de tarefa que chamam integrações de AWS SDKs precisam de um perfil de execução. Se você não tiver um perfil com permissões suficientes, use uma das seguintes opções para criar um perfil:
-
Gerar automaticamente um perfil com o Workflow Studio (recomendado): essa é a opção segura. Feche a caixa de diálogo Testar estado e siga as instruções em Gerar perfis automaticamente. Isso exigirá que você primeiro crie ou atualize a máquina de estado e depois volte ao Workflow Studio para testar o estado. Faça o seguinte:
-
Feche a caixa de diálogo Testar estado.
-
Selecione a guia Config para visualizar o modo Config.
-
Role para baixo até a seção Permissões.
-
O Workflow Studio exibe um banner com a mensagem: Permissões para determinadas ações não podem ser geradas automaticamente. Um perfil do IAM será criado somente com permissões parciais. Selecione Revisar permissões geradas automaticamente.
-
A tabela Revisar permissões geradas automaticamente exibe uma linha que mostra a ação correspondente ao estado da tarefa que você deseja testar. Consulte os links em Links de documentação para criar as próprias políticas do IAM em um perfil personalizado.
-
-
Usar um perfil com acesso de administrador: se você tiver permissões para criar um perfil com acesso total a todos os serviços e os recursos na AWS, poderá usar esse perfil para testar qualquer tipo de estado no fluxo de trabalho. Para fazer isso, é possível criar um perfil de serviço do Step Functions e adicionar a política AdministratorAccess a ele no console do IAM https://console.aws.amazon.com/iam/
.
Perfil para testar estados de fluxo no Workflow Studio
É necessário ter um perfil de execução para testar os estados de fluxo no Workflow Studio. Os estados de fluxo são aqueles estados que direcionam o fluxo de execução, como Estado de escolha do fluxo de trabalho, Estado paralelo do fluxo de trabalho, Estado de mapa do fluxo de trabalho, Estado de passagem do fluxo de trabalho, Estado de espera do fluxo de trabalho, Estado de sucesso do fluxo de trabalho ou Estado de falha do fluxo de trabalho. A API TestState não funciona com os estados Mapa nem Paralelo. Use uma das seguintes opções para criar um perfil para testar um estado do fluxo:
-
Usar qualquer perfil na Conta da AWS (recomendado): os estados de fluxo não exigem nenhuma política específica do IAM, porque eles não chamam ações nem recursos da AWS. Portanto, é possível usar qualquer perfil do IAM no Conta da AWS.
-
Na caixa de diálogo Testar estado, selecione qualquer perfil na lista suspensa Perfil de execução.
-
Se nenhum perfil aparecer na lista suspensa, faça o seguinte:
-
No console do IAM https://console.aws.amazon.com/iam/
, selecione Perfis. -
Selecione um perfil na lista e copie o ARN na página de detalhes do perfil. Será necessário fornecer esse ARN na caixa de diálogo Testar estado.
-
Na caixa de diálogo Testar estado, selecione Inserir um ARN de perfil na lista suspensa Perfil de execução.
-
Cole o ARN em ARN do perfil.
-
-
-
Usar um perfil com acesso de administrador: se você tiver permissões para criar um perfil com acesso total a todos os serviços e os recursos na AWS, poderá usar esse perfil para testar qualquer tipo de estado no fluxo de trabalho. Para fazer isso, é possível criar um perfil de serviço do Step Functions e adicionar a política AdministratorAccess a ele no console do IAM https://console.aws.amazon.com/iam/
.