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:准許 CodeDeploy存取 AWS Lambda 和部署所需的任何其他資源。

     

  • AWSCodeDeployRoleForECS: CodeDeploy 准許存取部署所需的 Amazon ECS和任何其他資源。

     

  • AWSCodeDeployRoleForECSLimited:准許 CodeDeploy存取 部署所需的 Amazon 和ECS任何其他資源,但有下列例外:

    • 在 AppSpec 檔案的 hooks區段中,只能CodeDeployHook_使用名稱開頭為 的 Lambda 函數。如需詳細資訊,請參閱AppSpec Amazon ECS 部署的 'hooks' 區段

    • S3 儲存貯體的存取權限制為具有註冊標籤 UseWithCodeDeploy 且值為 true 的 S3 儲存貯體。如需詳細資訊,請參閱 物件標記

  • AmazonEC2RoleforAWSCodeDeployLimited: CodeDeploy 准許取得和列出 CodeDeploy Amazon S3 儲存貯體中的物件。政策包含下列程式碼:

    { "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 服務許可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主題,以接收通知、訂閱和取消訂閱使用者、列出要選擇作為通知規則目標的主題,以及列出 AWS Chatbot 為 Slack 設定的用戶端。

{ "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和 通知的詳細資訊,請參閱 的 Identity and Access Management AWS CodeStar 通知