IAM 역할을 사용하여 프로젝트 AWS 리소스에 대한 액세스 권한 부여 - 아마존 CodeCatalyst

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

IAM 역할을 사용하여 프로젝트 AWS 리소스에 대한 액세스 권한 부여

CodeCatalyst AWS CodeCatalyst 스페이스에 연결하여 AWS 계정 리소스에 액세스할 수 있습니다. 그런 다음 다음 서비스 역할을 생성하고 계정을 연결할 때 이들을 연결할 수 있습니다.

JSON 정책에서 사용하는 요소에 대한 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 요소 참조를 참조하십시오.

  • CodeCatalyst 프로젝트 및 AWS 계정 워크플로용 리소스에 액세스하려면 먼저 사용자를 대신하여 해당 리소스에 대한 CodeCatalyst 액세스 권한을 부여해야 합니다. 이렇게 하려면 스페이스의 사용자 및 프로젝트를 CodeCatalyst 대신할 수 AWS 계정 있는 서비스 역할을 커넥터에 생성해야 합니다. 서비스 역할을 생성하여 사용하도록 선택하거나 사용자 지정 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 생성하고 이러한 IAM 정책 및 역할을 수동으로 구성할 수 있습니다. 가장 좋은 방법은 이러한 역할에 필요한 최소한의 권한을 할당하는 것입니다.

    참고

    사용자 지정된 서비스 역할의 경우 CodeCatalyst 서비스 주체가 필요합니다. CodeCatalyst 서비스 주체 및 신뢰 모델에 대한 자세한 내용은 을 참조하십시오 CodeCatalyst 신뢰 모델 이해.

  • 연결을 AWS 계정통해 스페이스에 대한 지원을 관리하려면 CodeCatalyst 사용자가 지원에 액세스할 수 있는 AWSRoleForCodeCatalystSupport서비스 역할을 만들고 사용하도록 선택할 수 있습니다. CodeCatalyst 스페이스 지원에 대한 자세한 내용은 을 참조하십시오AWS Support아마존용 CodeCatalyst.

CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할 이해

연결된 AWS 계정공간에서 리소스를 생성하고 액세스하는 데 사용할 CodeCatalyst 수 있는 IAM 역할을 스페이스에 추가할 수 있습니다. 이를 서비스 역할이라고 합니다. 서비스 역할을 만드는 가장 간단한 방법은 공간을 만들 때 서비스 역할을 추가하고 해당 역할에 대한 CodeCatalystWorkflowDevelopmentRole-spaceName옵션을 선택하는 것입니다. 이렇게 하면 AdministratorAccess 연결된 서비스 역할이 만들어질 뿐만 아니라 스페이스의 프로젝트에서 사용자를 대신하여 역할을 맡을 수 CodeCatalyst 있는 신뢰 정책도 만들어집니다. 서비스 역할의 범위는 개별 프로젝트가 아니라 스페이스로 제한됩니다. 이 역할을 생성하려면 계정 및 스페이스에 대한 CodeCatalystWorkflowDevelopmentRole-spaceName역할 만들기 단원을 참조하세요. 각 계정의 각 스페이스에 대해 하나의 역할만 만들 수 있습니다.

참고

이 역할은 개발 계정에만 사용하는 것이 좋으며 AdministratorAccess AWS 관리형 정책을 사용하므로 이 계정에서 새 정책 및 리소스를 만들 수 있는 전체 액세스 권한을 AWS 계정부여합니다.

CodeCatalystWorkflowDevelopmentRole-spaceName역할에 첨부된 정책은 스페이스에서 블루프린트를 사용하여 만든 프로젝트에 사용할 수 있도록 설계되었습니다. 이를 통해 해당 프로젝트의 사용자는 커넥티드 AWS 계정환경의 리소스를 사용하여 코드를 개발, 빌드, 테스트 및 배포할 수 있습니다. 자세한 내용은 AWS 서비스 역할 만들기를 참조하십시오.

CodeCatalystWorkflowDevelopmentRole-spaceName역할에 연결된 정책은 의 AdministratorAccess 관리형 정책입니다 AWS. 이 정책은 모든 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-spaceName 역할을 만드세요. 프로젝트에서 사용할 IAM 역할을 할당하려는 각 계정에 대해 개발자 역할과 같은 역할을 스페이스에 추가해야 합니다.

시작하기 전에 관리자 권한이 AWS 계정 있거나 관리자와 협력할 수 있어야 합니다. 에서 CodeCatalyst IAM 역할을 사용하는 방법 AWS 계정 및 IAM 역할에 대한 자세한 내용은 을 참조하십시오연결된 AWS 리소스에 대한 액세스 허용 AWS 계정.

생성 및 추가하기 CodeCatalyst CodeCatalystWorkflowDevelopmentRole-spaceName
  1. CodeCatalyst 콘솔에서 시작하기 전에 를 AWS Management Console열고 AWS 계정 스페이스에 동일한 계정으로 로그인했는지 확인하십시오.

  2. https://codecatalyst.aws/ 에서 CodeCatalyst 콘솔을 여십시오.

  3. CodeCatalyst 스페이스로 이동하세요. 설정을 선택한 다음 AWS 계정를 선택합니다.

  4. 역할을 생성하려는 AWS 계정 위치의 링크를 선택합니다. AWS 계정 세부 정보 페이지가 표시됩니다.

  5. 에서 역할 관리를 선택합니다 AWS Management Console.

    Amazon CodeCatalyst 스페이스에 IAM 역할 추가 페이지가 에서 AWS Management Console열립니다. 아마존 CodeCatalyst 스페이스 페이지입니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.

  6. IAM에서 CodeCatalyst 개발 관리자 역할 생성을 선택합니다. 이 옵션은 개발 역할에 대한 권한 정책 및 신뢰 정책을 포함하는 서비스 역할을 생성합니다. 역할에는 이름이 CodeCatalystWorkflowDevelopmentRole-spaceName 지정됩니다. 역할 및 역할 정책에 대한 자세한 내용은 을 참조하십시오CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할 이해.

    참고

    이 역할은 개발자 계정에만 사용하는 것이 좋으며 AdministratorAccess AWS 관리형 정책을 사용하므로 이 계정에서 새 정책 및 리소스를 만들 수 있는 전체 액세스 권한을 AWS 계정부여합니다.

  7. 개발 역할 생성을 선택합니다.

  8. 연결 페이지의 사용 가능한 IAM 역할 아래에서 계정에 CodeCatalyst 추가된 IAM 역할 목록의 역할을 확인합니다. CodeCatalystWorkflowDevelopmentRole-spaceName

  9. 숙소로 돌아가려면 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 IAM 역할을 사용하는 방법 AWS 계정 및 IAM 역할에 대한 자세한 내용은 을 참조하십시오연결된 AWS 리소스에 대한 액세스 허용 AWS 계정.

생성 및 추가하기 CodeCatalyst AWSRoleForCodeCatalystSupport
  1. CodeCatalyst 콘솔에서 시작하기 전에 를 AWS Management Console열고 AWS 계정 스페이스에 동일한 계정으로 로그인했는지 확인하십시오.

  2. CodeCatalyst 스페이스로 이동하세요. 설정을 선택한 다음 AWS 계정를 선택합니다.

  3. 역할을 생성하려는 AWS 계정 위치의 링크를 선택합니다. AWS 계정 세부 정보 페이지가 표시됩니다.

  4. 에서 역할 관리를 선택합니다 AWS Management Console.

    Amazon CodeCatalyst 스페이스에 IAM 역할 추가 페이지가 에서 AWS Management Console열립니다. 아마존 CodeCatalyst 스페이스 페이지입니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.

  5. CodeCatalyst 스페이스 세부 정보에서 CodeCatalyst Support 역할 추가를 선택합니다. 이 옵션은 미리 보기 개발 역할에 대한 권한 정책 및 신뢰 정책을 포함하는 서비스 역할을 생성합니다. 역할에는 고유 식별자가 AWSRoleForCodeCatalystSupport추가된 이름이 지정됩니다. 역할 및 역할 정책에 대한 자세한 내용은 을 참조하십시오AWSRoleForCodeCatalystSupport서비스 역할 이해.

  6. CodeCatalyst Support용 역할 추가 페이지에서 기본값을 선택된 상태로 두고 역할 생성을 선택합니다.

  7. 사용 가능한 IAM 역할에서 계정에 CodeCatalystWorkflowDevelopmentRole-spaceName 추가된 IAM 역할 목록에서 역할을 확인하십시오. CodeCatalyst

  8. 숙소로 돌아가려면 Amazon으로 이동을 선택하십시오 CodeCatalyst.

워크플로우 작업에 대한 IAM 역할 구성 CodeCatalyst

이 섹션에서는 계정에 사용하기 위해 생성할 수 있는 IAM 역할 및 정책을 자세히 설명합니다. CodeCatalyst 예제 역할 생성에 대한 지침은 을 참조하십시오워크플로 작업을 위한 역할을 수동으로 생성. IAM 역할을 생성한 후 역할 ARN을 복사하여 계정 연결에 IAM 역할을 추가하고 프로젝트 환경에 연결합니다. 자세한 내용은 계정 연결에 IAM 역할 추가 섹션을 참조하세요.

CodeCatalyst Amazon S3 액세스를 위한 빌드 역할

CodeCatalyst 워크플로 빌드 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 CodeCatalystBuildRoleforS3Access라는 IAM 역할을 생성할 수 있습니다. 이 역할은 내 리소스에서 AWS CloudFormation 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 정책을 사용합니다. AWS 계정

이 역할은 다음 작업을 수행할 수 있는 권한을 부여합니다.

  • Amazon S3 버킷에 쓰기.

  • 를 통한 자원 구축을 지원합니다 AWS CloudFormation. 이를 위해서는 Amazon S3 액세스가 필요합니다.

이 역할은 다음 정책을 사용합니다.

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:PutObject", "iam:PassRole" ], "Resource": "resource_ARN", "Effect": "Allow" }] }
참고

이 역할을 사용하여 워크플로 작업을 처음 실행할 때는 리소스 정책 설명에 와일드카드를 사용하고 사용 가능한 상태가 되면 리소스 이름을 지정하여 정책의 범위를 좁히십시오.

"Resource": "*"

CodeCatalyst 빌드 역할: AWS CloudFormation

CodeCatalyst 워크플로 빌드 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 내 AWS CloudFormation 리소스에서 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 정책을 사용합니다. AWS 계정

이 역할은 다음 작업을 수행할 수 있는 권한을 부여합니다.

  • 를 통한 자원 구축을 지원합니다 AWS CloudFormation. 이는 Amazon S3 액세스를 위한 CodeCatalyst 빌드 역할 및 CodeCatalyst 배포 역할과 함께 필요합니다 AWS CloudFormation.

이 역할에는 다음과 같은 AWS 관리형 정책을 연결해야 합니다.

  • AWSCloudFormationFullAccess

  • IAM FullAccess

  • 아마존 3 FullAccess

  • 아마존 API GatewayAdministrator

  • AWSLambdaFullAccess

CodeCatalyst CDK를 위한 빌드 역할

모던 3계층 웹 애플리케이션과 같이 CDK 빌드 작업을 실행하는 CodeCatalyst 워크플로의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 필요한 권한이 있는 IAM 역할을 생성할 수 있습니다. 이 역할은 범위 지정 권한이 있는 정책을 사용하며, 이 정책은 해당 리소스에 대해 부트스트랩하고 CDK 빌드 명령을 CodeCatalyst 실행해야 합니다. AWS CloudFormation AWS 계정

이 역할은 다음 작업을 수행할 수 있는 권한을 부여합니다.

  • 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": "*"

CodeCatalyst 역할 배포 대상: AWS CloudFormation

를 사용하는 CodeCatalyst AWS CloudFormation워크플로 배포 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나, 의 AWS CloudFormation 리소스에서 작업을 CodeCatalyst 실행해야 하는 범위 지정 권한이 있는 정책을 사용할 수 있습니다 AWS 계정.

이 역할은 다음을 수행할 수 있는 권한을 부여합니다.

  • 함수를 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": "*"

CodeCatalyst Amazon EC2의 배포 역할

CodeCatalyst 워크플로 배포 작업은 필요한 권한이 있는 IAM 역할을 사용합니다. 이 역할은 사용자의 Amazon EC2 리소스에서 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 정책을 사용합니다. AWS 계정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": "*"

CodeCatalyst Amazon ECS의 배포 역할

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 Lambda CodeCatalyst 배포에 사용할 배포 작업에 대한 IAM 역할을 생성할 수 있습니다. 이 역할은 사용자의 Amazon ECS 리소스에서 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 정책을 사용합니다. AWS 계정

이 역할은 다음을 수행할 수 있는 권한을 부여합니다.

  • 연결에 지정된 계정으로 CodeCatalyst 사용자를 대신하여 롤링 Amazon ECS 배포를 시작합니다. CodeCatalyst

  • 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": "*"

CodeCatalyst Lambda에 대한 배포 역할

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 Lambda CodeCatalyst 배포에 사용할 배포 작업에 대한 IAM 역할을 생성할 수 있습니다. 이 역할은 사용자의 Lambda 리소스에서 작업을 CodeCatalyst 실행해야 하는 범위 지정 권한이 있는 정책을 사용합니다. AWS 계정

이 역할은 다음을 수행할 수 있는 권한을 부여합니다.

  • 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": "*"

CodeCatalyst Lambda에 대한 배포 역할

CodeCatalyst 워크플로 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 필요한 권한이 있는 IAM 역할을 생성할 수 있습니다. 이 역할은 사용자의 Lambda 리소스에서 작업을 CodeCatalyst 실행해야 하는 범위 지정 권한이 있는 정책을 사용합니다. AWS 계정

이 역할은 다음을 수행할 수 있는 권한을 부여합니다.

  • 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": "*"

CodeCatalyst 역할 배포 대상: AWS SAM

CodeCatalyst 워크플로 작업의 경우 기본 CodeCatalystWorkflowDevelopmentRole-spaceName서비스 역할을 사용하거나 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 AWS SAM 정책과 해당 내 AWS CloudFormation 리소스를 사용합니다. AWS 계정

이 역할은 다음 작업을 수행할 수 있는 권한을 부여합니다.

  • Lambda 함수를 CodeCatalyst 호출하여 서버리스 및 CLI 애플리케이션 배포를 수행할 수 있습니다. AWS SAM

  • 에서 스택과 변경 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": "*"

CodeCatalyst Amazon EC2의 읽기 전용 역할

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 사용자의 Amazon EC2 리소스에서 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 정책을 사용합니다. AWS 계정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": "*"

CodeCatalyst Amazon ECS의 읽기 전용 역할

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 사용자의 Amazon ECS 리소스에서 작업을 CodeCatalyst 실행해야 하는 권한 범위가 지정된 정책을 사용합니다. AWS 계정

이 역할은 다음을 수행할 수 있는 권한을 부여합니다.

  • 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": "*"

CodeCatalyst Lambda의 읽기 전용 역할

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 사용자의 Lambda 리소스에서 작업을 CodeCatalyst 실행해야 하는 범위 지정 권한이 있는 정책을 사용합니다. AWS 계정

이 역할은 다음에 대한 권한을 부여합니다.

  • 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에서 이러한 역할을 생성하세요.

배포 역할을 만들려면
  1. 다음과 같이 역할에 대한 정책을 생성합니다.

    1. 로그인 AWS.

    2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    3. 탐색 창에서 정책을 선택합니다.

    4. 정책 생성을 선택합니다.

    5. JSON 탭을 선택합니다.

    6. 기존 코드를 삭제합니다.

    7. 다음 코드를 붙여넣습니다.

      { "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": "*"
    8. 다음: 태그를 선택합니다.

    9. 다음: 검토를 선택합니다.

    10. 이름에 다음을 입력합니다.

      codecatalyst-deploy-policy
    11. 정책 생성(Create policy)을 선택합니다.

      이제 권한 정책을 생성했습니다.

  2. 다음과 같이 배포 역할을 생성합니다.

    1. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

    2. 사용자 지정 신뢰 정책을 선택합니다.

    3. 기존 사용자 지정 신뢰 정책을 삭제합니다.

    4. 다음 사용자 지정 신뢰 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. 다음을 선택합니다.

    6. 권한 정책에서 해당 확인란을 codecatalyst-deploy-policy 검색하여 선택합니다.

    7. 다음을 선택합니다.

    8. 역할 이름에 다음을 입력합니다.

      codecatalyst-deploy-role
    9. 역할 설명에 다음을 입력합니다.

      CodeCatalyst deploy role
    10. 역할 생성을 선택합니다.

    이제 신뢰 정책 및 권한 정책을 사용하여 배포 역할을 생성했습니다.

  3. 다음과 같이 배포 역할 ARN을 확보하십시오.

    1. 탐색 창에서 역할을 선택합니다.

    2. 검색 상자에 방금 생성한 역할의 이름을 입력합니다 (codecatalyst-deploy-role).

    3. 목록에서 역할을 선택합니다.

      역할의 요약 페이지가 나타납니다.

    4. 상단에서 ARN 값을 복사합니다.

    이제 적절한 권한을 가진 배포 역할을 생성하고 해당 ARN을 획득했습니다.

빌드 역할을 만들려면
  1. 다음과 같이 역할에 대한 정책을 생성합니다.

    1. 로그인 AWS.

    2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    3. 탐색 창에서 정책을 선택합니다.

    4. 정책 생성을 선택합니다.

    5. JSON 탭을 선택합니다.

    6. 기존 코드를 삭제합니다.

    7. 다음 코드를 붙여넣습니다.

      { "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:PutObject", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }] }
      참고

      이 역할을 사용하여 워크플로 작업을 처음 실행할 때는 리소스 정책 설명에 와일드카드를 사용하고, 사용 가능한 상태가 되면 리소스 이름을 지정하여 정책의 범위를 좁히십시오.

      "Resource": "*"
    8. 다음: 태그를 선택합니다.

    9. 다음: 검토를 선택합니다.

    10. 이름에 다음을 입력합니다.

      codecatalyst-build-policy
    11. 정책 생성(Create policy)을 선택합니다.

      이제 권한 정책을 생성했습니다.

  2. 다음과 같이 빌드 역할을 생성합니다.

    1. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

    2. 사용자 지정 신뢰 정책을 선택합니다.

    3. 기존 사용자 지정 신뢰 정책을 삭제합니다.

    4. 다음 사용자 지정 신뢰 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. 다음을 선택합니다.

    6. 권한 정책에서 해당 확인란을 codecatalyst-build-policy 검색하여 선택합니다.

    7. 다음을 선택합니다.

    8. 역할 이름에 다음을 입력합니다.

      codecatalyst-build-role
    9. 역할 설명에 다음을 입력합니다.

      CodeCatalyst build role
    10. 역할 생성을 선택합니다.

    이제 신뢰 정책 및 권한 정책을 사용하여 빌드 역할을 만들었습니다.

  3. 다음과 같이 빌드 역할 ARN을 가져옵니다.

    1. 탐색 창에서 역할을 선택합니다.

    2. 검색 상자에 방금 생성한 역할의 이름을 입력합니다 (codecatalyst-build-role).

    3. 목록에서 역할을 선택합니다.

      역할의 요약 페이지가 나타납니다.

    4. 상단에서 ARN 값을 복사합니다.

    이제 적절한 권한이 있는 빌드 역할을 생성하고 해당 ARN을 획득했습니다.

스택 역할을 만들려면
참고

스택 역할을 생성할 필요는 없지만 보안상의 이유로 그렇게 하는 것이 좋습니다. 스택 역할을 생성하지 않는 경우 이 절차에서 자세히 설명하는 권한 정책을 배포 역할에 추가해야 합니다.

  1. 스택을 배포하려는 계정을 AWS 사용하여 로그인합니다.

  2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  3. 탐색 창에서 [Roles] 를 선택한 다음 [Create role] 을 선택합니다.

  4. 상단에서 AWS 서비스를 선택합니다.

  5. 서비스 목록에서 선택합니다 CloudFormation.

  6. 다음: 권한을 선택합니다.

  7. 검색 상자에 스택의 리소스에 액세스하는 데 필요한 정책을 추가합니다. 예를 들어 스택에 AWS Lambda 함수가 포함된 경우 Lambda에 대한 액세스 권한을 부여하는 정책을 추가해야 합니다.

    작은 정보

    어떤 정책을 추가해야 할지 확실하지 않은 경우 지금은 해당 정책을 생략할 수 있습니다. 작업을 테스트할 때 적절한 권한이 없는 경우 추가해야 할 권한을 보여주는 오류가 AWS CloudFormation 발생합니다.

  8. 다음: 태그를 선택합니다.

  9. 다음: 검토를 선택합니다.

  10. 역할 이름에 다음을 입력합니다.

    codecatalyst-stack-role
  11. 역할 생성을 선택합니다.

  12. 스택 역할의 ARN을 가져오려면 다음과 같이 하십시오.

    1. 탐색 창에서 역할을 선택합니다.

    2. 검색 상자에 방금 생성한 역할의 이름 (codecatalyst-stack-role) 을 입력합니다.

    3. 목록에서 역할을 선택합니다.

    4. 요약 페이지에서 역할 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 웹 애플리케이션 블루프린트는 사용자가 생성한 IAM 역할, 즉 CDK용 빌드 역할, 배포 역할, 스택 역할을 사용합니다.

다음 단계에 따라 IAM에서 역할을 생성하세요.

빌드 역할을 만들려면
  1. 다음과 같이 역할에 대한 정책을 생성합니다.

    1. 로그인 AWS.

    2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    3. 탐색 창에서 정책을 선택합니다.

    4. 정책 생성을 선택하세요.

    5. JSON 탭을 선택합니다.

    6. 기존 코드를 삭제합니다.

    7. 다음 코드를 붙여넣습니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*", "ecr:*", "ssm:*", "s3:*", "iam:PassRole", "iam:GetRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "*" } ] }
      참고

      이 역할을 사용하여 워크플로 작업을 처음 실행할 때는 리소스 정책 설명에 와일드카드를 사용하고, 사용 가능한 상태가 되면 리소스 이름을 지정하여 정책의 범위를 좁히십시오.

      "Resource": "*"
    8. 다음: 태그를 선택합니다.

    9. 다음: 검토를 선택합니다.

    10. 이름에 다음을 입력합니다.

      codecatalyst-webapp-build-policy
    11. 정책 생성(Create policy)을 선택합니다.

      이제 권한 정책을 생성했습니다.

  2. 다음과 같이 빌드 역할을 생성합니다.

    1. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

    2. 사용자 지정 신뢰 정책을 선택합니다.

    3. 기존 사용자 지정 신뢰 정책을 삭제합니다.

    4. 다음 사용자 지정 신뢰 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. 다음을 선택합니다.

    6. 권한 정책을 빌드 역할에 연결합니다. 권한 추가 페이지의 권한 정책 섹션에서 해당 확인란을 codecatalyst-webapp-build-policy 검색하여 선택합니다.

    7. 다음을 선택합니다.

    8. 역할 이름에 다음을 입력합니다.

      codecatalyst-webapp-build-role
    9. 역할 설명에 다음을 입력합니다.

      CodeCatalyst Web app build role
    10. 역할 생성을 선택합니다.

    이제 신뢰 정책 및 권한 정책을 사용하여 빌드 역할을 만들었습니다.

  3. 다음과 같이 권한 정책을 빌드 역할에 연결합니다.

    1. 탐색 창에서 역할을 선택한 다음 codecatalyst-webapp-build-role 검색합니다.

    2. 세부 정보를 codecatalyst-webapp-build-role 표시하도록 선택합니다.

    3. [권한] 탭에서 [권한 추가] 를 선택한 다음 [정책 연결] 을 선택합니다.

    4. 정책을 검색하고 codecatalyst-webapp-build-policy 해당 확인란을 선택한 다음 정책 연결을 선택합니다.

      이제 권한 정책을 빌드 역할에 연결했습니다. 이제 빌드 역할에는 권한 정책과 신뢰 정책이라는 두 가지 정책이 있습니다.

  4. 다음과 같이 빌드 역할 ARN을 가져옵니다.

    1. 탐색 창에서 역할을 선택합니다.

    2. 검색 상자에 방금 생성한 역할의 이름을 입력합니다 (codecatalyst-webapp-build-role).

    3. 목록에서 역할을 선택합니다.

      역할의 요약 페이지가 나타납니다.

    4. 상단에서 ARN 값을 복사합니다.

    이제 적절한 권한이 있는 빌드 역할을 생성하고 해당 ARN을 획득했습니다.

SAM 블루프린트의 역할을 수동으로 생성

CodeCatalyst SAM 블루프린트는 사용자가 생성한 IAM 역할을 사용합니다. 이 역할을 SAM의 빌드 CloudFormation 역할과 배포 역할이라고 합니다.

다음 단계에 따라 IAM에서 역할을 생성하세요.

에 대한 빌드 역할을 만들려면 CloudFormation
  1. 다음과 같이 역할에 대한 정책을 생성합니다.

    1. 로그인 AWS.

    2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    3. 탐색 창에서 정책을 선택합니다.

    4. 정책 생성을 선택하세요.

    5. JSON 탭을 선택합니다.

    6. 기존 코드를 삭제합니다.

    7. 다음 코드를 붙여넣습니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*", "cloudformation:*" ], "Resource": "*" } ] }
      참고

      이 역할을 사용하여 워크플로 작업을 처음 실행할 때는 리소스 정책 설명에 와일드카드를 사용하고, 사용 가능한 상태가 되면 리소스 이름을 지정하여 정책의 범위를 좁히십시오.

      "Resource": "*"
    8. 다음: 태그를 선택합니다.

    9. 다음: 검토를 선택합니다.

    10. 이름에 다음을 입력합니다.

      codecatalyst-SAM-build-policy
    11. 정책 생성(Create policy)을 선택합니다.

      이제 권한 정책을 생성했습니다.

  2. 다음과 같이 빌드 역할을 생성합니다.

    1. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

    2. 사용자 지정 신뢰 정책을 선택합니다.

    3. 기존 사용자 지정 신뢰 정책을 삭제합니다.

    4. 다음 사용자 지정 신뢰 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. 다음을 선택합니다.

    6. 권한 정책을 빌드 역할에 연결합니다. 권한 추가 페이지의 권한 정책 섹션에서 해당 확인란을 codecatalyst-SAM-build-policy 검색하여 선택합니다.

    7. 다음을 선택합니다.

    8. 역할 이름에 다음을 입력합니다.

      codecatalyst-SAM-build-role
    9. 역할 설명에 다음을 입력합니다.

      CodeCatalyst SAM build role
    10. 역할 생성을 선택합니다.

    이제 신뢰 정책 및 권한 정책을 사용하여 빌드 역할을 만들었습니다.

  3. 다음과 같이 권한 정책을 빌드 역할에 연결합니다.

    1. 탐색 창에서 역할을 선택한 다음 codecatalyst-SAM-build-role 검색합니다.

    2. 세부 정보를 codecatalyst-SAM-build-role 표시하도록 선택합니다.

    3. [권한] 탭에서 [권한 추가] 를 선택한 다음 [정책 연결] 을 선택합니다.

    4. 정책을 검색하고 codecatalyst-SAM-build-policy 해당 확인란을 선택한 다음 정책 연결을 선택합니다.

      이제 권한 정책을 빌드 역할에 연결했습니다. 이제 빌드 역할에는 권한 정책과 신뢰 정책이라는 두 가지 정책이 있습니다.

  4. 다음과 같이 빌드 역할 ARN을 가져옵니다.

    1. 탐색 창에서 역할을 선택합니다.

    2. 검색 상자에 방금 생성한 역할의 이름을 입력합니다 (codecatalyst-SAM-build-role).

    3. 목록에서 역할을 선택합니다.

      역할의 요약 페이지가 나타납니다.

    4. 상단에서 ARN 값을 복사합니다.

    이제 적절한 권한이 있는 빌드 역할을 생성하고 해당 ARN을 획득했습니다.

SAM용 배포 역할을 만들려면
  1. 다음과 같이 역할에 대한 정책을 생성합니다.

    1. 로그인 AWS.

    2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    3. 탐색 창에서 정책을 선택합니다.

    4. 정책 생성을 선택하세요.

    5. JSON 탭을 선택합니다.

    6. 기존 코드를 삭제합니다.

    7. 다음 코드를 붙여넣습니다.

      { "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": "*"
    8. 다음: 태그를 선택합니다.

    9. 다음: 검토를 선택합니다.

    10. 이름에 다음을 입력합니다.

      codecatalyst-SAM-deploy-policy
    11. 정책 생성(Create policy)을 선택합니다.

      이제 권한 정책을 생성했습니다.

  2. 다음과 같이 빌드 역할을 생성합니다.

    1. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

    2. 사용자 지정 신뢰 정책을 선택합니다.

    3. 기존 사용자 지정 신뢰 정책을 삭제합니다.

    4. 다음 사용자 지정 신뢰 정책을 추가합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. 다음을 선택합니다.

    6. 권한 정책을 빌드 역할에 연결합니다. 권한 추가 페이지의 권한 정책 섹션에서 해당 확인란을 codecatalyst-SAM-deploy-policy 검색하여 선택합니다.

    7. 다음을 선택합니다.

    8. 역할 이름에 다음을 입력합니다.

      codecatalyst-SAM-deploy-role
    9. 역할 설명에 다음을 입력합니다.

      CodeCatalyst SAM deploy role
    10. 역할 생성을 선택합니다.

    이제 신뢰 정책 및 권한 정책을 사용하여 빌드 역할을 만들었습니다.

  3. 다음과 같이 권한 정책을 빌드 역할에 연결합니다.

    1. 탐색 창에서 역할을 선택한 다음 codecatalyst-SAM-deploy-role 검색합니다.

    2. 세부 정보를 codecatalyst-SAM-deploy-role 표시하도록 선택합니다.

    3. [권한] 탭에서 [권한 추가] 를 선택한 다음 [정책 연결] 을 선택합니다.

    4. 정책을 검색하고 codecatalyst-SAM-deploy-policy 해당 확인란을 선택한 다음 정책 연결을 선택합니다.

      이제 권한 정책을 빌드 역할에 연결했습니다. 이제 빌드 역할에는 권한 정책과 신뢰 정책이라는 두 가지 정책이 있습니다.

  4. 다음과 같이 빌드 역할 ARN을 가져옵니다.

    1. 탐색 창에서 역할을 선택합니다.

    2. 검색 상자에 방금 생성한 역할의 이름을 입력합니다 (codecatalyst-SAM-deploy-role).

    3. 목록에서 역할을 선택합니다.

      역할의 요약 페이지가 나타납니다.

    4. 상단에서 ARN 값을 복사합니다.

    이제 적절한 권한이 있는 빌드 역할을 생성하고 해당 ARN을 획득했습니다.