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: Amazon ECS 및 배포에 필요한 기타 리소스에 액세스할 수 있는 CodeDeploy 권한을 부여합니다. 단, 다음과 같은 경우는 예외입니다.

    • AppSpec 파일 hooks 섹션에서는 로 시작하는 CodeDeployHook_ 이름을 가진 Lambda 함수만 사용할 수 있습니다. 자세한 설명은 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 EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기 섹션을 참조하세요.

  • 서비스 역할은 서비스에 권한을 부여하여 리소스에 액세스할 수 있도록 하는 AWS IAM 역할입니다. AWS 서비스 역할에 연결하는 정책에 따라 서비스가 액세스할 수 있는 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 주제를 생성 및 관리하고, 주제에 대해 사용자를 구독 및 구독 취소하고, 알림 규칙의 대상으로 선택할 주제를 나열하고, Slack에 대해 구성된  AWS Chatbot  클라이언트를 나열할 수 있습니다.

{ "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" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }

읽기 전용 관리형 정책의 알림과 관련된 권한

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

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

IAM 및 알림에 대한 자세한 내용은 AWS CodeStar 알림의 Identity and Access Management를 참조하세요.