CodeCatalyst는 AWS 계정를 CodeCatalyst 스페이스에 연결하여 AWS 리소스에 액세스할 수 있습니다. 그런 다음 계정을 연결할 때 다음 서비스 역할을 생성하고 연결할 수 있습니다.
JSON 정책에서 사용하는 요소에 대한 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 요소 참조를 참조하세요.
-
CodeCatalyst 프로젝트 및 워크플로에 대한 AWS 계정의 리소스에 액세스하려면 먼저 CodeCatalyst가 사용자를 대신하여 해당 리소스에 액세스할 수 있는 권한을 부여해야 합니다. 이렇게 하려면 CodeCatalyst가 해당 스페이스의 사용자 및 프로젝트를 대신하여 수임할 수 있는 연결된 AWS 계정에서 서비스 역할을 생성해야 합니다. CodeCatalystWorkflowDevelopmentRole-
spaceName
서비스 역할을 생성 및 사용하도록 선택하거나 사용자 지정 서비스 역할을 생성하고 이러한 IAM 정책 및 역할을 수동으로 구성할 수 있습니다. 가장 좋은 방법은 이러한 역할에 필요한 최소한의 권한을 할당하는 것입니다.참고
사용자 지정 서비스 역할의 경우 CodeCatalyst 서비스 위탁자가 필요합니다. CodeCatalyst 서비스 위탁자 및 신뢰 모델에 대한 자세한 내용은 CodeCatalyst 신뢰 모델 이해 섹션을 참조하세요.
-
연결된 AWS 계정를 통해 스페이스 지원을 관리하려면 CodeCatalyst 사용자가 지원에 액세스할 수 있는 AWSRoleForCodeCatalystSupport 서비스 역할을 생성하고 사용하도록 선택할 수 있습니다. CodeCatalyst 스페이스 지원에 대한 자세한 내용은 Amazon CodeCatalyst의 지원 섹션을 참조하세요.
CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할 이해
CodeCatalyst가 연결된 AWS 계정에서 리소스를 생성하고 액세스하는 데 사용할 수 있는 스페이스의 IAM 역할을 추가할 수 있습니다. 이를 서비스 역할이라고 합니다. 서비스 역할을 생성하는 가장 간단한 방법은 스페이스를 생성할 때 하나를 추가하고 해당 역할에 대한 CodeCatalystWorkflowDevelopmentRole-spaceName
옵션을 선택하는 것입니다. 이렇게 하면 AdministratorAccess
가 연결된 서비스 역할이 생성될 뿐만 아니라 CodeCatalyst가 스페이스 내 프로젝트의 사용자를 대신하여 역할을 맡을 수 있도록 허용하는 신뢰 정책도 생성됩니다. 서비스 역할은 개별 프로젝트가 아닌 스페이스에 따라 범위가 지정됩니다. 이 역할을 생성하려면 계정 및 스페이스의 CodeCatalystWorkflowDevelopmentRole-spaceName 역할 생성 섹션을 참조하세요. 각 계정의 각 스페이스에 대해 하나의 역할만 생성할 수 있습니다.
참고
이 역할은 개발 계정에서만 사용하는 것이 권장되며 AdministratorAccess
AWS 관리형 정책을 사용하여 이 AWS 계정에서 새 정책 및 리소스를 생성할 수 있는 전체 액세스 권한을 부여합니다.
CodeCatalystWorkflowDevelopmentRole-spaceName
역할에 연결된 정책은 스페이스에 블루프린트로 생성된 프로젝트와 함께 작동하도록 설계되었습니다. 이를 통해 해당 프로젝트의 사용자는 연결된 AWS 계정의 리소스를 사용하여 코드를 개발, 빌드, 테스트 및 배포할 수 있습니다. 자세한 내용은 AWS 서비스에 대한 역할 생성을 참조하세요.
CodeCatalystWorkflowDevelopmentRole-spaceName
역할에 연결된 정책은 AWS의 AdministratorAccess
관리형 정책입니다. 이는 모든 AWS 작업 및 리소스에 대한 전체 액세스 권한을 부여하는 정책입니다. IAM 콘솔에서 JSON 정책 문서를 보려면 AdministratorAccess
다음 신뢰 정책은 CodeCatalyst가 CodeCatalystWorkflowDevelopmentRole-spaceName
역할을 수임하도록 허용합니다. CodeCatalyst 신뢰 모델에 대한 자세한 내용은 CodeCatalyst 신뢰 모델 이해 섹션을 참조하세요.
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"codecatalyst-runner.amazonaws.com",
"codecatalyst.amazonaws.com"
]
},
"Action": "sts:AssumeRole",
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:codecatalyst:::space/spaceId/project/*"
}
}
}
]
계정 및 스페이스의 CodeCatalystWorkflowDevelopmentRole-spaceName
역할 생성
다음 단계에 따라 스페이스의 워크플로에 사용할 CodeCatalystWorkflowDevelopmentRole-
역할을 생성합니다. 프로젝트에 사용할 IAM 역할을 보유하려는 각 계정의 스페이스에 개발자 역할과 같은 역할을 추가해야 합니다.spaceName
시작하기 전에 AWS 계정에 대한 관리 권한이 있거나 관리자와 작업할 수 있어야 합니다. CodeCatalyst에서 AWS 계정 및 IAM 역할을 사용하는 방법에 대한 자세한 내용은 연결된 AWS 계정로 AWS 리소스에 대한 액세스 허용 섹션을 참조하세요.
CodeCatalyst CodeCatalystWorkflowDevelopmentRole-spaceName
을 생성하고 추가하려면
-
CodeCatalyst 콘솔에서 시작하기 전에 AWS Management Console을 연 다음 스페이스에 대해 동일한 AWS 계정로 로그인했는지 확인합니다.
https://codecatalyst.aws/
에서 CodeCatalyst 콘솔을 엽니다. -
CodeCatalyst 스페이스로 이동합니다. 설정을 선택한 다음 AWS 계정를 선택합니다.
-
역할을 생성하려는 AWS 계정의 연결을 선택합니다. AWS 계정 세부 정보 페이지가 표시됩니다.
-
AWS Management Console에서 역할 관리를 선택합니다.
AWS Management Console에서 Amazon CodeCatalyst 스페이스에 IAM 역할 추가 페이지가 열립니다. Amazon CodeCatalyst 스페이스 페이지입니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.
-
IAM에서 CodeCatalyst 개발 관리자 역할 생성을 선택합니다. 이 옵션은 개발 역할에 대한 권한 정책 및 신뢰 정책을 포함하는 서비스 역할을 생성합니다. 역할에는
CodeCatalystWorkflowDevelopmentRole-
이름이 있습니다. 역할 및 역할 정책에 대한 자세한 내용은 CodeCatalystWorkflowDevelopmentRole-spaceName 서비스 역할 이해 섹션을 참조하세요.spaceName
참고
이 역할은 개발자 계정에서만 사용하는 것이 권장되며
AdministratorAccess
AWS 관리형 정책을 사용하여 이 AWS 계정에서 새 정책 및 리소스를 생성할 수 있는 전체 액세스 권한을 부여합니다. -
개발 역할 생성을 선택합니다.
-
연결 페이지에 있는 CodeCatalyst에서 사용할 수 있는 IAM 역할에서 계정에 추가된 IAM 역할 목록의
CodeCatalystWorkflowDevelopmentRole-
역할을 봅니다.spaceName
-
스페이스로 돌아가려면 Amazon CodeCatalyst로 이동을 선택합니다.
AWSRoleForCodeCatalystSupport 서비스 역할 이해
스페이스의 CodeCatalyst 사용자가 지원 사례를 생성하고 액세스하는 데 사용할 수 있는 스페이스의 IAM 역할을 추가할 수 있습니다. 이를 지원을 위한 서비스 역할이라고 합니다.지원을 위한 서비스 역할을 생성하는 가장 간단한 방법은 스페이스를 생성할 때 하나를 추가하고 해당 역할에 대한 AWSRoleForCodeCatalystSupport
옵션을 선택하는 것입니다. 이렇게 하면 정책 및 역할이 생성될 뿐만 아니라 CodeCatalyst가 스페이스의 프로젝트에서 사용자를 대신하여 역할을 맡을 수 있도록 허용하는 신뢰 정책도 생성됩니다. 서비스 역할은 개별 프로젝트가 아닌 스페이스에 따라 범위가 지정됩니다. 이 역할을 생성하려면 계정 및 스페이스의 AWSRoleForCodeCatalystSupport 역할 생성 섹션을 참조하세요.
AWSRoleForCodeCatalystSupport
역할에 연결된 정책은 지원 권한에 대한 액세스를 제공하는 관리형 정책입니다. 자세한 내용은 AWS 관리형 정책: AmazonCodeCatalystSupportAccess 섹션을 참조하십시오.
정책에 대한 이 신뢰 역할은 CodeCatalyst가 역할을 맡도록 허용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"codecatalyst.amazonaws.com",
"codecatalyst-runner.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
계정 및 스페이스의 AWSRoleForCodeCatalystSupport 역할 생성
다음 단계에 따라 스페이스의 지원 사례에 사용할 AWSRoleForCodeCatalystSupport
역할을 생성합니다. 이 역할은 스페이스의 지정된 청구 계정에 추가해야 합니다.
시작하기 전에 AWS 계정에 대한 관리 권한이 있거나 관리자와 작업할 수 있어야 합니다. CodeCatalyst에서 AWS 계정 및 IAM 역할을 사용하는 방법에 대한 자세한 내용은 연결된 AWS 계정로 AWS 리소스에 대한 액세스 허용 섹션을 참조하세요.
CodeCatalyst AWSRoleForCodeCatalystSupport을 생성하고 추가하려면
-
CodeCatalyst 콘솔에서 시작하기 전에 AWS Management Console을 연 다음 스페이스에 대해 동일한 AWS 계정로 로그인했는지 확인합니다.
-
CodeCatalyst 스페이스로 이동합니다. 설정을 선택한 다음 AWS 계정를 선택합니다.
-
역할을 생성하려는 AWS 계정의 연결을 선택합니다. AWS 계정 세부 정보 페이지가 표시됩니다.
-
AWS Management Console에서 역할 관리를 선택합니다.
AWS Management Console에서 Amazon CodeCatalyst 스페이스에 IAM 역할 추가 페이지가 열립니다. Amazon CodeCatalyst 스페이스 페이지입니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.
-
CodeCatalyst 스페이스 세부 정보에서 CodeCatalyst 지원 역할 추가를 선택합니다. 이 옵션은 미리 보기 개발 역할에 대한 권한 정책 및 신뢰 정책을 포함하는 서비스 역할을 생성합니다. 역할에는 고유한 식별자가 추가된 AWSRoleForCodeCatalystSupport 이름이 있습니다. 역할 및 역할 정책에 대한 자세한 내용은 AWSRoleForCodeCatalystSupport 서비스 역할 이해 섹션을 참조하세요.
-
CodeCatalyst 지원에 역할 추가 페이지에서 기본값을 선택한 상태로 두고 역할 생성을 선택합니다.
-
CodeCatalyst에서 사용할 수 있는 IAM 역할에서 계정에 추가된 IAM 역할 목록의
CodeCatalystWorkflowDevelopmentRole-
역할을 봅니다.spaceName
-
스페이스로 돌아가려면 Amazon CodeCatalyst로 이동을 선택합니다.
CodeCatalyst의 워크플로 작업에 대한 IAM 역할 구성
이 섹션에서는 CodeCatalyst 계정과 함께 사용할 수 있도록 생성할 수 있는 IAM 역할 및 정책을 자세히 설명합니다. 예시 역할을 생성하는 방법에 대한 지침은 워크플로 작업에 대한 역할 수동 생성을 참조하세요. IAM 역할을 생성한 후 역할 ARN을 복사하여 계정 연결에 IAM 역할을 추가하고 프로젝트 환경과 연결합니다. 자세한 내용은 계정 연결에 IAM 역할 추가을 참조하십시오.
Amazon S3 액세스를 위한 CodeCatalyst 빌드 역할
CodeCatalyst 워크플로 빌드 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 CodeCatalystBuildRoleforS3Access라는 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 AWS CloudFormation 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Amazon S3 버킷에 작성합니다.
-
AWS CloudFormation을 사용하여 리소스 구축을 지원합니다. 이렇게 하려면 Amazon S3 액세스 권한이 필요합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [{
"Action": [
"s3:PutObject",
"iam:PassRole"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
}]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
AWS CloudFormation에 대한 CodeCatalyst 빌드 역할
CodeCatalyst 워크플로 빌드 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 AWS CloudFormation 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
AWS CloudFormation을 사용하여 리소스 구축을 지원합니다. 이는 Amazon S3 액세스에 대한 CodeCatalyst 빌드 역할 및 AWS CloudFormation에 대한 CodeCatalyst 배포 역할과 함께 필요합니다.
다음 AWS 관리형 정책이 이 역할에 연결되어야 합니다.
-
AWSCloudFormationFullAccess
-
IAMFullAccess
-
AmazonS3FullAccess
-
AmazonAPIGatewayAdministrator
-
AWSLambdaFullAccess
CDK에 대한 CodeCatalyst 빌드 역할
최신 3계층 웹 애플리케이션과 같은 CDK 빌드 작업을 실행하는 CodeCatalyst 워크플로의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 AWS CloudFormation 리소스에서 부트스트랩을 수행하고 CDK 빌드 명령을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Amazon S3 버킷에 작성합니다.
-
CDK 구문 및 AWS CloudFormation 리소스 스택 구축을 지원합니다. 이를 위해서는 아티팩트 스토리지용 Amazon S3, 이미지 리포지토리 지원용 Amazon ECR, 가상 인스턴스에 대한 시스템 거버넌스 및 모니터링을 위한 SSM에 대한 액세스 권한이 필요합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudformation:*",
"ecr:*",
"ssm:*",
"s3:*",
"iam:PassRole",
"iam:GetRole",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:PutRolePolicy"
],
"Resource": "*"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
AWS CloudFormation에 대한 CodeCatalyst 배포 역할
AWS CloudFormation을 사용하는 CodeCatalyst 워크플로 배포 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 CodeCatalyst가 AWS 계정의 AWS CloudFormation 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용할 수 있습니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
CodeCatalyst가 AWS CloudFormation을 통해 블루/그린 배포를 수행하기 위해 Λ 함수를 간접 호출하도록 허용합니다.
-
CodeCatalyst가 AWS CloudFormation에서 스택 및 변경 세트를 생성하고 업데이트하도록 허용합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{"Action": [
"cloudformation:CreateStack",
"cloudformation:DeleteStack",
"cloudformation:Describe*",
"cloudformation:UpdateStack",
"cloudformation:CreateChangeSet",
"cloudformation:DeleteChangeSet",
"cloudformation:ExecuteChangeSet",
"cloudformation:SetStackPolicy",
"cloudformation:ValidateTemplate",
"cloudformation:List*",
"iam:PassRole"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Amazon EC2에 대한 CodeCatalyst 배포 역할
CodeCatalyst 워크플로 배포 작업은 필요한 권한이 있는 IAM 역할을 사용합니다. 이 역할은 CodeCatalyst가 AWS 계정의 Amazon EC2 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다. CodeCatalystWorkflowDevelopmentRole-spaceName
역할에 대한 기본 정책에는 Amazon EC2 또는 Amazon EC2 Auto Scaling에 대한 권한이 포함되지 않습니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Amazon EC2 배포를 생성합니다.
-
Auto Scaling 그룹 이름으로 인스턴스의 태그를 읽거나 Amazon EC2 인스턴스를 식별합니다.
-
Amazon EC2 Auto Scaling 그룹, 수명 주기 후크 및 규모 조정 정책을 읽고, 생성하고, 업데이트하고, 삭제합니다.
-
Amazon SNS 주제로 정보를 게시합니다.
-
CloudWatch 경보에 관한 정보를 검색합니다.
-
Elastic Load Balancing을 읽고 업데이트합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CompleteLifecycleAction",
"autoscaling:DeleteLifecycleHook",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeLifecycleHooks",
"autoscaling:PutLifecycleHook",
"autoscaling:RecordLifecycleActionHeartbeat",
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:EnableMetricsCollection",
"autoscaling:DescribePolicies",
"autoscaling:DescribeScheduledActions",
"autoscaling:DescribeNotificationConfigurations",
"autoscaling:SuspendProcesses",
"autoscaling:ResumeProcesses",
"autoscaling:AttachLoadBalancers",
"autoscaling:AttachLoadBalancerTargetGroups",
"autoscaling:PutScalingPolicy",
"autoscaling:PutScheduledUpdateGroupAction",
"autoscaling:PutNotificationConfiguration",
"autoscaling:PutWarmPool",
"autoscaling:DescribeScalingActivities",
"autoscaling:DeleteAutoScalingGroup",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:TerminateInstances",
"tag:GetResources",
"sns:Publish",
"cloudwatch:DescribeAlarms",
"cloudwatch:PutMetricAlarm",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:RegisterTargets",
"elasticloadbalancing:DeregisterTargets"
],
"Resource": "resource_ARN
"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Amazon ECS에 대한 CodeCatalyst 배포 역할
CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 Lambda 배포에 사용할 CodeCatalyst 배포 작업에 대한 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 Amazon ECS 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
CodeCatalyst 연결에 지정된 계정에서 CodeCatalyst 사용자를 대신하여 롤링 Amazon ECS 배포를 시작합니다.
-
Amazon ECS 작업 세트를 읽고, 업데이트하고, 삭제합니다.
-
Elastic Load Balancing 대상그룹, 리스너 및 규칙을 업데이트합니다.
-
Lambda 함수 간접 호출
-
Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
-
CloudWatch 경보에 관한 정보를 검색합니다.
-
Amazon SNS 주제로 정보를 게시합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [{
"Action":[
"ecs:DescribeServices",
"ecs:CreateTaskSet",
"ecs:DeleteTaskSet",
"ecs:ListClusters",
"ecs:RegisterTaskDefinition",
"ecs:UpdateServicePrimaryTaskSet",
"ecs:UpdateService",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:ModifyRule",
"lambda:InvokeFunction",
"lambda:ListFunctions",
"cloudwatch:DescribeAlarms",
"sns:Publish",
"sns:ListTopics",
"s3:GetObject",
"s3:GetObjectVersion",
"codedeploy:CreateApplication",
"codedeploy:CreateDeployment",
"codedeploy:CreateDeploymentGroup",
"codedeploy:GetApplication",
"codedeploy:GetDeployment",
"codedeploy:GetDeploymentGroup",
"codedeploy:ListApplications",
"codedeploy:ListDeploymentGroups",
"codedeploy:ListDeployments",
"codedeploy:StopDeployment",
"codedeploy:GetDeploymentTarget",
"codedeploy:ListDeploymentTargets",
"codedeploy:GetDeploymentConfig",
"codedeploy:GetApplicationRevision",
"codedeploy:RegisterApplicationRevision",
"codedeploy:BatchGetApplicationRevisions",
"codedeploy:BatchGetDeploymentGroups",
"codedeploy:BatchGetDeployments",
"codedeploy:BatchGetApplications",
"codedeploy:ListApplicationRevisions",
"codedeploy:ListDeploymentConfigs",
"codedeploy:ContinueDeployment"
],
"Resource":"*",
"Effect":"Allow"
},{"Action":[
"iam:PassRole"
],
"Effect":"Allow",
"Resource":"*",
"Condition":{"StringLike":{"iam:PassedToService":[
"ecs-tasks.amazonaws.com",
"codedeploy.amazonaws.com"
]
}
}
}]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Lambda에 대한 CodeCatalyst 배포 역할
CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 Lambda 배포에 사용할 CodeCatalyst 배포 작업에 대한 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 Lambda 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Lambda 함수 및 별칭을 읽고 업데이트하고 간접 호출합니다.
-
Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
-
CloudWatch 이벤트 경보에 관한 정보를 검색합니다.
-
Amazon SNS 주제로 정보를 게시합니다.
이 역할은 다음과 같은 정책을 사용합니다.
*{*
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:DescribeAlarms",
"lambda:UpdateAlias",
"lambda:GetAlias",
"lambda:GetProvisionedConcurrencyConfig",
"sns:Publish"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::/CodeDeploy/",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/UseWithCodeDeploy": "true"
}
},
"Effect": "Allow"
},
{
"Action": [
"lambda:InvokeFunction"
],
"Resource": "arn:aws:lambda:::function:CodeDeployHook_*",
"Effect": "Allow"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Lambda에 대한 CodeCatalyst 배포 역할
CodeCatalyst 워크플로 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 Lambda 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Lambda 함수 및 별칭을 읽고 업데이트하고 간접 호출합니다.
-
Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
-
CloudWatch 경보에 관한 정보를 검색합니다.
-
Amazon SNS 주제로 정보를 게시합니다.
이 역할은 다음과 같은 정책을 사용합니다.
*{*
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:DescribeAlarms",
"lambda:UpdateAlias",
"lambda:GetAlias",
"lambda:GetProvisionedConcurrencyConfig",
"sns:Publish"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::/CodeDeploy/",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/UseWithCodeDeploy": "true"
}
},
"Effect": "Allow"
},
{
"Action": [
"lambda:InvokeFunction"
],
"Resource": "arn:aws:lambda:::function:CodeDeployHook_*",
"Effect": "Allow"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
AWS SAM에 대한 CodeCatalyst 배포 역할
CodeCatalyst 워크플로 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 AWS SAM 및 AWS CloudFormation 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
CodeCatalyst가 서버리스 및 AWS SAM CLI 애플리케이션의 배포를 수행하기 위해 Lambda 함수를 간접 호출하도록 허용합니다.
-
CodeCatalyst가 AWS CloudFormation에서 스택 및 변경 세트를 생성하고 업데이트하도록 허용합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"iam:PassRole",
"iam:DeleteRole",
"iam:GetRole",
"iam:TagRole",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:DetachRolePolicy",
"cloudformation:*",
"lambda:*",
"apigateway:*"
],
"Resource": "*"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Amazon EC2에 대한 CodeCatalyst 읽기 전용 역할
CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 Amazon EC2 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다. CodeCatalystWorkflowDevelopmentRole-spaceName
서비스 역할에는 Amazon EC2에 대한 권한 또는 Amazon CloudWatch에 대해 설명된 작업이 포함되지 않습니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Amazon EC2 인스턴스 상태 가져오기
-
Amazon EC2 인스턴스에 대한 CloudWatch 지표를 가져옵니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe",
"Resource": "resource_ARN
"
},
{
"Effect": "Allow",
"Action": "elasticloadbalancing:Describe",
"Resource": "resource_ARN
"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:Describe"
],
"Resource": "resource_ARN
"
},
{
"Effect": "Allow",
"Action": "autoscaling:Describe",
"Resource": "resource_ARN
"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Amazon ECS에 대한 CodeCatalyst 읽기 전용 역할
CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 Amazon ECS 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Amazon ECS 작업 태스크 세트를 읽습니다.
-
CloudWatch 경보에 관한 정보를 검색합니다.
이 역할은 다음과 같은 정책을 사용합니다.
*{*
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ecs:DescribeServices",
"cloudwatch:DescribeAlarms"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
},
{
"Action": [
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeRules"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/UseWithCodeDeploy": "true"
}
},
"Effect": "Allow"
},
{
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
"Resource": [
"arn:aws:iam:::role/ecsTaskExecutionRole",
"arn:aws:iam:::role/ECSTaskExecution"
],
"Condition": {
"StringLike": {
"iam:PassedToService": [
"ecs-tasks.amazonaws.com"
]
}
}
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
Lambda에 대한 CodeCatalyst 읽기 전용 역할
CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가 AWS 계정의 Lambda 리소스에서 태스크를 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다.
이 역할은 다음에 대한 권한을 부여합니다.
-
Lambda 함수 및 별칭을 읽습니다.
-
Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
-
CloudWatch 경보에 관한 정보를 검색합니다.
이 역할은 다음과 같은 정책을 사용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:DescribeAlarms",
"lambda:GetAlias",
"lambda:GetProvisionedConcurrencyConfig"
],
"Resource": "resource_ARN
",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::/CodeDeploy/",
"Effect": "Allow"
},
{
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/UseWithCodeDeploy": "true"
}
},
"Effect": "Allow"
}
]
}
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
워크플로 작업에 대한 역할 수동 생성
CodeCatalyst 워크플로 작업은 빌드 역할, 배포 역할 및 스택 역할이라고 하는 사용자가 생성한 IAM 역할을 사용합니다.
IAM에서 역할을 생성하려면 이 단계를 따릅니다.
배포 역할을 생성하려면
-
역할에 대한 정책을 다음과 같이 생성합니다.
-
AWS에 로그인합니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 Policies를 선택합니다.
-
정책 생성을 선택합니다.
-
JSON 탭을 선택합니다.
-
기존 코드를 삭제합니다.
-
다음 코드를 붙여넣습니다.
{ "Version": "2012-10-17", "Statement": [{ "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:Describe*", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "cloudformation:List*", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }] }
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
-
다음: 태그를 선택합니다.
-
다음: 검토를 선택합니다.
-
이름에 다음과 같이 입력합니다.
codecatalyst-deploy-policy
-
정책 생성을 선택합니다.
이제 권한 정책을 생성했습니다.
-
-
다음과 같이 배포 역할을 생성합니다.
-
탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.
-
사용자 지정 신뢰 정책을 선택합니다.
-
기존 사용자 지정 신뢰 정책을 삭제합니다.
-
다음 사용자 지정 신뢰 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Next(다음)를 선택합니다.
-
권한 정책에서
codecatalyst-deploy-policy
를 검색하고 해당 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
역할 이름에 다음과 같이 입력합니다.
codecatalyst-deploy-role
-
역할 설명에 다음과 같이 입력합니다.
CodeCatalyst deploy role
-
역할 생성을 선택합니다.
이제 신뢰 정책 및 권한 정책으로 배포 역할을 생성했습니다.
-
-
다음과 같이 배포 역할 ARN을 가져옵니다.
-
탐색 창에서 Roles를 선택합니다.
-
검색 상자에 방금 생성한 역할의 이름을 입력합니다(
codecatalyst-deploy-role
). -
목록에서 역할을 선택합니다.
역할의 요약 페이지가 나타납니다.
-
상단에서 ARN 값을 복사합니다.
이제 적절한 권한으로 배포 역할을 생성하고 ARN을 획득했습니다.
-
빌드 역할을 생성하려면
-
역할에 대한 정책을 다음과 같이 생성합니다.
-
AWS에 로그인합니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 Policies를 선택합니다.
-
정책 생성을 선택합니다.
-
JSON 탭을 선택합니다.
-
기존 코드를 삭제합니다.
-
다음 코드를 붙여넣습니다.
{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:PutObject", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }] }
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
-
다음: 태그를 선택합니다.
-
다음: 검토를 선택합니다.
-
이름에 다음과 같이 입력합니다.
codecatalyst-build-policy
-
정책 생성을 선택합니다.
이제 권한 정책을 생성했습니다.
-
-
다음과 같이 빌드 역할을 생성합니다.
-
탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.
-
사용자 지정 신뢰 정책을 선택합니다.
-
기존 사용자 지정 신뢰 정책을 삭제합니다.
-
다음 사용자 지정 신뢰 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Next(다음)를 선택합니다.
-
권한 정책에서
codecatalyst-build-policy
를 검색하고 해당 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
역할 이름에 다음과 같이 입력합니다.
codecatalyst-build-role
-
역할 설명에 다음과 같이 입력합니다.
CodeCatalyst build role
-
역할 생성을 선택합니다.
이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.
-
-
다음과 같이 빌드 역할 ARN을 가져옵니다.
-
탐색 창에서 Roles를 선택합니다.
-
검색 상자에 방금 생성한 역할의 이름을 입력합니다(
codecatalyst-build-role
). -
목록에서 역할을 선택합니다.
역할의 요약 페이지가 나타납니다.
-
상단에서 ARN 값을 복사합니다.
이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.
-
스택 역할을 생성하려면
참고
스택 역할을 생성할 필요는 없지만 보안상의 이유로 그렇게 하는 것이 좋습니다. 스택 역할을 생성하지 않는 경우 이 절차에서 자세히 설명한 권한 정책을 배포 역할에 추가해야 합니다.
-
스택을 배포하려는 계정을 사용하여 AWS에 로그인합니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.
-
상단에서 AWS 서비스를 선택합니다.
-
서비스 목록에서 CloudFormation을 선택합니다.
-
다음: 권한을 선택합니다.
-
검색 상자에 스택의 리소스에 액세스하는 데 필요한 정책을 추가합니다. 예를 들어 스택에 AWS Lambda 함수가 포함된 경우 Lambda에 대한 액세스 권한을 부여하는 정책을 추가해야 합니다.
작은 정보
추가할 정책이 확실하지 않은 경우 지금은 생략할 수 있습니다. 작업을 테스트할 때 올바른 권한이 없는 경우 AWS CloudFormation는 추가해야 하는 권한을 보여주는 오류를 생성합니다.
-
다음: 태그를 선택합니다.
-
다음: 검토를 선택합니다.
-
역할 이름에 다음과 같이 입력합니다.
codecatalyst-stack-role
-
역할 생성을 선택합니다.
-
스택 역할의 ARN을 가져오려면 다음을 수행합니다.
-
탐색 창에서 Roles를 선택합니다.
-
검색 상자에 방금 생성한 역할의 이름을 입력합니다(
codecatalyst-stack-role
). -
목록에서 역할을 선택합니다.
-
요약 페이지에서 역할 ARN 값을 복사합니다.
-
IAM에서 AWS CloudFormation을 사용하여 정책 및 역할 생성
AWS CloudFormation 템플릿을 생성하고 사용하여 CodeCatalyst 프로젝트 및 워크플로를 위해 AWS 계정의 리소스에 액세스하는 데 필요한 정책 및 역할을 생성할 수 있습니다. AWS CloudFormation은 AWS 리소스를 모델링하고 설정하여 리소스 관리에 소요되는 시간을 줄이고 AWS에서 실행되는 애플리케이션 관리에 더 많은 시간을 할애할 수 있도록 지원하는 서비스입니다. 여러 AWS 계정에서 역할을 생성하려는 경우 템플릿을 생성하면 이 작업을 더 빠르게 수행하는 데 도움이 될 수 있습니다.
다음 예시 템플릿은 배포 작업 역할 및 정책을 생성합니다.
Parameters:
CodeCatalystAccountId:
Type: String
Description: Account ID from the connections page
ExternalId:
Type: String
Description: External ID from the connections page
Resources:
CrossAccountRole:
Type: 'AWS::IAM::Role'
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
AWS:
- !Ref CodeCatalystAccountId
Action:
- 'sts:AssumeRole'
Condition:
StringEquals:
sts:ExternalId: !Ref ExternalId
Path: /
Policies:
- PolicyName: CodeCatalyst-CloudFormation-action-policy
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- 'cloudformation:CreateStack'
- 'cloudformation:DeleteStack'
- 'cloudformation:Describe*'
- 'cloudformation:UpdateStack'
- 'cloudformation:CreateChangeSet'
- 'cloudformation:DeleteChangeSet'
- 'cloudformation:ExecuteChangeSet'
- 'cloudformation:SetStackPolicy'
- 'cloudformation:ValidateTemplate'
- 'cloudformation:List*'
- 'iam:PassRole'
Resource: '*'
웹 애플리케이션 블루프린트에 대한 역할 수동 생성
CodeCatalyst 웹 애플리케이션 블루프린트는 CDK 의 빌드 역할, 배포 역할 및 스택 역할이라고 하는 사용자가 생성한 IAM 역할을 사용합니다.
IAM에서 역할을 생성하려면 이 단계를 따릅니다.
빌드 역할을 생성하려면
-
역할에 대한 정책을 다음과 같이 생성합니다.
-
AWS에 로그인합니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 Policies를 선택합니다.
-
정책 생성(Create Policy)을 선택합니다.
-
JSON 탭을 선택합니다.
-
기존 코드를 삭제합니다.
-
다음 코드를 붙여넣습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*", "ecr:*", "ssm:*", "s3:*", "iam:PassRole", "iam:GetRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "*" } ] }
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
-
다음: 태그를 선택합니다.
-
다음: 검토를 선택합니다.
-
이름에 다음과 같이 입력합니다.
codecatalyst-webapp-build-policy
-
정책 생성을 선택합니다.
이제 권한 정책을 생성했습니다.
-
-
다음과 같이 빌드 역할을 생성합니다.
-
탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.
-
사용자 지정 신뢰 정책을 선택합니다.
-
기존 사용자 지정 신뢰 정책을 삭제합니다.
-
다음 사용자 지정 신뢰 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Next(다음)를 선택합니다.
-
빌드 역할에 권한 정책을 연결합니다. 권한 추가 페이지의 권한 정책 섹션에서
codecatalyst-webapp-build-policy
를 검색하고 해당 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
역할 이름에 다음과 같이 입력합니다.
codecatalyst-webapp-build-role
-
역할 설명에 다음과 같이 입력합니다.
CodeCatalyst Web app build role
-
역할 생성을 선택합니다.
이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.
-
-
빌드 역할에 다음과 같이 권한 정책을 연결합니다.
-
탐색 창에서 역할을 선택한 후
codecatalyst-webapp-build-role
을 검색합니다. -
세부 정보를 표시하려면
codecatalyst-webapp-build-role
을 선택합니다. -
권한 탭에서 권한 추가, 정책 연결을 차례로 선택합니다.
-
codecatalyst-webapp-build-policy
을 검색하고 해당 확인란을 선택한 다음, 정책 연결을 선택합니다.이제 빌드 역할에 권한 정책을 연결했습니다. 빌드 역할에는 권한 정책과 신뢰 정책이라는 2가지 정책이 있습니다.
-
-
다음과 같이 빌드 역할 ARN을 가져옵니다.
-
탐색 창에서 Roles를 선택합니다.
-
검색 상자에 방금 생성한 역할의 이름을 입력합니다(
codecatalyst-webapp-build-role
). -
목록에서 역할을 선택합니다.
역할의 요약 페이지가 나타납니다.
-
상단에서 ARN 값을 복사합니다.
이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.
-
SAM 블루프린트에 대한 역할 수동 생성
CodeCatalyst SAM 블루프린트는 CloudFormation 빌드 역할 및 SAM 배포 역할이라고 하는 사용자가 생성한 IAM 역할을 사용합니다.
IAM에서 역할을 생성하려면 이 단계를 따릅니다.
CloudFormation에 대한 빌드 역할을 생성하려면
-
역할에 대한 정책을 다음과 같이 생성합니다.
-
AWS에 로그인합니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 Policies를 선택합니다.
-
정책 생성(Create Policy)을 선택합니다.
-
JSON 탭을 선택합니다.
-
기존 코드를 삭제합니다.
-
다음 코드를 붙여넣습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*", "cloudformation:*" ], "Resource": "*" } ] }
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
-
다음: 태그를 선택합니다.
-
다음: 검토를 선택합니다.
-
이름에 다음과 같이 입력합니다.
codecatalyst-SAM-build-policy
-
정책 생성을 선택합니다.
이제 권한 정책을 생성했습니다.
-
-
다음과 같이 빌드 역할을 생성합니다.
-
탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.
-
사용자 지정 신뢰 정책을 선택합니다.
-
기존 사용자 지정 신뢰 정책을 삭제합니다.
-
다음 사용자 지정 신뢰 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Next(다음)를 선택합니다.
-
빌드 역할에 권한 정책을 연결합니다. 권한 추가 페이지의 권한 정책 섹션에서
codecatalyst-SAM-build-policy
를 검색하고 해당 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
역할 이름에 다음과 같이 입력합니다.
codecatalyst-SAM-build-role
-
역할 설명에 다음과 같이 입력합니다.
CodeCatalyst SAM build role
-
역할 생성을 선택합니다.
이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.
-
-
빌드 역할에 다음과 같이 권한 정책을 연결합니다.
-
탐색 창에서 역할(Roles)을 선택한 후
codecatalyst-SAM-build-role
을 검색합니다. -
세부 정보를 표시하려면
codecatalyst-SAM-build-role
을 선택합니다. -
권한 탭에서 권한 추가, 정책 연결을 차례로 선택합니다.
-
codecatalyst-SAM-build-policy
을 검색하고 해당 확인란을 선택한 다음, 정책 연결을 선택합니다.이제 빌드 역할에 권한 정책을 연결했습니다. 빌드 역할에는 권한 정책과 신뢰 정책이라는 2가지 정책이 있습니다.
-
-
다음과 같이 빌드 역할 ARN을 가져옵니다.
-
탐색 창에서 Roles를 선택합니다.
-
검색 상자에 방금 생성한 역할의 이름을 입력합니다(
codecatalyst-SAM-build-role
). -
목록에서 역할을 선택합니다.
역할의 요약 페이지가 나타납니다.
-
상단에서 ARN 값을 복사합니다.
이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.
-
SAM에 대한 배포 역할을 생성하려면
-
역할에 대한 정책을 다음과 같이 생성합니다.
-
AWS에 로그인합니다.
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 Policies를 선택합니다.
-
정책 생성(Create Policy)을 선택합니다.
-
JSON 탭을 선택합니다.
-
기존 코드를 삭제합니다.
-
다음 코드를 붙여넣습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "iam:PassRole", "iam:DeleteRole", "iam:GetRole", "iam:TagRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "cloudformation:*", "lambda:*", "apigateway:*" ], "Resource": "*" } ] }
참고
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.
"Resource": "*"
-
다음: 태그를 선택합니다.
-
다음: 검토를 선택합니다.
-
이름에 다음과 같이 입력합니다.
codecatalyst-SAM-deploy-policy
-
정책 생성을 선택합니다.
이제 권한 정책을 생성했습니다.
-
-
다음과 같이 빌드 역할을 생성합니다.
-
탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.
-
사용자 지정 신뢰 정책을 선택합니다.
-
기존 사용자 지정 신뢰 정책을 삭제합니다.
-
다음 사용자 지정 신뢰 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Next(다음)를 선택합니다.
-
빌드 역할에 권한 정책을 연결합니다. 권한 추가 페이지의 권한 정책 섹션에서
codecatalyst-SAM-deploy-policy
를 검색하고 해당 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
역할 이름에 다음과 같이 입력합니다.
codecatalyst-SAM-deploy-role
-
역할 설명에 다음과 같이 입력합니다.
CodeCatalyst SAM deploy role
-
역할 생성을 선택합니다.
이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.
-
-
빌드 역할에 다음과 같이 권한 정책을 연결합니다.
-
탐색 창에서 역할을 선택한 후
codecatalyst-SAM-deploy-role
을 검색합니다. -
세부 정보를 표시하려면
codecatalyst-SAM-deploy-role
을 선택합니다. -
권한 탭에서 권한 추가, 정책 연결을 차례로 선택합니다.
-
codecatalyst-SAM-deploy-policy
을 검색하고 해당 확인란을 선택한 다음, 정책 연결을 선택합니다.이제 빌드 역할에 권한 정책을 연결했습니다. 빌드 역할에는 권한 정책과 신뢰 정책이라는 2가지 정책이 있습니다.
-
-
다음과 같이 빌드 역할 ARN을 가져옵니다.
-
탐색 창에서 Roles를 선택합니다.
-
검색 상자에 방금 생성한 역할의 이름을 입력합니다(
codecatalyst-SAM-deploy-role
). -
목록에서 역할을 선택합니다.
역할의 요약 페이지가 나타납니다.
-
상단에서 ARN 값을 복사합니다.
이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.
-