Funções em AWS contas diferentes para acesso entre contas - opcional - AWS Centro de resiliência

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

Quando seus recursos estão localizados em contas secundárias/de recursos, você deve criar funções em cada uma dessas contas AWS Resilience Hub para permitir a avaliação bem-sucedida do seu aplicativo. 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 IAM console para contas secundárias/de recursos

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 IAM console para as contas secundárias/de recursos usando o console IAM
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

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

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::primary_account_id:role/InvokerRoleName" ] }, "Action": "sts:AssumeRole" } ] }
  4. 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.

  5. Selecione a política e escolha Próximo.

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

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

  8. 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" ] }

Gerenciando funções com o IAM API

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

O requisito para escapar de aspas (' ') na JSON string 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"}]}'

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

Definindo a política de confiança usando o JSON arquivo

Você pode definir a política de confiança para a função usando um JSON arquivo separado e, em seguida, executar o create-role comando. 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-rolecomando e comece adicionando a política AWSResilienceHubAsssessmentExecutionPolicy gerenciada. Para obter mais informações sobre esta política gerenciada, consulte AWSResilienceHubAsssessmentExecutionPolicy.

Exemplo de trust-policy.json

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::primary_account_id:role/InvokerRoleName" ] }, "Action": "sts:AssumeRole" } ] }

Exemplo de create-role

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

Exemplo de saída

{ "Role": { "Path": "/", "RoleName": "AWSResilienceHubAssessmentRole2", "RoleId": "AROAT2GICMEDJML6EVQRG", "Arn": "arn:aws:iam::262412591366:role/AWSResilienceHubAssessmentRole2", "CreateDate": "2023-08-02T07:49:23+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::262412591366:role/AWSResilienceHubAssessmentRole" ] }, "Action": "sts:AssumeRole" } ] } } }

Exemplo de attach-policy-to-role

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