

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

# Funções em AWS contas diferentes para acesso entre contas - opcional
<a name="security-iam-resilience-cross-account-roles"></a>

Quando seus recursos estão localizados em secondary/resource contas, você deve criar funções em cada uma dessas contas para permitir AWS Resilience Hub a avaliação bem-sucedida de sua inscrição. O procedimento de criação da função é semelhante ao processo de criação da função do invocador, exceto pela configuração da política de confiança.

**nota**  
Você deve criar as funções nas contas secundárias em que os recursos estão localizados.

**Tópicos**
+ [Criação de uma função no console do IAM para secondary/resource contas](#security-iam-resilience-cross-create-roles-infra-account)
+ [Gerenciar funções com a API do IAM](#security-iam-resilience-cross-create-roles-infra-account-api)
+ [Definir política de confiança usando o arquivo JSON](#security-iam-resilience-cross-define-trust-policy-infra-account)

## Criação de uma função no console do IAM para secondary/resource contas
<a name="security-iam-resilience-cross-create-roles-infra-account"></a>

 AWS Resilience Hub Para permitir o acesso a AWS serviços e recursos em outras AWS contas, você deve criar funções em cada uma dessas contas.

**Para criar uma função no console do IAM para as secondary/resource contas usando o console do IAM**

1. Abra o console do IAM em `https://console.aws.amazon.com/iam/`.

1. No painel de navegação, escolha **Funções** e então escolha **Criar função**.

1. Selecione **Política de confiança personalizada**, copie a política a seguir na janela **Política de confiança personalizada** e escolha **Avançar**. 
**nota**  
Se seus recursos estiverem em contas diferentes, você precisará criar uma função em cada uma dessas contas e usar a política de confiança da conta secundária para as outras contas.

1. Na seção **Políticas de permissões** da página **Adicionar permissões**, insira `AWSResilienceHubAsssessmentExecutionPolicy` na caixa **Filtrar políticas por propriedade ou nome da política e pressione enter**.

1. Selecione a política e escolha **Próximo**.

1. Na seção **Detalhes da função**, insira um nome de função exclusivo (como `AWSResilienceHubAssessmentRole`) na caixa **Nome da função**. 

1. (Opcional) Na caixa **Descrição**, insira uma descrição para a função.

1. Selecione **Criar função**.

   Para editar os casos de uso e as permissões, na Etapa 6, escolha o botão **Editar** que está localizado à direita nas seções **Etapa 1: selecionar entidades confiáveis** ou **Etapa 2: adicionar permissões**.

Além disso, você também precisa adicionar a permissão `sts:assumeRole` à função de invocador para permitir que ela assuma as funções em suas contas secundárias.

Adicione a seguinte política à sua função de invocador para cada uma das funções secundárias que você criou:

```
{
    "Effect": "Allow",
    "Resource": [
      "arn:aws:iam::secondary_account_id_1:role/RoleInSecondaryAccount_1",
      "arn:aws:iam::secondary_account_id_2:role/RoleInSecondaryAccount_2",
      ...
      ],
      "Action": [
        "sts:AssumeRole"
      ]
}
```

### Gerenciar funções com a API do IAM
<a name="security-iam-resilience-cross-create-roles-infra-account-api"></a>

A política de confiança de uma função concede a permissão ao principal especificado para assumir a função. Para criar as funções usando AWS Command Line Interface (AWS CLI), use o `create-role` comando. Ao usar esse comando, é possível especificar a política de confiança em linha. O exemplo a seguir mostra como conceder permissão ao responsável pelo AWS Resilience Hub serviço para assumir sua função.

**nota**  
A exigência de escapar de aspas (`' '`) na string JSON pode variar com base na sua versão do shell.

**Exemplo de `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement": [{"Effect": "Allow","Principal": {"AWS": ["arn:aws:iam::primary_account_id:role/InvokerRoleName"]},"Action": "sts:AssumeRole"}]}'
```

Também é possível definir a política de confiança para a função usando um arquivo JSON separado. No exemplo a seguir, `trust-policy.json` é um arquivo no diretório atual.

### Definir política de confiança usando o arquivo JSON
<a name="security-iam-resilience-cross-define-trust-policy-infra-account"></a>

É possível definir a política de confiança para a função usando um arquivo JSON separado e em seguida executar o comando `create-role`. No exemplo a seguir, **`trust-policy.json`** é um arquivo que contém a política de confiança no diretório atual. Essa política é anexada a uma função por meio da execução de um comando **`create-role`**. A saída do comando `create-role` é mostrada no **Exemplo de saída**. Para adicionar permissões a uma função, use o **attach-policy-to-role**comando e comece adicionando a política `AWSResilienceHubAsssessmentExecutionPolicy` gerenciada. Para obter mais informações sobre esta política gerenciada, consulte [AWSResilienceHubAsssessmentExecutionPolicy](security-iam-awsmanpol.md#security_iam_aws-assessment-policy).

**Exemplo de `trust-policy.json`**

**Exemplo de `create-role`**

```
aws iam create-role --role-name AWSResilienceHubAssessmentRole --assume-role-policy-document file://trust-policy.json
```

**Exemplo de saída**

**Exemplo de `attach-policy-to-role`**

`aws iam attach-role-policy --role-name AWSResilienceHubAssessmentRole --policy-arn arn:aws:iam::aws:policy/AWSResilienceHubAsssessmentExecutionPolicy`.