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á.
Multi-account configuração (sem AWS Organizations)
Se os recursos do seu serviço abrangem várias AWS contas e você não está usando AWS Organizations, você precisa de funções entre contas, além da função de invocador.
Etapa 1: criar funções em várias contas
Em cada conta que contém recursos para seu serviço, crie uma função com:
-
ReadOnlyAccesspolítica anexada. -
Uma política de confiança que permite que a função de invocador a assuma, usando um
ExternalIdpara evitar ataques confusos de deputados. Use umExternalIdvalor exclusivo por combinação de serviço e conta:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/AWSResilienceHubAssessmentRole" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "ngrh-my-service-111122223333" } } }] }
Etapa 2: conceder permissão à função de invocador para assumir funções em várias contas
Adicione uma política embutida à sua função de invocador que permita que ela assuma as funções entre contas:
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::111122223333:role/NGRHResourceRole", "arn:aws:iam::444455556666:role/NGRHResourceRole" ] }
Etapa 3: configurar funções entre contas em seu serviço
Especifique os ARNs e IDs externos da função entre contas ao criar o serviço:
aws resiliencehubv2 create-service \ --name "my-service" \ --regions '["us-east-1"]' \ --permission-model '{ "invokerRoleName": "AWSResilienceHubAssessmentRole", "crossAccountRoles": [ { "crossAccountRoleArn": "arn:aws:iam::111122223333:role/NGRHResourceRole", "externalId": "ngrh-my-service-111122223333" }, { "crossAccountRoleArn": "arn:aws:iam::444455556666:role/NGRHResourceRole", "externalId": "ngrh-my-service-444455556666" } ] }'
Você pode configurar até 5 ARNs de função entre contas por serviço.