AWS 에 대한 관리형(미리 정의) 정책 CodeDeploy - AWS CodeDeploy

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

AWS 에 대한 관리형(미리 정의) 정책 CodeDeploy

AWS 는에서 생성 및 관리하는 독립 실행형 IAM 정책을 제공하여 많은 일반적인 사용 사례를 처리합니다 AWS. 이러한 AWS관리형 정책은 일반적인 사용 사례에 대한 권한을 부여하므로 필요한 권한을 조사할 필요가 없습니다. 자세한 내용은 IAM사용 설명서AWS 관리형 정책을 참조하세요.

에 대한 AWS 관리형 정책 목록 CodeDeploy

계정의 사용자에게 연결할 수 있는 다음 AWS 관리형 정책은 다음과 같습니다. CodeDeploy

  • AWSCodeDeployFullAccess: CodeDeploy에 대한 모든 액세스 권한을 부여합니다.

    참고

    AWSCodeDeployFullAccess는 특정 작업에만 Amazon EC2 및 Amazon S3와 같은 애플리케이션을 배포하는 데 필요한 다른 서비스의 작업에 대한 권한을 제공하지 않습니다 CodeDeploy.

  • AWSCodeDeployDeployerAccess: 개정 버전을 등록 및 배포할 수 있는 권한을 부여합니다.

     

  • AWSCodeDeployReadOnlyAccess: CodeDeploy에 대한 읽기 전용 액세스 권한을 부여합니다.

     

  • AWSCodeDeployRole:에서 다음을 수행할 CodeDeploy 수 있습니다.

    • 인스턴스의 태그를 읽거나 Amazon EC2 Auto Scaling 그룹 이름으로 Amazon EC2 인스턴스를 식별합니다.

    • Amazon EC2 Auto Scaling 그룹, 수명 주기 후크, 조정 정책 및 웜 풀 기능 읽기, 생성, 업데이트 및 삭제

    • Amazon SNS 주제에 정보 게시

    • Amazon 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:CreateOrUpdateTags", "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:DescribeScalingActivities", "autoscaling:DeleteAutoScalingGroup", "autoscaling:PutWarmPool", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:TerminateInstances", "tag:GetResources", "sns:Publish", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets" ], "Resource": "*" } ] }

     

  • AWSCodeDeployRoleForLambda: 배포에 필요한 AWS Lambda 및 기타 리소스에 액세스할 수 있는 권한을 부여합니다 CodeDeploy.

     

  • AWSCodeDeployRoleForECS: 배포에 필요한 Amazon ECS 및 기타 리소스에 액세스할 수 있는 CodeDeploy 권한을 부여합니다.

     

  • AWSCodeDeployRoleForECSLimited: 다음 예외를 CodeDeploy 제외하고 배포에 필요한 Amazon ECS 및 기타 리소스에 액세스할 수 있는 권한을 부여합니다.

    • AppSpec 파일의 hooks 섹션에서 이름이 로 시작하는 Lambda 함수만 사용할 CodeDeployHook_ 수 있습니다. 자세한 내용은 AppSpec Amazon ECS 배포의 '후크' 섹션 단원을 참조하십시오.

    • S3 버킷 액세스는 값이 true인 등록 태그 UseWithCodeDeploy가 있는 S3 버킷으로 제한됩니다. 자세한 내용은 객체 태그 지정을 참조하세요.

  • AmazonEC2RoleforAWSCodeDeployLimited: CodeDeploy Amazon S3 버킷에서 객체를 가져오고 나열할 수 있는 CodeDeploy 권한을 부여합니다. 정책에는 다음 코드가 포함됩니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*/CodeDeploy/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } } } ] }

배포 프로세스의 일부 측면에 대한 권한은 CodeDeploy다음 두 가지 다른 역할 유형에 부여됩니다.

  • IAM 인스턴스 프로파일은 Amazon EC2 인스턴스에 연결하는 IAM 역할입니다. 이 프로파일에는 애플리케이션이 저장된 Amazon S3 버킷 또는 GitHub 리포지토리에 액세스하는 데 필요한 권한이 포함됩니다. 자세한 내용은 4단계: Amazon IAM 인스턴스의 EC2 인스턴스 프로파일 생성 단원을 참조하십시오.

  • 서비스 역할은 AWS 리소스에 액세스할 수 있도록 AWS 서비스에 권한을 부여하는 IAM 역할입니다. 서비스 역할에 연결하는 정책에 따라 서비스가 액세스할 수 있는 AWS 리소스와 해당 리소스로 수행할 수 있는 작업이 결정됩니다. CodeDeploy의 경우 서비스 역할은 다음에 사용됩니다.

    • 인스턴스에 적용된 태그 또는 인스턴스와 연결된 Amazon EC2 Auto Scaling 그룹 이름을 읽습니다. 이렇게 하면 CodeDeploy 가 애플리케이션을 배포할 수 있는 인스턴스를 식별할 수 있습니다.

    • 인스턴스, Amazon EC2 Auto Scaling 그룹 및 Elastic Load Balancing 로드 밸런서에 대한 작업을 수행하려면

    • 지정된 배포 또는 인스턴스 이벤트가 발생할 때 알림을 보낼 수 있도록 Amazon SNS 주제에 정보를 게시합니다.

    • CloudWatch 경보에 대한 정보를 검색하여 배포에 대한 경보 모니터링을 설정합니다.

    자세한 내용은 2단계: 서비스 역할 만들기 CodeDeploy 단원을 참조하십시오.

사용자 지정 IAM 정책을 생성하여 CodeDeploy 작업 및 리소스에 대한 권한을 부여할 수도 있습니다. 이러한 사용자 지정 정책을 IAM 역할에 연결한 다음 권한이 필요한 사용자 또는 그룹에 역할을 할당합니다.

CodeDeploy 관리형 정책 및 알림

CodeDeploy 는 사용자에게 배포에 대한 중요한 변경 사항을 알리는 알림을 지원합니다. 에 대한 관리형 정책에는 알림 기능에 대한 정책 설명이 CodeDeploy 포함됩니다. 자세한 내용은 알림이란 무엇입니까?를 참조하세요.

전체 액세스 관리형 정책의 알림에 대한 권한

AWSCodeDeployFullAccess 관리형 정책에는 알림에 대한 전체 액세스를 허용하는 다음 설명이 포함되어 있습니다. 이 관리형 정책이 적용된 사용자는 알림을 위한 Amazon SNS 주제를 생성 및 관리하고, 사용자를 주제로 구독 및 구독 취소하고, 알림 규칙의 대상으로 선택할 주제를 나열할 수도 있습니다.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }

읽기 전용 관리형 정책의 알림에 대한 권한

AWSCodeDeployReadOnlyAccess 관리형 정책에는 알림에 대한 읽기 전용 액세스를 허용하는 다음 설명이 포함되어 있습니다. 이 관리형 정책이 적용된 사용자는 리소스에 대한 알림을 볼 수 있지만 리소스를 생성, 관리 또는 구독할 수는 없습니다.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules" ], "Resource": "*" }

자세한 내용은 AWS CodeStar 알림의 자격 증명 및 액세스 관리를 참조하세요.