리팩토리에 서비스 연결 역할 사용 - AWS Migration Hub 리팩터 공간

AWS Migration Hub Rigration Hub Rigration Hub Ligration Hub L

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

리팩토리에 서비스 연결 역할 사용

AWS Migration Hub 리팩터 공간 사용AWS Identity and Access Management(IAM)서비스 연결 역할. 서비스 연결 역할은 리팩토링 스페이스에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 리팩토링 스페이스에서 사전 정의하며 서비스에서 다른 사람을 호출하기 위해 필요한 모든 권한을 포함합니다.AWS사용자를 대신하여 서비스 제공

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 리팩터링 스페이스를 더 쉽게 설정할 수 있습니다. 리팩터링 스페이스는 서비스 연결 역할의 권한을 정의하며, 달리 정의되지 않은 한 리팩터링 스페이스만 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며, 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 부주의로 삭제할 수 없기 때문에 리팩터링 Spaces 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 IAM으로 작업하는 AWS 서비스를 참조하고 서비스 연결 역할(Service-Linked Role) 열에 예(Yes)가 있는 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 링크를 선택합니다.

리팩토링 스페이스에 대한 서비스 연결 역할 권한

Spaces가 라는 서비스 연결 역할을 사용합니다.AWS서비스포마이그리션허브팩터스페이스그리고 그것을마이그레이션허브팩터공간서비스정책IAM 정책 — 액세스 권한을 제공합니다.AWSAWS Migration Hub 리팩토링 스페이스에서 관리하거나 사용하는 리소스

AWSServiceRoleForMigrationHubreFactorSpaces 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.

  • refactor-spaces.amazonaws.com

다음은 AWSServiceRoleFormigrationHubreFactorSpaces에 대한 Amazon 리소스 이름 (ARN) 입니다.

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

리팩터링 공간AWS서비스포마이그리션허브팩터스페이스계정 간 변경을 수행할 때 서비스 연결 역할입니다. 리팩터링 스페이스를 사용하려면 계정에 이 역할이 있어야 합니다. 없는 경우 리팩토링 스페이스는 다음 API 호출 중에 리팩토리를 생성합니다.

  • CreateEnvironment

  • CreateService

  • CreateApplication

  • CreateRoute

서비스 연결 역할을 생성할 iam:CreateServiceLinkedRole 권한이 있어야 합니다. 서비스 연결 역할이 계정에 없으며 생성할 수 없는 경우Create통화가 실패합니다. 리팩터링 스페이스 콘솔을 사용하지 않는 한 리팩터링 스페이스를 사용하기 전에 IAM 콘솔에서 서비스 연결 역할을 생성해야 합니다.

리팩터링 스페이스는 현재 로그인한 계정을 변경할 때 서비스 연결 역할을 사용하지 않습니다. 예를 들어 애플리케이션이 생성되면 리팩터스페이스는 환경의 모든 VPC를 업데이트하여 새로 추가된 VPC와 통신할 수 있습니다. VPC가 다른 계정에 있는 경우 리팩터링 스페이스는 서비스 연결 역할을 사용하고ec2:CreateRoute다른 계정의 라우팅 테이블을 업데이트할 수 있는 권한입니다.

애플리케이션 생성 예제를 추가로 확장하기 위해 애플리케이션을 생성할 때 리팩터스페이스는 에서 제공된 가상 프라이빗 클라우드 (VPC) 에 있는 라우팅 테이블을 업데이트합니다.CreateApplication호출. 이렇게 하면 VPC가 환경의 다른 VPC와 통신할 수 있습니다.

호출자는 다음 요소를 갖춰야 합니다.ec2:CreateRoute라우팅 테이블을 업데이트하는 데 사용하는 권한입니다. 이 권한은 서비스 연결 역할에 있지만 리팩터링 스페이스는 호출자 계정의 서비스 연결 역할을 사용하여 이 권한을 얻지 않습니다. 대신 호출자는ec2:CreateRoute권한. 그렇지 않으면 호출은 실패합니다.

서비스 연결 역할을 사용하여 권한을 에스컬레이션할 수 없습니다. 통화 계정을 변경하려면 계정에 서비스 연결 역할의 권한이 이미 있어야 합니다. 이AWSMigrationHubRefactorSpacesFullAccess관리형 정책은 추가 필수 권한을 부여하는 정책과 함께 리팩터링 스페이스 리소스를 만드는 데 필요한 모든 권한을 정의합니다. 서비스 연결 역할은 특정 교차 계정 호출에 사용되는 이러한 권한의 하위 집합입니다. AWSMigrationHubRefactorSpacesFullAccess에 대한 자세한 내용은 AWS관리형 정책: AWS마이그리션허브팩터공간전체 액세스 단원을 참조하세요.

Tags

리팩터링 스페이스가 계정에 리소스를 만들면 해당 리팩터링 스페이스 리소스 ID로 태그가 지정됩니다. 예를 들어, 다음 위치에서 생성된 Transit GatewayCreateEnvironment태그가 지정되어 있습니다.refactor-spaces:environment-id환경 ID를 값으로 사용하여 태그를 지정합니다. 에서 생성한 API Gateway APICreateApplication태그가 지정된refactor-spaces:application-id응용 프로그램 ID를 값으로 사용합니다. 이러한 태그를 사용하면 리팩터링 스페이스에서 이러한 리소스를 관리할 수 있습니다. 태그를 편집하거나 제거하는 경우 리팩터링 스페이스는 더 이상 리소스를 업데이트하거나 삭제할 수 없습니다.

MigrationHubRefactorSpacesServiceRolePolicy

MigrationHubreFerviceRolePolicationHerviceRolePolication을 사용하면 리팩토링이 지정된 리소스에서 다음 작업을 완료할 수

Amazon API Gateway 작업

apigateway:PUT

apigateway:POST

apigateway:GET

apigateway:PATCH

apigateway:DELETE

Amazon Elastic Compute

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

AWS Resource Access Manager 작업

ram:GetResourceShareAssociations

ram:DeleteResourceShare

ram:AssociateResourceShare

ram:DisassociateResourceShare

Elastic Load Balancing Bal

elasticloadbalancing:DescribeTargetHealth

elasticloadbalancing:DescribeListener

elasticloadbalancing:DescribeTargetGroups

elasticloadbalancing:RegisterTargets

elasticloadbalancing:CreateLoadBalancerListeners

elasticloadbalancing:CreateListener

elasticloadbalancing:DeleteListener

elasticloadbalancing:DeleteTargetGroup

elasticloadbalancing:DeleteLoadBalancer

elasticloadbalancing:AddTags

elasticloadbalancing:CreateTargetGroup

다음은 이전 작업이 적용되는 리소스를 보여 주는 전체 정책입니다.

{ "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" } } } ] }

IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 연결 역할을 작성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 권한을 참조하세요.

리팩토링 스페이스에 대한 서비스 연결 역할 생성

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. 리팩터링 공간 환경, 응용 프로그램, 서비스 또는 라우팅 리소스를 만들 때AWS Management Console,AWS CLI, 또는AWSAPI, 리팩터 스페이스는 서비스 연결 역할을 생성합니다. 리팩터링 스페이스에 대한 서비스 연결 역할 생성에 대한 자세한 내용은 단원을 참조하십시오.리팩토링 스페이스에 대한 서비스 연결 역할 권한.

이 서비스 연결 역할을 삭제한 다음 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. 리팩터링 공간 환경, 응용 프로그램, 서비스 또는 경로 리소스를 생성하면 리팩터링은 서비스 연결 역할을 자동으로 다시 생성합니다.

리팩토리에 대한 서비스 연결 역할 편집

공간 리팩터링은 AWSServiceRoleFormigrationHubreFactorSpaces 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 편집을 참조하세요.

리팩토링 스페이스에 대한 서비스 연결 역할 삭제

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제할 것을 권합니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 개체가 없도록 합니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 정리해야 수동으로 삭제할 수 있습니다.

참고

리소스를 삭제하려고 할 때 리팩터링 Spaces 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

AWSServiceRoleForMigration허브레이터스페이스에서 사용하는 리팩터스페이스 리소스를 삭제하려면 리팩터링 스페이스 콘솔을 사용하여 리소스를 삭제하거나 리소스에 대해 API 삭제 작업을 사용합니다. API 삭제 작업에 대한 자세한 내용은 단원을 참조하십시오.리팩터링 스페이스 API 참조.

IAM을 사용하여 서비스 연결 역할을 수동으로 삭제하려면

IAM 콘솔을 사용하십시오.AWS CLI, 또는AWSAWSServiceRoleFormigrationHubreFactorSpaces 서비스 연결 역할을 삭제하는 API입니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 삭제를 참조하세요.

리팩토링 Spaces 서비스 연결 역할이 지원되는 리전

Spaces가 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 AWS 리전 및 엔드포인트 섹션을 참조하세요.