View a markdown version of this page

AWS verwaltete (vordefinierte) Richtlinien für CodeDeploy - AWS CodeDeploy

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS verwaltete (vordefinierte) Richtlinien für CodeDeploy

AWS deckt viele gängige Anwendungsfälle ab, indem eigenständige IAM-Richtlinien bereitgestellt werden, die von erstellt und verwaltet AWS werden. Diese AWS verwalteten Richtlinien gewähren Berechtigungen für häufige Anwendungsfälle, sodass Sie nicht erst untersuchen müssen, welche Berechtigungen erforderlich sind. Weitere Informationen finden Sie unter Von AWS verwaltete Richtlinien im IAM-Benutzerhandbuch.

Liste von AWS verwaltete Richtlinien für CodeDeploy

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto zuordnen können, sind spezifisch für CodeDeploy:

  • AWSCodeDeployFullAccess: Gewährt uneingeschränkten Zugriff auf CodeDeploy.

    Anmerkung

    AWSCodeDeployFullAccess gewährt keine Berechtigungen für Operationen in anderen Diensten, die für die Bereitstellung Ihrer Anwendungen erforderlich sind, wie Amazon EC2 und Amazon S3, sondern nur für spezifische Operationen. CodeDeploy

  • AWSCodeDeployDeployerAccess: Erteilt die Erlaubnis, Revisionen zu registrieren und bereitzustellen.

     

  • AWSCodeDeployReadOnlyAccess: Gewährt schreibgeschützten Zugriff auf CodeDeploy.

     

  • AWSCodeDeployRole: Erlaubt CodeDeploy :

    • lesen Sie die Tags auf Ihren Instances oder identifizieren Sie Ihre Amazon EC2-Instances anhand der Amazon EC2 Auto Scaling-Gruppennamen

    • Amazon EC2 Auto Scaling-Gruppen, Lifecycle-Hooks, Skalierungsrichtlinien und Warm-Pool-Funktionen lesen, erstellen, aktualisieren und löschen

    • Informationen zu Amazon SNS-Themen veröffentlichen

    • Informationen über CloudWatch Amazon-Alarme abrufen

    • Ressourcen im Elastic Load Balancing-Service lesen und aktualisieren

    Die Richtlinie enthält den folgenden Code:

    JSON
    { "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 Erteilt Zugriffsberechtigungen AWS Lambda und alle anderen Ressourcen, die für eine Bereitstellung erforderlich sind.

     

  • AWSCodeDeployRoleForECS: CodeDeploy Erteilt die Erlaubnis, auf Amazon ECS und alle anderen Ressourcen zuzugreifen, die für eine Bereitstellung erforderlich sind.

     

  • AWSCodeDeployRoleForECSLimited: CodeDeploy Erteilt die Erlaubnis zum Zugriff auf Amazon ECS und alle anderen Ressourcen, die für eine Bereitstellung erforderlich sind, mit den folgenden Ausnahmen:

    • Im hooks Abschnitt der AppSpec Datei CodeDeployHook_ können nur Lambda-Funktionen verwendet werden, deren Namen mit beginnen. Weitere Informationen finden Sie unter AppSpec Abschnitt „Hooks“ für eine Amazon ECS-Bereitstellung.

    • S3-Bucket-Zugriff ist auf S3-Buckets mit dem Registrierungs-Tag UseWithCodeDeploy beschränkt, für das der Wert true festgelegt ist. Weitere Informationen finden Sie unter Objektkennzeichnung.

  • AmazonEC2RoleforAWSCodeDeployLimited: CodeDeploy Erteilt die Erlaubnis, Objekte in einem CodeDeploy Amazon S3-Bucket abzurufen und aufzulisten. Die Richtlinie enthält den folgenden Code:

    JSON
    { "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" } } } ] }

Berechtigungen für einige Aspekte des Bereitstellungsprozesses werden zwei anderen Rollentypen gewährt, die im Namen von folgenden Personen handeln CodeDeploy:

  • Ein IAM-Instance-Profil ist eine IAM-Rolle, die Sie Ihren Amazon EC2-Instances zuordnen. Dieses Profil umfasst die Berechtigungen, die für den Zugriff auf die Amazon S3-Buckets oder GitHub Repositorys erforderlich sind, in denen die Anwendungen gespeichert sind. Weitere Informationen finden Sie unter Schritt 4: Erstellen Sie ein IAM-Instance-Profil für Ihre Amazon EC2 EC2-Instances.

  • Eine Servicerolle ist eine IAM-Rolle, die einem AWS Service Berechtigungen erteilt, damit dieser auf Ressourcen zugreifen kann. AWS Die Richtlinien, die Sie der Servicerolle zuordnen, bestimmen, auf welche AWS Ressourcen der Service zugreifen kann und welche Aktionen er mit diesen Ressourcen ausführen kann. Denn CodeDeploy eine Servicerolle wird für Folgendes verwendet:

    • Um entweder die auf die Instances angewendeten Tags oder die Amazon EC2 Auto Scaling-Gruppennamen zu lesen, die den Instances zugeordnet sind. Auf diese Weise können CodeDeploy Instances identifiziert werden, für die Anwendungen bereitgestellt werden können.

    • Zur Durchführung von Vorgängen auf Instances, Amazon EC2 Auto Scaling-Gruppen und Elastic Load Balancing-Load Balancing-Load Balancing-Load Balancern.

    • Um Informationen in Amazon SNS-Themen zu veröffentlichen, sodass Benachrichtigungen gesendet werden können, wenn bestimmte Bereitstellungs- oder Instance-Ereignisse eintreten.

    • Um Informationen über CloudWatch Alarme abzurufen, um die Alarmüberwachung für Bereitstellungen einzurichten.

    Weitere Informationen finden Sie unter Schritt 2: Erstellen Sie eine Servicerolle für CodeDeploy.

Sie können auch benutzerdefinierte IAM-Richtlinien erstellen, um Berechtigungen für CodeDeploy Aktionen und Ressourcen zu gewähren. Sie hängen diese benutzerdefinierten Richtlinien an IAM-Rollen an und weisen die Rollen dann Benutzern oder Gruppen zu, die die Berechtigungen benötigen.

CodeDeploy verwaltete Richtlinien und Benachrichtigungen

CodeDeploy unterstützt Benachrichtigungen, um Benutzer auf wichtige Änderungen an Bereitstellungen aufmerksam zu machen. Zu den verwalteten Richtlinien für CodeDeploy gehören Richtlinienerklärungen für die Benachrichtigungsfunktion. Weitere Informationen finden Sie unter Was sind Benachrichtigungen?.

Berechtigungen für Benachrichtigungen in verwalteten Richtlinien mit vollem Zugriff

Die von AWSCodeDeployFullAccess verwaltete Richtlinie enthält die folgenden Anweisungen, um den vollständigen Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer, auf die diese verwaltete Richtlinie angewendet wird, können auch Amazon SNS-Themen für Benachrichtigungen erstellen und verwalten, Benutzer für Themen abonnieren und abmelden und Themen auflisten, die sie als Ziele für Benachrichtigungsregeln auswählen können.

{ "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" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }

Berechtigungen für Benachrichtigungen in verwalteten Richtlinien mit Lesezugriff

Die verwaltete Richtlinie AWSCodeDeployReadOnlyAccess enthält die folgenden Anweisungen, um schreibgeschützten Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer mit dieser verwalteten Richtlinie können Benachrichtigungen für Ressourcen anzeigen, sie können sie jedoch nicht erstellen, verwalten oder abonnieren.

{ "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": "*" }

Berechtigungen für Benachrichtigungen in anderen verwalteten Richtlinien

Die AWSCodeDeployDeployerAccess verwaltete Richtlinie enthält die folgenden Anweisungen, die es Benutzern ermöglichen, Benachrichtigungen für Ressourcen zu erstellen, zu aktualisieren, zu abonnieren und anzuzeigen, sie jedoch nicht zu löschen. Benutzer, für die diese verwaltete Richtlinie gilt, können auch Amazon SNS-Themen für Benachrichtigungen erstellen und verwalten.

Diese Richtlinie umfasst die folgenden Berechtigungen:

  • codestar-notifications:CreateNotificationRule— Ermöglicht es Prinzipalen, Benachrichtigungen zu erstellen.

  • codestar-notifications:DescribeNotificationRule— Ermöglicht es Prinzipalen, Informationen über Benachrichtigungen abzurufen.

  • codestar-notifications:UpdateNotificationRule— Ermöglicht es Prinzipalen, Benachrichtigungen zu aktualisieren.

  • codestar-notifications:Subscribe— Ermöglicht es Schulleitern, Benachrichtigungen zu abonnieren.

  • codestar-notifications:Unsubscribe— Ermöglicht es Schulleitern, Benachrichtigungen abzubestellen.

  • codestar-notifications:ListNotificationRules— Ermöglicht es Prinzipalen, die Liste der Benachrichtigungsregeln abzurufen.

  • codestar-notifications:ListTargets— Ermöglicht es Prinzipalen, die Liste der Ziele abzurufen.

  • codestar-notifications:ListTagsforResource— Ermöglicht Prinzipalen das Abrufen der Tag-Liste.

  • codestar-notifications:ListEventTypes— Ermöglicht es Prinzipalen, die Liste der Ereignistypen abzurufen.

  • chatbot:DescribeSlackChannelConfiguration— Ermöglicht Principals, Informationen über die Konfigurationen des Slack-Kanals abzurufen.

  • sns:ListTopics— Ermöglicht es Schulleitern, die Liste der Amazon SNS-Themen für Benachrichtigungen abzurufen.

{ "Sid" : "CodeStarNotificationsReadWriteAccess", "Effect" : "Allow", "Action" : [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "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", "codestar-notifications:ListEventTypes" ], "Resource" : "*" }, { "Sid" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid" : "SNSTopicListAccess", "Effect" : "Allow", "Action" : [ "sns:ListTopics" ], "Resource" : "*" }

Weitere Informationen finden Sie unter Identitäts- und Zugriffsmanagement für CodeStar AWS-Benachrichtigungen.