Beispiele für identitätsbasierte Richtlinien für den Regionenwechsel in ARC - Amazon Application Recovery Controller (ARC)

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.

Beispiele für identitätsbasierte Richtlinien für den Regionenwechsel in ARC

Standardmäßig sind Benutzer und Rollen nicht berechtigt, ARC-Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben mithilfe der AWS Management Console, AWS Command Line Interface (AWS CLI) oder AWS API ausführen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen. Der Administrator kann dann die IAM-Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen annehmen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von IAM-Richtlinien (Konsole) im IAM-Benutzerhandbuch.

Einzelheiten zu den von ARC definierten Aktionen und Ressourcentypen, einschließlich des Formats ARNs für die einzelnen Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Application Recovery Controller (ARC) in der Service Authorization Reference.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand ARC-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Beginnen Sie mit AWS verwalteten Richtlinien und wechseln Sie zu Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um Ihren Benutzern und Workloads zunächst Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS -verwaltete Richtlinien oder AWS -verwaltete Richtlinien für Auftrags-Funktionen im IAM-Benutzerhandbuch.

  • Anwendung von Berechtigungen mit den geringsten Rechten – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.

  • Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

  • Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter Richtlinienvalidierung mit IAM Access Analyzer im IAM-Benutzerhandbuch.

  • Multi-Faktor-Authentifizierung (MFA) erforderlich — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter Sicherer API-Zugriff mit MFA im IAM-Benutzerhandbuch.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.

Vertrauensrichtlinie für die Rolle „Planausführung“

Dies ist die Vertrauensrichtlinie, die für die Rolle bei der Ausführung des Plans erforderlich ist:

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

Vollständige Zugriffsberechtigungen

Die folgende IAM-Richtlinie gewährt vollen Zugriff für alle Regions-Switches APIs:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "arc-region-switch.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "arc-region-switch:CreatePlan", "arc-region-switch:UpdatePlan", "arc-region-switch:GetPlan", "arc-region-switch:ListPlans", "arc-region-switch:DeletePlan", "arc-region-switch:GetPlanInRegion", "arc-region-switch:ListPlansInRegion", "arc-region-switch:ApprovePlanExecutionStep", "arc-region-switch:GetPlanEvaluationStatus", "arc-region-switch:GetPlanExecution", "arc-region-switch:CancelPlanExecution", "arc-region-switch:ListRoute53HealthChecks", "arc-region-switch:ListPlanExecutions", "arc-region-switch:ListPlanExecutionEvents", "arc-region-switch:ListTagsForResource", "arc-region-switch:TagResource", "arc-region-switch:UntagResource", "arc-region-switch:UpdatePlanExecution", "arc-region-switch:UpdatePlanExecutionStep" ], "Resource": "*" } ] }

Nur-Lese-Berechtigungen

Die folgende IAM-Richtlinie gewährt Nur-Lese-Zugriffsberechtigungen für den Regions-Switch:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "arc-region-switch:GetPlan", "arc-region-switch:ListPlans", "arc-region-switch:GetPlanInRegion", "arc-region-switch:ListPlansInRegion", "arc-region-switch:GetPlanEvaluationStatus", "arc-region-switch:GetPlanExecution", "arc-region-switch:ListRoute53HealthChecks", "arc-region-switch:ListPlanExecutions", "arc-region-switch:ListPlanExecutionEvents", "arc-region-switch:ListTagsForResource" ], "Resource": "*" } ] }

Berechtigungen für Ausführungsblöcke

Die folgenden Abschnitte enthalten IAM-Richtlinien für bestimmte Ausführungsblöcke, die Sie einem Regions-Switch-Plan hinzufügen.

EC2 Amazon EC2 Auto Scaling Scaling-Ausführungsblock

Richtlinie für die Rolle „Planausführung“ zur Verwaltung von EC2 Amazon EC2 Auto Scaling Scaling-Gruppen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "autoscaling:UpdateAutoScalingGroup" ], "Resource": [ "arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:123d456e-123e-1111-abcd-EXAMPLE22222:autoScalingGroupName/app-asg-primary", "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:1234a321-123e-1234-aabb-EXAMPLE33333:autoScalingGroupName/app-asg-secondary" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricStatistics" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/AutoScaling" } } } ] }

Ausführungsblock zur Skalierung von Amazon EKS-Ressourcen

Richtlinie für die Rolle „Planausführung“ zur Verwaltung von Amazon EKS-Clustern:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": [ "arn:aws:eks:us-east-1:123456789012:cluster/app-eks-primary", "arn:aws:eks:us-west-2:123456789012:cluster/app-eks-secondary" ] }, { "Effect": "Allow", "Action": [ "eks:ListAssociatedAccessPolicies" ], "Resource": [ "arn:aws:eks:us-east-1:123456789012:access-entry/app-eks-primary/*", "arn:aws:eks:us-west-2:123456789012:access-entry/app-eks-secondary/*" ] } ] }

Hinweis: Zusätzlich zu dieser IAM-Richtlinie muss die Planausführungsrolle mit der Zugriffsrichtlinie zu den Zugriffseinträgen des Amazon EKS-Clusters hinzugefügt werden. AmazonArcRegionSwitchScalingPolicy Weitere Informationen finden Sie unter Konfigurieren Sie die EKS-Zugriffsberechtigungen.

Ausführungsblock für die Skalierung des Amazon ECS-Service

Richtlinie für die Rolle „Planausführung“ zur Verwaltung von Amazon ECS-Services:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:UpdateService" ], "Resource": [ "arn:aws:ecs:us-east-1:123456789012:service/app-cluster-primary/app-service", "arn:aws:ecs:us-west-2:123456789012:service/app-cluster-secondary/app-service" ] }, { "Effect": "Allow", "Action": [ "ecs:DescribeClusters" ], "Resource": [ "arn:aws:ecs:us-east-1:123456789012:cluster/app-cluster-primary", "arn:aws:ecs:us-west-2:123456789012:cluster/app-cluster-secondary" ] }, { "Effect": "Allow", "Action": [ "ecs:ListServices" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "application-autoscaling:DescribeScalableTargets", "application-autoscaling:RegisterScalableTarget" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricStatistics" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "ECS/ContainerInsights" } } } ] }

ARC-Routing steuert den Ausführungsblock

Hinweis: Der Ausführungsblock Amazon ARC Routing Controls erfordert, dass alle Service Control-Richtlinien (SCPs), die auf die Ausführungsrolle des Plans angewendet werden, den Zugriff auf die folgenden Regionen für diese Services ermöglichen:

  • route53-recovery-control-config: us-west-2

  • route53-recovery-cluster: us-west-2, us-east-1, eu-west-1, ap-southeast-2, ap-northeast-1

Richtlinie für die Rolle „Planausführung“ zur Verwaltung der ARC-Routing-Kontrollen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53-recovery-control-config:DescribeControlPanel", "route53-recovery-control-config:DescribeCluster" ], "Resource": [ "arn:aws:route53-recovery-control::123456789012:controlpanel/abcd1234abcd1234abcd1234abcd1234", "arn:aws:route53-recovery-control::123456789012:cluster/4b325d3b-0e28-4dcf-ba4a-EXAMPLE11111" ] }, { "Effect": "Allow", "Action": [ "route53-recovery-cluster:GetRoutingControlState", "route53-recovery-cluster:UpdateRoutingControlStates" ], "Resource": [ "arn:aws:route53-recovery-control::123456789012:controlpanel/1234567890abcdef1234567890abcdef/routingcontrol/abcdef1234567890", "arn:aws:route53-recovery-control::123456789012:controlpanel/1234567890abcdef1234567890abcdef/routingcontrol/1234567890abcdef" ] } ] }

Sie können die Routing Control Panel-ID und die Cluster-ID mithilfe der CLI abrufen. Weitere Informationen finden Sie unter Richten Sie Komponenten zur Routing-Steuerung ein.

Aurora Global Database-Ausführungsblock

Richtlinie für die Rolle „Planausführung“ zur Verwaltung der globalen Aurora-Datenbanken:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:DescribeGlobalClusters", "rds:DescribeDBClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "rds:FailoverGlobalCluster", "rds:SwitchoverGlobalCluster" ], "Resource": [ "arn:aws:rds:us-east-1:123456789012:global-cluster:app-global-db", "arn:aws:rds:us-east-1:123456789012:cluster:app-db-primary", "arn:aws:rds:us-west-2:123456789012:cluster:app-db-secondary" ] } ] }

Block „Ausführung manueller Genehmigung“

Richtlinie für die Rolle, die manuelle Schritte genehmigen kann:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "arc-region-switch:ApprovePlanExecutionStep" ], "Resource": "arn:aws:arc-region-switch::123456789012:plan/sample-plan:0fba5e" } ] }

Lambda-Ausführungsblock für benutzerdefinierte Aktionen

Richtlinie für die Planausführungsrolle zum Aufrufen von Lambda-Funktionen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:app-recovery-primary", "arn:aws:lambda:us-west-2:123456789012:function:app-recovery-secondary" ] } ] }

Ausführungsblock für die Zustandsprüfung von Route 53

Richtlinie für die Rolle „Planausführung“ zur Verwendung von Route 53-Zustandsprüfungen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53:ListResourceRecordSets" ], "Resource": [ "arn:aws:route53:::hostedzone/Z1234567890ABCDEFGHIJ" ] } ] }

Block zur Ausführung des Plans zwischen Regionen wechseln

Richtlinie für die Rolle „Planausführung“ zur Ausführung untergeordneter Pläne:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "arc-region-switch:StartPlanExecution", "arc-region-switch:GetPlanExecution", "arc-region-switch:CancelPlanExecution", "arc-region-switch:UpdatePlanExecution", "arc-region-switch:ListPlanExecutions" ], "Resource": [ "arn:aws:arc-region-switch::123456789012:plan/child-plan-1:50c1a1", "arn:aws:arc-region-switch::123456789012:plan/child-plan-2:d1e5e1" ] } ] }

CloudWatch Alarme für den Zustand der Anwendung

Richtlinie für die Rolle „Planausführung“ für den Zugriff auf CloudWatch Alarme für den Anwendungsstatus, anhand derer die tatsächliche Wiederherstellungszeit ermittelt werden kann:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms" ], "Resource": [ "arn:aws:cloudwatch:us-east-1:123456789012:alarm:app-health-primary", "arn:aws:cloudwatch:us-west-2:123456789012:alarm:app-health-secondary" ] } ] }

Kontoübergreifender Zugriff auf Ressourcen

Wenn sich Ressourcen in unterschiedlichen Konten befinden, benötigen Sie eine kontenübergreifende Rolle. Hier ist ein Beispiel für eine Vertrauensrichtlinie für eine kontoübergreifende Rolle:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/RegionSwitchExecutionRole" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "UniqueExternalId123" } } } ] }

Und die Erlaubnis für die Rolle „Planausführung“, diese kontenübergreifende Rolle zu übernehmen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::987654321098:role/RegionSwitchCrossAccountRole", "Condition": { "StringEquals": { "sts:ExternalId": "UniqueExternalId123" } } } ] }

Vollständige Richtlinie für die Rolle „Planausführung“

Eine umfassende Richtlinie, die Berechtigungen für alle Ausführungsblöcke beinhaltet, wäre ziemlich umfangreich. In der Praxis sollten Sie nur Berechtigungen für die Ausführungsblöcke angeben, die Sie in Ihrem speziellen Plan verwenden. Hier ist eine -Beispielrichtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:SimulatePrincipalPolicy", "Resource": "arn:aws:iam::123456789012:role/RegionSwitchExecutionRole" }, { "Effect": "Allow", "Action": [ "arc-region-switch:GetPlan", "arc-region-switch:GetPlanExecution", "arc-region-switch:ListPlanExecutions" ], "Resource": "*" }, // Include additional statements for specific execution blocks here ] }

Denken Sie daran, nur die Berechtigungen anzugeben, die für die spezifischen Ausführungsblöcke erforderlich sind, die Sie in Ihrem Plan verwenden, um dem Prinzip der geringsten Rechte zu folgen.