Uso de funções vinculadas ao serviço para espaços de refatoração - Espaço do AWS Migration Hub Refatoration

O AWS Migration Hub Refactor Spaces está em versão de demonstração e sujeito a alterações.

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

Uso de funções vinculadas ao serviço para espaços de refatoração

Uso do AWS Migration Hub Refactor SpacesAWS Identity and Access Management(IAM)Funções vinculadas ao serviço. Uma função vinculada ao serviço é um tipo exclusivo de função do IAM vinculada diretamente ao Refatorar Spaces. As funções vinculadas ao serviço são predefinidas pelo Refatorar Spaces e incluem todas as permissões que o serviço requer para chamar de outraAWSServiços da em seu nome.

Uma função vinculada ao serviço facilita a configuração do Refatorar Spaces, pois você não precisa adicionar as permissões necessárias manualmente. O Refactor Spaces define as permissões de suas funções vinculadas ao serviço e, a menos que seja definido em contrário, somente os Espaços de Refatoração podem assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, e essa política não pode ser anexada a nenhuma outra entidade do IAM.

Uma função vinculada ao serviço poderá ser excluída somente após excluir seus recursos relacionados. Isso protege seus recursos do Refatorar Spaces, pois você não pode remover por engano as permissões para acessar os recursos.

Para obter informações sobre outros serviços compatíveis com funções vinculadas a serviços, consulte Serviços da AWS compatíveis com o IAM e procure os serviços que apresentam Yes (Sim) na coluna Service-Linked Role (Função vinculada a serviço). Escolha um Sim com um link para exibir a documentação da função vinculada a serviço desse serviço.

Permissões de função vinculada ao serviço para espaços de refatoração

O Refatorar Spaces usa a função vinculada ao serviço chamadaAWSServiceRoleFormigrationHubreFactorSpacese o associa com oMigraçãoHubreFactorspacesserVicerolePolicyPolítica do IAM — Fornece acesso aAWSrecursos gerenciados ou usados pelo AWS Migration Hub Refactor Spaces.

A função vinculada ao serviço AWSServiceRoleForMigrationHubreFactorSpaces confia nos seguintes serviços para assumir a função:

  • refactor-spaces.amazonaws.com

Veja a seguir o Nome de recurso da Amazon (ARN) para AWSServiceRoleForMigrationHubreFactorSpaces.

arn:aws:iam::111122223333:role/aws-service-role/refactor-spaces.amazonaws.com/AWSServiceRoleForMigrationHubRefactorSpaces

Refatorar Spaces usa oAWSServiceRoleFormigrationHubreFactorSpacesfunção vinculada ao serviço ao executar alterações entre contas. Essa função deve estar presente em sua conta para usar Refatorar Spaces. Se não estiver presente, Refatorar Spaces o criará durante as seguintes chamadas de API:

  • CreateEnvironment

  • CreateService

  • CreateApplication

  • CreateRoute

Você deve ter permissões do iam:CreateServiceLinkedRole para criar a função vinculada ao serviço. Se a função vinculada ao serviço não existir na sua conta e não puder ser criada, oCreateas chamadas falharão. Você deve criar a função vinculada ao serviço no console do IAM antes de usar Refactor Spaces, a menos que você esteja usando o console Refactor Spaces.

O Refatorar Spaces não usa a função vinculada ao serviço ao fazer alterações na conta atual conectada. Por exemplo, quando um aplicativo é criado, o Refactor Spaces atualiza todas as VPCs no ambiente para que elas possam se comunicar com a VPC recém-adicionada. Se as VPCs estiverem em outras contas, Refatorar Spaces usará a função vinculada ao serviço e oec2:CreateRoutepermissão para atualizar as tabelas de rotas em outras contas.

Para expandir ainda mais o exemplo de criação de aplicativo, ao criar um aplicativo, o Refactor Spaces atualiza as tabelas de rotas que estão na nuvem privada virtual (VPC) fornecida naCreateApplicationChame. Dessa forma, a VPC pode se comunicar com outras VPCs no ambiente.

O chamador deve ter oec2:CreateRoutepermissão que usamos para atualizar as tabelas de rotas. Essa permissão existe na função vinculada ao serviço, mas Refatorar Spaces não usa a função vinculada ao serviço na conta do chamador para obter essa permissão. Em vez disso, o chamador deve ter oec2:CreateRoutePermissão. Caso contrário, a chamada falhará.

Você não pode usar a função vinculada ao serviço para escalar seus privilégios. Sua conta já deve ter as permissões na função vinculada ao serviço para fazer as alterações na conta de chamada. OAWSMigrationHubRefactorSpacesFullAccesspolítica gerenciada, juntamente com uma política que concede as permissões extras necessárias, define todas as permissões necessárias para criar recursos Refatorar Spaces. A função vinculada ao serviço é um subconjunto dessas permissões que é usado para chamadas específicas entre contas. Para obter mais informações sobre o AWSMigrationHubRefactorSpacesFullAccess, consulte AWSpolítica gerenciada: AWSMigrationHubreFactorSpacesFullAccess.

Tags

Quando Refatorar Spaces cria recursos em sua conta, eles são marcados com o ID de recurso Refatorar Spaces apropriado. Por exemplo, o Transit Gateway criado a partir deCreateEnvironmentestá marcado com orefactor-spaces:environment-idmarque com o ID do ambiente como o valor. A API do API Gateway API doCreateApplicationestá marcado comrefactor-spaces:application-idcom o ID do aplicativo como o valor. Essas tags permitem que o Refatorate Spaces gerencie esses recursos. Se você editar ou remover as tags, Refatorar Spaces não poderão mais atualizar ou excluir o recurso.

MigrationHubRefactorSpacesServiceRolePolicy

A política de permissões da função chamada MigrationHubreFactorsAcesseRolePolicy permite que o Refactor Spaces conclua as seguintes ações nos recursos especificados:

Ações do Amazon API Gateway

apigateway:PUT

apigateway:POST

apigateway:GET

apigateway:PATCH

apigateway:DELETE

Ações do Amazon Elastic Compute Cloud

ec2:DescribeNetworkInterfaces

ec2:DescribeRouteTables

ec2:DescribeSubnets

ec2:DescribeSecurityGroups

ec2:DescribeVpcEndpointServiceConfigurations

ec2:DescribeTransitGatewayVpcAttachments

ec2:AuthorizeSecurityGroupIngress

ec2:RevokeSecurityGroupIngress

ec2:DeleteSecurityGroup

ec2:DeleteTransitGatewayVpcAttachment

ec2:CreateRoute

ec2:DeleteRoute

ec2:DeleteTags

ec2:DeleteVpcEndpointServiceConfigurations

Ações do AWS Resource Access Manager

ram:GetResourceShareAssociations

ram:DeleteResourceShare

ram:AssociateResourceShare

ram:DisassociateResourceShare

Ações do Elastic Load Balancing;

elasticloadbalancing:DescribeTargetHealth

elasticloadbalancing:DescribeListener

elasticloadbalancing:DescribeTargetGroups

elasticloadbalancing:RegisterTargets

elasticloadbalancing:CreateLoadBalancerListeners

elasticloadbalancing:CreateListener

elasticloadbalancing:DeleteListener

elasticloadbalancing:DeleteTargetGroup

elasticloadbalancing:DeleteLoadBalancer

elasticloadbalancing:AddTags

elasticloadbalancing:CreateTargetGroup

Veja a seguir a política completa que mostra a quais recursos as ações anteriores se aplicam:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcEndpointServiceConfigurations", "ec2:DescribeTransitGatewayVpcAttachments", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeTargetGroups", "ram:GetResourceShareAssociations" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "ec2:DeleteSecurityGroup", "ec2:DeleteTransitGatewayVpcAttachment", "ec2:CreateRoute", "ec2:DeleteRoute", "ec2:DeleteTags", "ram:DeleteResourceShare", "ram:AssociateResourceShare", "ram:DisassociateResourceShare" ], "Resource": "*", "Condition": { "Null": { "aws:ResourceTag/refactor-spaces:environment-id": "false" } } }, { "Effect": "Allow", "Action": "ec2:DeleteVpcEndpointServiceConfigurations", "Resource": "*", "Condition": { "Null": { "aws:ResourceTag/refactor-spaces:application-id": "false" } } }, { "Effect": "Allow", "Action": [ "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:CreateLoadBalancerListeners", "elasticloadbalancing:CreateListener", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteTargetGroup" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/refactor-spaces:route-id": [ "*" ] } } }, { "Effect": "Allow", "Action": [ "apigateway:PUT", "apigateway:POST", "apigateway:GET", "apigateway:PATCH", "apigateway:DELETE" ], "Resource": [ "arn:aws:apigateway:*::/restapis", "arn:aws:apigateway:*::/restapis/*", "arn:aws:apigateway:*::/vpclinks/*", "arn:aws:apigateway:*::/tags", "arn:aws:apigateway:*::/tags/*" ], "Condition": { "Null": { "aws:ResourceTag/refactor-spaces:application-id": "false" } } }, { "Effect": "Allow", "Action": "apigateway:GET", "Resource": "arn:aws:apigateway:*::/vpclinks/*" }, { "Effect": "Allow", "Action": "elasticloadbalancing:DeleteLoadBalancer", "Resource": "arn:*:elasticloadbalancing:*:*:loadbalancer/net/refactor-spaces-nlb-*" }, { "Effect": "Allow", "Action": [ "elasticloadbalancing:AddTags", "elasticloadbalancing:CreateListener" ], "Resource": "arn:*:elasticloadbalancing:*:*:loadbalancer/net/refactor-spaces-nlb-*", "Condition": { "Null": { "aws:RequestTag/refactor-spaces:route-id": "false" } } }, { "Effect": "Allow", "Action": "elasticloadbalancing:DeleteListener", "Resource": "arn:*:elasticloadbalancing:*:*:listener/net/refactor-spaces-nlb-*" }, { "Effect": "Allow", "Action": [ "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:RegisterTargets" ], "Resource": "arn:*:elasticloadbalancing:*:*:targetgroup/refactor-spaces-tg-*" }, { "Effect": "Allow", "Action": [ "elasticloadbalancing:AddTags", "elasticloadbalancing:CreateTargetGroup" ], "Resource": "arn:*:elasticloadbalancing:*:*:targetgroup/refactor-spaces-tg-*", "Condition": { "Null": { "aws:RequestTag/refactor-spaces:route-id": "false" } } } ] }

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Para obter mais informações, consulte Permissões de função vinculada ao serviço no Guia do usuário do IAM.

Criar uma função vinculada ao serviço para espaços de refatoração

Você não precisa criar manualmente uma função vinculada a serviço. Quando você cria recursos de ambiente, aplicativo, serviço ou roteamento de espaços de refatoração naAWS Management Console, oAWS CLI, ou oAWSA API do Refactor Spaces cria a função vinculada ao serviço para você. Para obter mais informações sobre a criação de uma função vinculada ao serviço para espaços de refatoração, consultePermissões de função vinculada ao serviço para espaços de refatoração.

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta. Quando você cria recursos de ambiente, aplicativo, serviço ou rota do Refatorar Spaces, o Refatorar Spaces cria a função vinculada ao serviço novamente.

Editar uma função vinculada ao serviço para espaços de refatoração

O Refactor Spaces não permite que você edite a função vinculada ao serviço AWSServiceRoleForMigrationHubreFactorSpaces. Depois que criar uma função vinculada ao serviço, você não poderá alterar o nome da função, pois várias entidades podem fazer referência a ela. No entanto, você poderá editar a descrição da função usando o IAM. Para obter mais informações, consulte Editar uma função vinculada ao serviço no Guia do usuário do IAM.

Excluir uma função vinculada ao serviço para espaços de refatoração

Se você não precisar mais usar um recurso ou serviço que requer uma função vinculada a serviço, é recomendável excluí-la. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida. No entanto, você deve limpar os recursos de sua função vinculada ao serviço antes de excluí-la manualmente.

nota

Se o serviço Refatorar Spaces estiver usando a função quando você tentar excluir os recursos, a exclusão poderá falhar. Se isso acontecer, espere alguns minutos e tente a operação novamente.

Para excluir os recursos Refatorar Spaces usados por AWSServiceRoleFormigrationHubreFactorSpaces, use o console Refactor Spaces para excluir os recursos ou use as operações de API de exclusão para os recursos. Para obter mais informações sobre as operações de API de exclusão, consulteReferência de API do Refactor Spaces.

Como excluir manualmente a função vinculada ao serviço usando o IAM

Use o console do IAM, oAWS CLI, ou oAWSAPI para excluir a função vinculada ao serviço AWSServiceRoleForMigrationHubreFactorSpaces. Para obter mais informações, consulte Excluir uma função vinculada ao serviço no Guia do usuário do IAM.

Regiões compatíveis com funções vinculadas ao serviço do Refatorar Spaces

O Refactor Spaces oferece suporte a funções vinculadas a serviços em todas as regiões da em que o serviço está disponível. Para obter mais informações, consulte Regiões e endpoints do AWS.