Zugriff auf AWS Projektressourcen mit IAM-Rollen gewähren - Amazon CodeCatalyst

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.

Zugriff auf AWS Projektressourcen mit IAM-Rollen gewähren

CodeCatalyst kann auf AWS Ressourcen zugreifen, indem Sie Ihre AWS-Konto mit einem CodeCatalyst Bereich verbinden. Sie können dann die folgenden Servicerollen erstellen und sie zuordnen, wenn Sie Ihr Konto verbinden.

Weitere Informationen zu den Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie unter IAM JSON Policy Elements Reference im IAM-Benutzerhandbuch.

  • Um auf Ressourcen in Ihren CodeCatalyst Projekten und Workflows zugreifen zu können, müssen Sie zunächst die Erlaubnis erteilen, in Ihrem Namen auf diese Ressourcen zuzugreifen. AWS-Konto CodeCatalyst Dazu müssen Sie eine Servicerolle in einem verbundenen Bereich erstellen AWS-Konto , die im Namen von Benutzern und Projekten in dem Bereich übernommen werden CodeCatalyst kann. Sie können entweder die CodeCatalystWorkflowDevelopmentRole-spaceNameServicerolle erstellen und verwenden, oder Sie können benutzerdefinierte Servicerollen erstellen und diese IAM-Richtlinien und -Rollen manuell konfigurieren. Es hat sich bewährt, diesen Rollen die geringste Anzahl an erforderlichen Berechtigungen zuzuweisen.

    Anmerkung

    Für benutzerdefinierte Servicerollen ist der CodeCatalyst Dienstprinzipal erforderlich. Weitere Informationen zum CodeCatalyst Dienstprinzipal und zum Vertrauensmodell finden Sie unterDas CodeCatalyst Vertrauensmodell verstehen.

  • Um den Support für einen Bereich über Connected zu verwalten AWS-Konto, können Sie die AWSRoleForCodeCatalystSupportServicerolle erstellen und verwenden, mit der CodeCatalyst Benutzer auf Support zugreifen können. Weitere Informationen zur Unterstützung für einen CodeCatalyst Bereich finden Sie unterAWS Supportfür Amazon CodeCatalyst.

Grundlegendes zur CodeCatalystWorkflowDevelopmentRole-spaceNameServicerolle

Sie können eine IAM-Rolle für Ihren Bereich hinzufügen, mit der Sie Ressourcen in einem verbundenen AWS-Konto Bereich erstellen und darauf zugreifen CodeCatalyst können. Dies wird als Servicerolle bezeichnet. Die einfachste Methode, eine Servicerolle zu erstellen, besteht darin, beim Erstellen des Bereichs eine hinzuzufügen und die CodeCatalystWorkflowDevelopmentRole-spaceNameOption für diese Rolle auszuwählen. Dadurch wird nicht nur die Servicerolle mit der AdministratorAccess angehängten Rolle erstellt, sondern es wird auch die Vertrauensrichtlinie erstellt, die es ermöglicht, die Rolle im Namen von Benutzern in Projekten im Bereich CodeCatalyst zu übernehmen. Die Servicerolle ist auf den Bereich beschränkt, nicht auf einzelne Projekte. Informationen zum Erstellen dieser Rolle finden Sie unter Die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle für Ihr Konto und Ihren Bereich erstellen. Sie können für jeden Bereich in jedem Konto nur eine Rolle erstellen.

Anmerkung

Diese Rolle wird nur für Entwicklerkonten empfohlen und verwendet die AdministratorAccess AWS verwaltete Richtlinie, sodass sie vollen Zugriff hat, um darin neue Richtlinien und Ressourcen zu erstellen AWS-Konto.

Die der CodeCatalystWorkflowDevelopmentRole-spaceNameRolle zugeordnete Richtlinie ist so konzipiert, dass sie mit Projekten funktioniert, die anhand von Plänen im Bereich erstellt wurden. Sie ermöglicht es Benutzern in diesen Projekten, Code mithilfe von Ressourcen im verbundenen AWS-Konto Bereich zu entwickeln, zu erstellen, zu testen und bereitzustellen. Weitere Informationen finden Sie unter Eine Rolle für einen AWS Dienst erstellen.

Die der CodeCatalystWorkflowDevelopmentRole-spaceNameRolle zugeordnete Richtlinie ist die AdministratorAccess verwaltete Richtlinie in AWS. Diese Richtlinie gewährt vollen Zugriff auf alle AWS Aktionen und Ressourcen. Informationen zum JSON-Richtliniendokument in der IAM-Konsole finden Sie unter AdministratorAccess.

Die folgende Vertrauensrichtlinie ermöglicht es CodeCatalyst , die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle zu übernehmen. Weitere Informationen zum CodeCatalyst Vertrauensmodell finden Sie unterDas CodeCatalyst Vertrauensmodell verstehen.

"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/*" } } } ]

Die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle für Ihr Konto und Ihren Bereich erstellen

Gehen Sie wie folgt vor, um die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle zu erstellen, die für Workflows in Ihrem Bereich verwendet wird. Für jedes Konto, für das Sie IAM-Rollen zur Verwendung in Projekten haben möchten, müssen Sie Ihrem Bereich eine Rolle hinzufügen, z. B. die Entwicklerrolle.

Bevor Sie beginnen, müssen Sie über Administratorrechte verfügen AWS-Konto oder in der Lage sein, mit Ihrem Administrator zusammenzuarbeiten. Weitere Informationen zur Verwendung von IAM-Rollen in finden Sie CodeCatalyst unterErmöglichen des Zugriffs auf AWS Ressourcen mit verbundenen AWS-Konten. AWS-Konten

Um das zu erstellen und hinzuzufügen CodeCatalyst CodeCatalystWorkflowDevelopmentRole-spaceName
  1. Bevor Sie in der CodeCatalyst Konsole beginnen, öffnen Sie die AWS Management Console, und stellen Sie dann sicher, dass Sie mit derselben AWS-Konto für Ihren Bereich angemeldet sind.

  2. Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/.

  3. Navigiere zu deinem CodeCatalyst Bereich. Wählen Sie Settings (Einstellungen) und anschließend AWS-Konten aus.

  4. Wählen Sie den Link für den AWS-Konto Ort aus, an dem Sie die Rolle erstellen möchten. Die AWS-Konto Detailseite wird angezeigt.

  5. Wählen Sie Rollen verwalten von AWS Management Console.

    Die Seite „IAM-Rolle zu Amazon CodeCatalyst Space hinzufügen“ wird in der AWS Management Console geöffnet. Dies ist die Amazon CodeCatalyst Spaces-Seite. Möglicherweise müssen Sie sich anmelden, um auf die Seite zuzugreifen.

  6. Wählen Sie in IAM die Option CodeCatalyst Entwicklungsadministratorrolle erstellen aus. Mit dieser Option wird eine Servicerolle erstellt, die die Berechtigungsrichtlinie und die Vertrauensrichtlinie für die Entwicklungsrolle enthält. Die Rolle wird einen Namen habenCodeCatalystWorkflowDevelopmentRole-spaceName. Weitere Informationen zur Rolle und zur Rollenrichtlinie finden Sie unterGrundlegendes zur CodeCatalystWorkflowDevelopmentRole-spaceNameServicerolle.

    Anmerkung

    Diese Rolle wird nur für die Verwendung mit Entwicklerkonten empfohlen. Sie verwendet die AdministratorAccess AWS verwaltete Richtlinie, sodass sie vollen Zugriff hat, um darin neue Richtlinien und Ressourcen zu erstellen AWS-Konto.

  7. Wählen Sie Entwicklungsrolle erstellen aus.

  8. Sehen Sie sich auf der Verbindungsseite unter Verfügbare IAM-Rollen die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle in der Liste der IAM-Rollen an CodeCatalyst, die Ihrem Konto hinzugefügt wurden.

  9. Um zu Ihrem Bereich zurückzukehren, wählen Sie Gehe zu Amazon CodeCatalyst.

Die AWSRoleForCodeCatalystSupportServicerolle verstehen

Sie können Ihrem Bereich eine IAM-Rolle hinzufügen, mit der CodeCatalyst Benutzer in einem Bereich Supportanfragen erstellen und darauf zugreifen können. Dies wird als Servicerolle für den Support bezeichnet. Die einfachste Methode, eine Servicerolle für den Support zu erstellen, besteht darin, bei der Erstellung des Bereichs eine weitere hinzuzufügen und die AWSRoleForCodeCatalystSupport Option für diese Rolle auszuwählen. Dadurch werden nicht nur die Richtlinie und die Rolle erstellt, sondern auch die Vertrauensrichtlinie, die es ermöglicht, die Rolle im Namen von Benutzern in Projekten im Bereich CodeCatalyst zu übernehmen. Die Servicerolle ist auf den Bereich beschränkt, nicht auf einzelne Projekte. Informationen zum Erstellen dieser Rolle finden Sie unter Die AWSRoleForCodeCatalystSupportRolle für Ihr Konto und Ihren Bereich erstellen.

Bei der der AWSRoleForCodeCatalystSupport Rolle zugewiesenen Richtlinie handelt es sich um eine verwaltete Richtlinie, die Zugriff auf Supportberechtigungen gewährt. Weitere Informationen finden Sie unter AWS verwaltete Richtlinie: AmazonCodeCatalystSupportAccess.

Die Vertrauensrolle für die Richtlinie ermöglicht es CodeCatalyst , die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "codecatalyst.amazonaws.com", "codecatalyst-runner.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Die AWSRoleForCodeCatalystSupportRolle für Ihr Konto und Ihren Bereich erstellen

Gehen Sie wie folgt vor, um die AWSRoleForCodeCatalystSupport Rolle zu erstellen, die für Supportanfragen in Ihrem Bereich verwendet wird. Die Rolle muss dem angegebenen Rechnungskonto für den Bereich hinzugefügt werden.

Bevor Sie beginnen, müssen Sie über Administratorrechte verfügen AWS-Konto oder in der Lage sein, mit Ihrem Administrator zusammenzuarbeiten. Weitere Informationen zur Verwendung von IAM-Rollen in finden Sie CodeCatalyst unterErmöglichen des Zugriffs auf AWS Ressourcen mit verbundenen AWS-Konten. AWS-Konten

Um das zu erstellen und hinzuzufügen CodeCatalyst AWSRoleForCodeCatalystSupport
  1. Bevor Sie in der CodeCatalyst Konsole beginnen, öffnen Sie die AWS Management Console, und stellen Sie dann sicher, dass Sie mit derselben AWS-Konto für Ihren Bereich angemeldet sind.

  2. Navigieren Sie zu Ihrem CodeCatalyst Bereich. Wählen Sie Settings (Einstellungen) und anschließend AWS-Konten aus.

  3. Wählen Sie den Link für den AWS-Konto Ort aus, an dem Sie die Rolle erstellen möchten. Die AWS-Konto Detailseite wird angezeigt.

  4. Wählen Sie Rollen verwalten von AWS Management Console.

    Die Seite „IAM-Rolle zu Amazon CodeCatalyst Space hinzufügen“ wird in der AWS Management Console geöffnet. Dies ist die Amazon CodeCatalyst Spaces-Seite. Möglicherweise müssen Sie sich anmelden, um auf die Seite zuzugreifen.

  5. Wählen Sie unter CodeCatalyst Bereichsdetails die Option CodeCatalyst Support-Rolle hinzufügen aus. Mit dieser Option wird eine Servicerolle erstellt, die die Berechtigungsrichtlinie und die Vertrauensrichtlinie für die Vorschau-Entwicklungsrolle enthält. Der Rolle wird ein Name AWSRoleForCodeCatalystSupportmit einer angehängten eindeutigen Kennung zugewiesen. Weitere Informationen zur Rolle und zur Rollenrichtlinie finden Sie unterDie AWSRoleForCodeCatalystSupportServicerolle verstehen.

  6. Lassen Sie auf der Seite Rolle für CodeCatalyst Support hinzufügen die Standardeinstellung aktiviert und wählen Sie dann Rolle erstellen aus.

  7. Sehen Sie sich unter Verfügbare IAM-Rollen die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle in der Liste der IAM-Rollen an, die Ihrem Konto hinzugefügt wurden. CodeCatalyst

  8. Um zu Ihrem Bereich zurückzukehren, wählen Sie Gehe zu Amazon CodeCatalyst.

Konfiguration von IAM-Rollen für Workflow-Aktionen in CodeCatalyst

In diesem Abschnitt werden IAM-Rollen und -Richtlinien beschrieben, die Sie zur Verwendung mit Ihrem CodeCatalyst Konto erstellen können. Anweisungen zum Erstellen von Beispielrollen finden Sie unterManuelles Erstellen von Rollen für Workflow-Aktionen. Nachdem Sie Ihre IAM-Rolle erstellt haben, kopieren Sie den Rollen-ARN, um die IAM-Rolle zu Ihrer Kontoverbindung hinzuzufügen und sie Ihrer Projektumgebung zuzuordnen. Weitere Informationen hierzu finden Sie unter IAMRollen zu Kontoverbindungen hinzufügen.

CodeCatalyst Rolle für Amazon S3 S3-Zugriff erstellen

Für CodeCatalyst Workflow-Build-Aktionen können Sie die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle mit dem Namen CodeCatalystBuildRoleforS3Access erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsspezifischen Berechtigungen, die zum Ausführen von Aufgaben auf Ressourcen in CodeCatalyst Ihrem System erforderlich ist. AWS CloudFormation AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Schreiben Sie in Amazon S3 S3-Buckets.

  • Support Sie den Aufbau von Ressourcen mit AWS CloudFormation. Dies erfordert Amazon S3 S3-Zugriff.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle erstellen für AWS CloudFormation

Für CodeCatalyst Workflow-Build-Aktionen können Sie die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsspezifischen Berechtigungen, die zum Ausführen von Aufgaben auf AWS CloudFormation Ressourcen in Ihrem System CodeCatalyst erforderlich ist. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Support Sie den Aufbau von Ressourcen mit AWS CloudFormation. Dies ist zusammen mit der CodeCatalyst Build-Rolle für den Amazon S3 S3-Zugriff und der CodeCatalyst Bereitstellungsrolle für erforderlich AWS CloudFormation.

Die folgenden AWS verwalteten Richtlinien sollten dieser Rolle zugeordnet werden:

  • AWSCloudFormationFullAccess

  • ICH BIN FullAccess

  • Amazon S 3 FullAccess

  • Amazon-API GatewayAdministrator

  • AWSLambdaFullAccess

CodeCatalyst Rolle für CDK erstellen

Für CodeCatalyst Workflows, die CDK-Build-Aktionen ausführen, wie z. B. die moderne dreistufige Webanwendung, können Sie die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsspezifischen Berechtigungen, die das Booten und Ausführen von CDK-Build-Befehlen für Ressourcen in Ihrem System CodeCatalyst erfordert. AWS CloudFormation AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Schreiben Sie in Amazon S3 S3-Buckets.

  • Support den Aufbau von CDK-Konstrukten und AWS CloudFormation Ressourcenstapeln. Dies erfordert Zugriff auf Amazon S3 für die Speicherung von Artefakten, Amazon ECR für die Unterstützung von Image-Repositorys und SSM für die Systemsteuerung und Überwachung virtueller Instances.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle bereitstellen für AWS CloudFormation

Für CodeCatalyst Workflow-Bereitstellungsaktionen AWS CloudFormation, die verwenden, können Sie die CodeCatalystWorkflowDevelopmentRole-spaceNameStandarddienstrolle verwenden, oder Sie können eine Richtlinie mit bereichsbezogenen Berechtigungen verwenden, die Aufgaben für AWS CloudFormation Ressourcen in Ihrem ausführen CodeCatalyst muss. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • CodeCatalyst Erlaubt den Aufruf einer Λ -Funktion zur Durchführung einer Blau/Grün-Bereitstellung durch. AWS CloudFormation

  • Erlaubt CodeCatalyst das Erstellen und Aktualisieren von Stacks und Changesets in. AWS CloudFormation

Diese Rolle verwendet die folgende Richtlinie:

{"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" }
Anmerkung

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle für Amazon EC2 bereitstellen

CodeCatalyst Workflow-Bereitstellungsaktionen verwenden eine IAM-Rolle mit den erforderlichen Berechtigungen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen CodeCatalyst Berechtigungen, die zur Ausführung von Aufgaben auf Amazon EC2 EC2-Ressourcen in Ihrem erforderlich ist. AWS-Konto Die Standardrichtlinie für die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle beinhaltet keine Berechtigungen für Amazon EC2 oder Amazon EC2 Auto Scaling.

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Erstellen Sie Amazon EC2 EC2-Bereitstellungen.

  • Lesen Sie die Tags auf einer Instance oder identifizieren Sie eine Amazon EC2 EC2-Instance anhand der Auto Scaling Scaling-Gruppennamen.

  • Lesen, erstellen, aktualisieren und löschen Sie Amazon EC2 Auto Scaling Scaling-Gruppen, Lifecycle-Hooks und Skalierungsrichtlinien.

  • Veröffentlichen Sie Informationen zu Amazon SNS SNS-Themen.

  • Rufen Sie Informationen über CloudWatch Alarme ab.

  • Lesen und aktualisieren Sie Elastic Load Balancing.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle für Amazon ECS bereitstellen

Für CodeCatalyst Workflow-Aktionen können Sie eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Sie können die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle für CodeCatalyst Bereitstellungsaktionen erstellen, die für Lambda-Bereitstellungen verwendet werden sollen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen CodeCatalyst Berechtigungen, die zur Ausführung von Aufgaben auf Amazon ECS-Ressourcen in Ihrem erforderlich ist. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Initiieren Sie die fortlaufende Amazon ECS-Bereitstellung im Namen eines CodeCatalyst Benutzers in einem Konto, das in der CodeCatalyst Verbindung angegeben wurde.

  • Lesen, aktualisieren und löschen Sie Amazon ECS-Aufgabensätze.

  • Aktualisieren Sie die Zielgruppen, Listener und Regeln von Elastic Load Balancing.

  • Rufen Sie Lambda-Funktionen auf.

  • Greifen Sie auf Revisionsdateien in Amazon S3 S3-Buckets zu.

  • Rufen Sie Informationen über CloudWatch Alarme ab.

  • Veröffentlichen Sie Informationen zu Amazon SNS SNS-Themen.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle für Lambda bereitstellen

Für CodeCatalyst Workflow-Aktionen können Sie eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Sie können die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle für CodeCatalyst Bereitstellungsaktionen erstellen, die für Lambda-Bereitstellungen verwendet werden sollen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen Berechtigungen, die Aufgaben auf Lambda-Ressourcen in Ihrem ausführen CodeCatalyst muss. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Lambda-Funktionen und -Aliase lesen, aktualisieren und aufrufen.

  • Greifen Sie auf Revisionsdateien in Amazon S3 S3-Buckets zu.

  • Rufen Sie Informationen über CloudWatch Ereignisse und Alarme ab.

  • Veröffentlichen Sie Informationen zu Amazon SNS SNS-Themen.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle für Lambda bereitstellen

Für CodeCatalyst Workflow-Aktionen können Sie die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen Berechtigungen, die Aufgaben auf Lambda-Ressourcen in Ihrem ausführen CodeCatalyst muss. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Lambda-Funktionen und -Aliase lesen, aktualisieren und aufrufen.

  • Greifen Sie auf Revisionsdateien in Amazon S3 S3-Buckets zu.

  • Rufen Sie Informationen über CloudWatch Alarme ab.

  • Veröffentlichen Sie Informationen zu Amazon SNS SNS-Themen.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Rolle bereitstellen für AWS SAM

Für CodeCatalyst Workflow-Aktionen können Sie die CodeCatalystWorkflowDevelopmentRole-spaceNameStandard-Servicerolle verwenden oder eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsspezifischen CodeCatalyst Berechtigungen, die für die Ausführung von Aufgaben AWS SAM und AWS CloudFormation Ressourcen in Ihrem System erforderlich ist. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Ermöglicht CodeCatalyst das Aufrufen einer Lambda-Funktion für die Bereitstellung von serverlosen Anwendungen und AWS SAM CLI-Anwendungen.

  • Ermöglicht das CodeCatalyst Erstellen und Aktualisieren von Stacks und Changesets in. AWS CloudFormation

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Nur-Lese-Rolle für Amazon EC2

Für CodeCatalyst Workflow-Aktionen können Sie eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen CodeCatalyst Berechtigungen, die zur Ausführung von Aufgaben auf Amazon EC2 EC2-Ressourcen in Ihrem erforderlich ist. AWS-Konto Die CodeCatalystWorkflowDevelopmentRole-spaceNameServicerolle beinhaltet keine Berechtigungen für Amazon EC2 oder die beschriebenen Aktionen für Amazon CloudWatch.

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Rufen Sie den Status von Amazon EC2 EC2-Instances ab.

  • Rufen Sie CloudWatch Metriken für Amazon EC2 EC2-Instances ab.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Nur-Lese-Rolle für Amazon ECS

Für CodeCatalyst Workflow-Aktionen können Sie eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen CodeCatalyst Berechtigungen, die zur Ausführung von Aufgaben auf Amazon ECS-Ressourcen in Ihrem erforderlich ist. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Lesen Sie Amazon ECS-Aufgabensätze.

  • Rufen Sie Informationen über CloudWatch Alarme ab.

Diese Rolle verwendet die folgende Richtlinie:

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

CodeCatalyst Nur-Lese-Rolle für Lambda

Für CodeCatalyst Workflow-Aktionen können Sie eine IAM-Rolle mit den erforderlichen Berechtigungen erstellen. Diese Rolle verwendet eine Richtlinie mit bereichsbezogenen Berechtigungen, die Aufgaben auf Lambda-Ressourcen in Ihrem ausführen CodeCatalyst muss. AWS-Konto

Diese Rolle gewährt Berechtigungen für Folgendes:

  • Lesen Sie Lambda-Funktionen und Aliase.

  • Greifen Sie auf Revisionsdateien in Amazon S3 S3-Buckets zu.

  • Rufen Sie Informationen über CloudWatch Alarme ab.

Diese Rolle verwendet die folgende -Richtlinie.

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

Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

"Resource": "*"

Manuelles Erstellen von Rollen für Workflow-Aktionen

CodeCatalyst Workflow-Aktionen verwenden von Ihnen erstellte IAM-Rollen, die als Build-Rolle, Bereitstellungsrolle und Stack-Rolle bezeichnet werden.

Gehen Sie wie folgt vor, um diese Rollen in IAM zu erstellen.

Um eine Bereitstellungsrolle zu erstellen
  1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

    1. Melden Sie sich an bei AWS.

    2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    3. Wählen Sie im Navigationsbereich Policies aus.

    4. Wählen Sie Richtlinie erstellen aus.

    5. Wählen Sie den Tab JSON.

    6. Löschen Sie den vorhandenen Code.

    7. Fügen Sie folgenden Code ein:

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

      Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

      "Resource": "*"
    8. Wählen Sie Next: Tags (Weiter: Tags) aus.

    9. Klicken Sie auf Weiter: Prüfen.

    10. Geben Sie im Feld Name Folgendes ein:

      codecatalyst-deploy-policy
    11. Wählen Sie Richtlinie erstellen aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Bereitstellungsrolle wie folgt:

    1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.

    3. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

    4. Fügen Sie die folgende benutzerdefinierte Vertrauensrichtlinie hinzu:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Wählen Sie Weiter aus.

    6. Suchen Sie unter Berechtigungsrichtlinien nach dem entsprechenden Kontrollkästchen codecatalyst-deploy-policy und aktivieren Sie es.

    7. Wählen Sie Weiter aus.

    8. Geben Sie als Rollenname Folgendes ein:

      codecatalyst-deploy-role
    9. Geben Sie als Rollenbeschreibung Folgendes ein:

      CodeCatalyst deploy role
    10. Wählen Sie Rolle erstellen aus.

    Sie haben jetzt eine Bereitstellungsrolle mit einer Vertrauensrichtlinie und einer Berechtigungsrichtlinie erstellt.

  3. Rufen Sie den ARN für die Bereitstellungsrolle wie folgt ab:

    1. Wählen Sie im Navigationsbereich Rollen aus.

    2. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie gerade erstellt haben (codecatalyst-deploy-role).

    3. Wählen Sie die Rolle aus der Liste aus.

      Die Übersichtsseite der Rolle wird angezeigt.

    4. Kopieren Sie oben den ARN-Wert.

    Sie haben jetzt die Bereitstellungsrolle mit den entsprechenden Berechtigungen erstellt und ihren ARN abgerufen.

Um eine Build-Rolle zu erstellen
  1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

    1. Melden Sie sich an bei AWS.

    2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    3. Wählen Sie im Navigationsbereich Policies aus.

    4. Wählen Sie Richtlinie erstellen aus.

    5. Wählen Sie den Tab JSON.

    6. Löschen Sie den vorhandenen Code.

    7. Fügen Sie folgenden Code ein:

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

      Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

      "Resource": "*"
    8. Wählen Sie Next: Tags (Weiter: Tags) aus.

    9. Klicken Sie auf Weiter: Prüfen.

    10. Geben Sie im Feld Name Folgendes ein:

      codecatalyst-build-policy
    11. Wählen Sie Richtlinie erstellen aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Build-Rolle wie folgt:

    1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.

    3. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

    4. Fügen Sie die folgende benutzerdefinierte Vertrauensrichtlinie hinzu:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Wählen Sie Weiter aus.

    6. Suchen Sie unter Berechtigungsrichtlinien nach dem entsprechenden Kontrollkästchen codecatalyst-build-policy und aktivieren Sie es.

    7. Wählen Sie Weiter aus.

    8. Geben Sie als Rollenname Folgendes ein:

      codecatalyst-build-role
    9. Geben Sie als Rollenbeschreibung Folgendes ein:

      CodeCatalyst build role
    10. Wählen Sie Rolle erstellen aus.

    Sie haben jetzt eine Build-Rolle mit einer Vertrauensrichtlinie und einer Berechtigungsrichtlinie erstellt.

  3. Rufen Sie den ARN für die Build-Rolle wie folgt ab:

    1. Wählen Sie im Navigationsbereich Rollen aus.

    2. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie gerade erstellt haben (codecatalyst-build-role).

    3. Wählen Sie die Rolle aus der Liste aus.

      Die Übersichtsseite der Rolle wird angezeigt.

    4. Kopieren Sie oben den ARN-Wert.

    Sie haben jetzt die Build-Rolle mit den entsprechenden Berechtigungen erstellt und ihren ARN abgerufen.

Um eine Stack-Rolle zu erstellen
Anmerkung

Sie müssen keine Stack-Rolle erstellen, obwohl dies aus Sicherheitsgründen empfohlen wird. Wenn Sie die Stack-Rolle nicht erstellen, müssen Sie der Bereitstellungsrolle die weiter unten in diesem Verfahren beschriebenen Berechtigungsrichtlinien hinzufügen.

  1. Melden Sie sich AWS mit dem Konto an, in dem Sie Ihren Stack bereitstellen möchten.

  2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  3. Wählen Sie im Navigationsbereich Rollen und dann Rolle erstellen aus.

  4. Wählen Sie oben AWS Service aus.

  5. Wählen Sie aus der Liste der Dienste CloudFormation.

  6. Wählen Sie Weiter: Berechtigungen aus.

  7. Fügen Sie im Suchfeld alle Richtlinien hinzu, die für den Zugriff auf die Ressourcen in Ihrem Stack erforderlich sind. Wenn Ihr Stack beispielsweise eine AWS Lambda Funktion enthält, müssen Sie eine Richtlinie hinzufügen, die Zugriff auf Lambda gewährt.

    Tipp

    Wenn Sie sich nicht sicher sind, welche Richtlinien Sie hinzufügen sollen, können Sie sie vorerst weglassen. Wenn Sie die Aktion testen und nicht über die richtigen Berechtigungen verfügen, werden Fehler AWS CloudFormation generiert, die zeigen, welche Berechtigungen Sie hinzufügen müssen.

  8. Wählen Sie Next: Tags (Weiter: Tags) aus.

  9. Klicken Sie auf Weiter: Prüfen.

  10. Geben Sie als Rollenname Folgendes ein:

    codecatalyst-stack-role
  11. Wählen Sie Rolle erstellen aus.

  12. Gehen Sie wie folgt vor, um den ARN der Stack-Rolle abzurufen:

    1. Wählen Sie im Navigationsbereich Rollen aus.

    2. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie gerade erstellt haben (codecatalyst-stack-role).

    3. Wählen Sie die Rolle aus der Liste aus.

    4. Kopieren Sie auf der Seite Zusammenfassung den ARN-Wert der Rolle.

Wird AWS CloudFormation zur Erstellung von Richtlinien und Rollen in IAM verwendet

Sie können AWS CloudFormation Vorlagen erstellen und verwenden, um die Richtlinien und Rollen zu erstellen, die Sie AWS-Konto für den Zugriff auf Ressourcen in Ihren CodeCatalyst Projekten und Workflows benötigen. AWS CloudFormation ist ein Service, der Ihnen hilft, Ihre AWS Ressourcen zu modellieren und einzurichten, sodass Sie weniger Zeit mit der Verwaltung dieser Ressourcen verbringen und sich mehr auf Ihre Anwendungen konzentrieren können, auf denen sie ausgeführt AWS werden. Wenn Sie beabsichtigen, Rollen in mehreren zu erstellen AWS-Konten, kann Ihnen das Erstellen einer Vorlage dabei helfen, diese Aufgabe schneller auszuführen.

Mit der folgenden Beispielvorlage werden eine Rolle und eine Richtlinie für Bereitstellungsaktionen erstellt.

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: '*'

Manuelles Erstellen der Rolle für den Webanwendungs-Blueprint

Der CodeCatalyst Webanwendungs-Blueprint verwendet von Ihnen erstellte IAM-Rollen, die als Build-Rolle für CDK, Bereitstellungsrolle und Stack-Rolle bezeichnet werden.

Gehen Sie wie folgt vor, um die Rolle in IAM zu erstellen.

Um eine Build-Rolle zu erstellen
  1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

    1. Melden Sie sich an bei AWS.

    2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    3. Wählen Sie im Navigationsbereich Policies aus.

    4. Wählen Sie Richtlinie erstellen aus.

    5. Wählen Sie den Tab JSON.

    6. Löschen Sie den vorhandenen Code.

    7. Fügen Sie folgenden Code ein:

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

      Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

      "Resource": "*"
    8. Wählen Sie Next: Tags (Weiter: Tags) aus.

    9. Klicken Sie auf Weiter: Prüfen.

    10. Geben Sie im Feld Name Folgendes ein:

      codecatalyst-webapp-build-policy
    11. Wählen Sie Richtlinie erstellen aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Build-Rolle wie folgt:

    1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.

    3. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

    4. Fügen Sie die folgende benutzerdefinierte Vertrauensrichtlinie hinzu:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Wählen Sie Weiter aus.

    6. Hängen Sie die Berechtigungsrichtlinie an die Build-Rolle an. Suchen Sie auf der Seite Berechtigungen hinzufügen im Abschnitt Berechtigungsrichtlinien nach dem entsprechenden Kontrollkästchen codecatalyst-webapp-build-policy und aktivieren Sie es.

    7. Wählen Sie Weiter aus.

    8. Geben Sie als Rollenname Folgendes ein:

      codecatalyst-webapp-build-role
    9. Geben Sie als Rollenbeschreibung Folgendes ein:

      CodeCatalyst Web app build role
    10. Wählen Sie Rolle erstellen aus.

    Sie haben jetzt eine Build-Rolle mit einer Vertrauensrichtlinie und einer Berechtigungsrichtlinie erstellt.

  3. Hängen Sie die Berechtigungsrichtlinie wie folgt an die Build-Rolle an:

    1. Wählen Sie im Navigationsbereich Rollen aus, und suchen Sie dann nachcodecatalyst-webapp-build-role.

    2. Wählen Siecodecatalyst-webapp-build-role, ob die Details angezeigt werden sollen.

    3. Wählen Sie auf der Registerkarte Berechtigungen die Option Berechtigungen hinzufügen und dann Richtlinien anhängen aus.

    4. Suchen Sie nachcodecatalyst-webapp-build-policy, aktivieren Sie das entsprechende Kontrollkästchen und wählen Sie dann Richtlinien anhängen aus.

      Sie haben jetzt die Berechtigungsrichtlinie an die Build-Rolle angehängt. Die Build-Rolle hat jetzt zwei Richtlinien: eine Berechtigungsrichtlinie und eine Vertrauensrichtlinie.

  4. Rufen Sie den ARN für die Build-Rolle wie folgt ab:

    1. Wählen Sie im Navigationsbereich Rollen aus.

    2. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie gerade erstellt haben (codecatalyst-webapp-build-role).

    3. Wählen Sie die Rolle aus der Liste aus.

      Die Übersichtsseite der Rolle wird angezeigt.

    4. Kopieren Sie oben den ARN-Wert.

    Sie haben jetzt die Build-Rolle mit den entsprechenden Berechtigungen erstellt und ihren ARN abgerufen.

Manuelles Erstellen von Rollen für den SAM-Blueprint

Der CodeCatalyst SAM-Blueprint verwendet von Ihnen erstellte IAM-Rollen, die als Build-Rolle für CloudFormation und Bereitstellungsrolle für SAM bezeichnet werden.

Gehen Sie wie folgt vor, um die Rollen in IAM zu erstellen.

Um eine Build-Rolle für zu erstellen CloudFormation
  1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

    1. Melden Sie sich an bei AWS.

    2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    3. Wählen Sie im Navigationsbereich Policies aus.

    4. Wählen Sie Richtlinie erstellen aus.

    5. Wählen Sie den Tab JSON.

    6. Löschen Sie den vorhandenen Code.

    7. Fügen Sie folgenden Code ein:

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

      Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

      "Resource": "*"
    8. Wählen Sie Next: Tags (Weiter: Tags) aus.

    9. Klicken Sie auf Weiter: Prüfen.

    10. Geben Sie im Feld Name Folgendes ein:

      codecatalyst-SAM-build-policy
    11. Wählen Sie Richtlinie erstellen aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Build-Rolle wie folgt:

    1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.

    3. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

    4. Fügen Sie die folgende benutzerdefinierte Vertrauensrichtlinie hinzu:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Wählen Sie Weiter aus.

    6. Hängen Sie die Berechtigungsrichtlinie an die Build-Rolle an. Suchen Sie auf der Seite Berechtigungen hinzufügen im Abschnitt Berechtigungsrichtlinien nach dem entsprechenden Kontrollkästchen codecatalyst-SAM-build-policy und aktivieren Sie es.

    7. Wählen Sie Weiter aus.

    8. Geben Sie als Rollenname Folgendes ein:

      codecatalyst-SAM-build-role
    9. Geben Sie als Rollenbeschreibung Folgendes ein:

      CodeCatalyst SAM build role
    10. Wählen Sie Rolle erstellen aus.

    Sie haben jetzt eine Build-Rolle mit einer Vertrauensrichtlinie und einer Berechtigungsrichtlinie erstellt.

  3. Hängen Sie die Berechtigungsrichtlinie wie folgt an die Build-Rolle an:

    1. Wählen Sie im Navigationsbereich Rollen aus, und suchen Sie dann nachcodecatalyst-SAM-build-role.

    2. Wählen Siecodecatalyst-SAM-build-role, ob die Details angezeigt werden sollen.

    3. Wählen Sie auf der Registerkarte Berechtigungen die Option Berechtigungen hinzufügen und dann Richtlinien anhängen aus.

    4. Suchen Sie nachcodecatalyst-SAM-build-policy, aktivieren Sie das entsprechende Kontrollkästchen und wählen Sie dann Richtlinien anhängen aus.

      Sie haben jetzt die Berechtigungsrichtlinie an die Build-Rolle angehängt. Die Build-Rolle hat jetzt zwei Richtlinien: eine Berechtigungsrichtlinie und eine Vertrauensrichtlinie.

  4. Rufen Sie den ARN für die Build-Rolle wie folgt ab:

    1. Wählen Sie im Navigationsbereich Rollen aus.

    2. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie gerade erstellt haben (codecatalyst-SAM-build-role).

    3. Wählen Sie die Rolle aus der Liste aus.

      Die Übersichtsseite der Rolle wird angezeigt.

    4. Kopieren Sie oben den ARN-Wert.

    Sie haben jetzt die Build-Rolle mit den entsprechenden Berechtigungen erstellt und ihren ARN abgerufen.

Um eine Bereitstellungsrolle für SAM zu erstellen
  1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

    1. Melden Sie sich an bei AWS.

    2. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    3. Wählen Sie im Navigationsbereich Policies aus.

    4. Wählen Sie Richtlinie erstellen aus.

    5. Wählen Sie den Tab JSON.

    6. Löschen Sie den vorhandenen Code.

    7. Fügen Sie folgenden Code ein:

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

      Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

      "Resource": "*"
    8. Wählen Sie Next: Tags (Weiter: Tags) aus.

    9. Klicken Sie auf Weiter: Prüfen.

    10. Geben Sie im Feld Name Folgendes ein:

      codecatalyst-SAM-deploy-policy
    11. Wählen Sie Richtlinie erstellen aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Build-Rolle wie folgt:

    1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.

    3. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

    4. Fügen Sie die folgende benutzerdefinierte Vertrauensrichtlinie hinzu:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Wählen Sie Weiter aus.

    6. Hängen Sie die Berechtigungsrichtlinie an die Build-Rolle an. Suchen Sie auf der Seite Berechtigungen hinzufügen im Abschnitt Berechtigungsrichtlinien nach dem entsprechenden Kontrollkästchen codecatalyst-SAM-deploy-policy und aktivieren Sie es.

    7. Wählen Sie Weiter aus.

    8. Geben Sie als Rollenname Folgendes ein:

      codecatalyst-SAM-deploy-role
    9. Geben Sie als Rollenbeschreibung Folgendes ein:

      CodeCatalyst SAM deploy role
    10. Wählen Sie Rolle erstellen aus.

    Sie haben jetzt eine Build-Rolle mit einer Vertrauensrichtlinie und einer Berechtigungsrichtlinie erstellt.

  3. Hängen Sie die Berechtigungsrichtlinie wie folgt an die Build-Rolle an:

    1. Wählen Sie im Navigationsbereich Rollen aus, und suchen Sie dann nachcodecatalyst-SAM-deploy-role.

    2. Wählen Siecodecatalyst-SAM-deploy-role, ob die Details angezeigt werden sollen.

    3. Wählen Sie auf der Registerkarte Berechtigungen die Option Berechtigungen hinzufügen und dann Richtlinien anhängen aus.

    4. Suchen Sie nachcodecatalyst-SAM-deploy-policy, aktivieren Sie das entsprechende Kontrollkästchen und wählen Sie dann Richtlinien anhängen aus.

      Sie haben jetzt die Berechtigungsrichtlinie an die Build-Rolle angehängt. Die Build-Rolle hat jetzt zwei Richtlinien: eine Berechtigungsrichtlinie und eine Vertrauensrichtlinie.

  4. Rufen Sie den ARN für die Build-Rolle wie folgt ab:

    1. Wählen Sie im Navigationsbereich Rollen aus.

    2. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie gerade erstellt haben (codecatalyst-SAM-deploy-role).

    3. Wählen Sie die Rolle aus der Liste aus.

      Die Übersichtsseite der Rolle wird angezeigt.

    4. Kopieren Sie oben den ARN-Wert.

    Sie haben jetzt die Build-Rolle mit den entsprechenden Berechtigungen erstellt und ihren ARN abgerufen.