

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á.

# Criar um perfil do IAM para a máquina de estado no Step Functions
<a name="procedure-create-iam-role"></a>

AWS Step Functions pode executar código e acessar AWS recursos (como invocar uma AWS Lambda função). Para manter a segurança, você deve conceder acesso ao Step Functions para esses recursos usando uma função do IAM.

[Tutoriais para saber sobre o Step Functions](learning-resources.md#tutorials)Neste guia, você pode aproveitar as funções do IAM geradas automaticamente que são válidas para a AWS região na qual você cria a máquina de estado. No entanto, você pode criar seu próprio perfil do IAM para uma máquina de estado.

Ao ser criada para suas máquinas de estado, uma política do IAM deve incluir as permissões que você gostaria que fossem assumidas pelas máquinas de estado. Você pode usar uma política AWS gerenciada existente como exemplo ou criar uma política personalizada do zero que atenda às suas necessidades específicas. Para ver mais informações, consulte [Criar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do usuário do IAM*.

Para criar um perfil do IAM para uma máquina de estado, siga as etapas desta seção.

Neste exemplo, você cria um perfil do IAM com permissão para invocar uma função do Lambda.

## Criar um perfil para o Step Functions
<a name="create-role-for-step-functions"></a>

1. Faça login no [console do IAM](https://console.aws.amazon.com/iam/home) e escolha **Perfis**, **Criar perfil**.

1. Na página **Selecionar entidade confiável**, em **serviço da AWS **, selecione **Step Functions** na lista e, em seguida, **Próximo: permissões**.

1. Na página **Attached permissions policy**, escolha **Next: Review**.

1. Na página **Review (Revisão)**, insira `StepFunctionsLambdaRole` para **Role Name (Nome da função)** e escolha **Create role (Criar função)**.

   O perfil do IAM é exibido na lista de perfis.

Para ver mais informações sobre permissões e políticas do IAM, consulte [Gerenciamento de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do usuário do IAM*.

## Prevenção do problema do substituto confuso entre serviços
<a name="prevent-cross-service-confused-deputy"></a>

O problema "confused deputy" é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executar a ação. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado. A personificação entre serviços pode ocorrer quando um serviço (o *serviço de chamada*) chama outro serviço (o *serviço chamado*). Esse tipo de falsificação de identidade pode ocorrer entre contas e serviços. O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. 

Para evitar que delegados confusos, AWS fornece ferramentas que ajudam você a proteger seus dados em todos os serviços com diretores de serviços que receberam acesso aos recursos em sua conta. Esta seção se concentra na prevenção de delegados confusos entre serviços, específica de AWS Step Functions; no entanto, você pode aprender mais sobre esse tópico na seção [Confused Deputy Problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) do *Guia do usuário do IAM*.

Recomendamos o uso das chaves de contexto de condição global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) em políticas de recursos para limitar as permissões que o Step Functions concede a outro serviço para acessar seus recursos. Use `aws:SourceArn` se quiser que apenas um recurso seja associado ao acesso entre serviços. Use `aws:SourceAccount` se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave de contexto de condição global `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou estiver especificando vários recursos, use a chave de condição de contexto global `aws:SourceArn` com caracteres curingas (`*`) para as partes desconhecidas do ARN. Por exemplo, .`arn:aws:states:*:111122223333:*`

Aqui está um exemplo de uma *política confiável* que mostra como você pode usar `aws:SourceArn` e `aws:SourceAccount` com o Step Functions para evitar o problema de substituto 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"
           }
        }
     }
  ]
}
```

## Anexar uma política em linha
<a name="attach-inline-policy"></a>

O Step Functions pode controlar outros serviços diretamente em no estado de uma `Task`. Anexe políticas em linha para permitir que o Step Functions acesse as ações de API dos serviços que você precisa controlar.

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/home), escolha **Perfis**, procure seu perfil do Step Functions e selecione-o.

1. Selecione **Adicionar política em linha**.

1. Use o **Visual editor (Editor visual)** ou a guia **JSON** a fim de criar políticas para a função.

Para obter mais informações sobre como AWS Step Functions controlar outros AWS serviços, consulte[Integrar serviços ao Step Functions](integrate-services.md).

**nota**  
Para obter exemplos de políticas do IAM criadas pelo console do Step Functions, consulte [Como o Step Functions gera políticas do IAM para serviços integrados](service-integration-iam-templates.md).