View a markdown version of this page

Beschränken des Agentenzugriffs in einem AWS Account - AWS DevOps Agentin

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.

Beschränken des Agentenzugriffs in einem AWS Account

AWS DevOps Der Agent verwendet IAM-Rollen, um AWS Ressourcen bei der Untersuchung von Vorfällen und präventiven Bewertungen zu ermitteln und zu beschreiben. Sie können die Zugriffsebene des Agenten steuern, indem Sie IAM-Richtlinien konfigurieren, die diesen Rollen zugeordnet sind. Die Anwendungstopologie zeigt nicht alles, worauf der Agent Zugriff hat. IAM-Richtlinien sind die einzige Möglichkeit, wirklich einzuschränken, auf welche AWS Service-APIs und Ressourcen der Agent zugreifen kann.

Grundlegendes zu den IAM-Rollen für AWS DevOps Agent

AWS DevOps Der Agent verwendet IAM-Rollen, um auf Ressourcen in zwei Arten von Konten zuzugreifen:

  • Primäre Kontorolle — Gewährt dem Agenten Zugriff auf Ressourcen in dem AWS Konto, in dem Sie den Agent Space erstellen.

  • Sekundäre Kontorollen — Gewährt dem Agenten Zugriff auf Ressourcen in zusätzlichen AWS Konten, die Sie mit dem Agent Space verbinden.

Für beide Kontotypen können Sie einschränken, auf welche AWS Dienste der Agent zugreifen kann, den Zugriff auf bestimmte Ressourcen innerhalb dieser Dienste einschränken und steuern, in welchen Regionen der Agent tätig sein kann.

Grundlegendes zu Genehmigungsrichtlinien

AWS DevOps Der Agent wendet auf jede Sitzung, die er beim Zugriff auf Ihre Ressourcen erstellt, einen Berechtigungsschutz an. AWS Diese Leitplanke dient als Obergrenze — sie definiert die maximale Anzahl an Berechtigungen, die der Agent jemals verwenden kann, unabhängig davon, welche Berechtigungen Sie für die IAM-Rolle gewähren.

Funktionsweise

Wenn der Agent Ihre IAM-Rolle übernimmt, übergibt er eine Sitzungsrichtlinie, die die effektiven Berechtigungen für diese Sitzung einschränkt. Die effektiven Berechtigungen sind der Schnittpunkt von:

  1. Ihre IAM-Rollenrichtlinien — Die verwaltete Richtlinie und alle Inline-Richtlinien, die Sie der Rolle zuordnen.

  2. Die Berechtigungs-Guardrail — Eine Sitzungsrichtlinie, die vom AWS DevOps Agenten bei der Übernahme der Rolle angewendet wird.

Eine Genehmigung muss auf beiden Ebenen vorhanden sein, um wirksam zu werden. Wenn Sie Ihrer Rolle eine Berechtigung hinzufügen, die nicht in der Guardrail enthalten ist, kann der Agent sie nicht verwenden.

Standardberechtigungen

Die AIDevOpsAgentAccessPolicy verwaltete Richtlinie stellt die standardmäßigen Leseberechtigungen bereit, die der Agent für Untersuchungen verwendet. Diese Berechtigungen sind in der Guardrail enthalten, sodass sie ohne zusätzliche Konfiguration funktionieren.

Erweiterung der Berechtigungen über die Standardberechtigungen hinaus

AWS DevOps Der Agent unterstützt einen kuratierten Satz zusätzlicher Berechtigungen, die über die standardmäßige verwaltete Richtlinie hinausgehen. Diese Berechtigungen sind in der Guardrail enthalten, aber standardmäßig nicht aktiviert. Um sie zu verwenden, fügen Sie Ihrer Rolle die spezifischen Berechtigungen als Inline-Richtlinie hinzu.

Um es dem Agenten beispielsweise zu ermöglichen, bei Untersuchungen Objekte aus Ihren S3-Buckets zu lesen, fügen Sie Ihrer Rolle eine Inline-Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-application-bucket", "arn:aws:s3:::my-application-bucket/*" ] } ] }

Da sie s3:GetObject in der Leitplanke enthalten s3:ListBucket sind, ist diese Inline-Richtlinie wirksam. Sie können den Bereich Resource auf bestimmte Bereiche beschränken, um dem Prinzip der geringsten Rechte zu folgen.

Zusätzliche Berechtigungen werden unterstützt

Die folgenden Berechtigungen sind in der Guardrail enthalten und können aktiviert werden, indem Sie sie Ihrer Rolle als Inline-Richtlinie hinzufügen. Diese werden standardmäßig nicht gewährt — Sie müssen sich ausdrücklich dafür entscheiden.

Service Aktionen Anwendungsfall
Amazon S3 s3:GetObject, s3:ListBucket Lesen Sie in S3 gespeicherte Anwendungsdaten, Protokolle oder Konfigurationen
AWS Direkte Connect directconnect:DescribeConnections, directconnect:DescribeDirectConnectGatewayAssociations, directconnect:DescribeDirectConnectGateways, directconnect:DescribeLags, directconnect:DescribeVirtualInterfaces Untersuchen Sie Probleme mit der Netzwerkverbindung

Durch die Leitplanke blockierte Berechtigungen

Wenn Sie Ihrer Rolle eine Berechtigung hinzufügen, die nicht in der Guardrail enthalten ist, kann der Agent sie nicht verwenden. Das ist beabsichtigt — die Leitplanke verhindert, dass der Agent Aktionen außerhalb seines vorgesehenen Bereichs ausführt, selbst wenn die Rolle dies andernfalls zulassen würde.

Schreiboperationen wies3:PutObject, oder dynamodb:DeleteItem sind beispielsweise nicht in der Guardrail enthalten. ec2:TerminateInstances Selbst wenn Ihre Rolle diese Berechtigungen gewährt, kann der Agent diese Aktionen nicht ausführen.

Zusammenfassung

Ebene Wer kontrolliert es Zweck
IAM-Rollenrichtlinien Sie Definieren Sie, wozu der Agent in der Lage sein soll
Leitplanke für Genehmigungen AWS DevOps Agentin Definiert das Maximum, das der Agent jemals erreichen kann
Effektive Berechtigungen Schnittmenge von beiden Was der Agent tatsächlich tun kann

Dieses Modell stellt sicher, dass der Agent innerhalb einer klar definierten Sicherheitsgrenze arbeitet, und bietet Ihnen gleichzeitig die Flexibilität, seine Funktionen für Ihren speziellen Anwendungsfall zu erweitern.

Wählen Sie Ihre Ressourcengrenzen

Wenn Sie den Ressourcenzugriff einschränken, müssen Sie genügend Berechtigungen angeben, damit der Agent Anwendungsvorfälle erfolgreich untersuchen kann. Dies umfasst:

  • Alle Ressourcen für in den Anwendungsbereich fallende Anwendungen, die der Agent überwachen und untersuchen sollte

  • Die gesamte unterstützende Infrastruktur, von der diese Anwendungen abhängen

Die unterstützende Infrastruktur kann Folgendes umfassen:

  • Netzwerkkomponenten (VPCs, Subnetze, Load Balancer, API-Gateways)

  • Datenspeicher (Datenbanken, Caches, Objektspeicher)

  • Rechenressourcen (EC2-Instances, Lambda-Funktionen, Container)

  • Überwachungs- und Protokollierungsdienste (CloudWatch,) CloudTrail

  • Ressourcen für die Identitäts- und Zugriffsverwaltung sind erforderlich, um die Berechtigungen zu verstehen

Wenn Sie den Zugriff zu eng einschränken, ist der Agent möglicherweise nicht in der Lage, die Hauptursachen zu identifizieren, die auf die unterstützende Infrastruktur außerhalb Ihrer definierten Grenzen zurückzuführen sind.

Einschränken des Servicezugriffs

Sie können einschränken, auf welche AWS Dienste der Agent zugreifen kann, indem Sie die IAM-Richtlinien ändern, die den Rollen des Agenten zugeordnet sind. Beachten Sie bei der Erstellung benutzerdefinierter Richtlinien die folgenden bewährten Methoden:

  • Nur Leseberechtigungen gewähren — Der Agent muss bei Untersuchungen Ressourcenkonfigurationen, Metriken und Protokolle lesen. Vermeiden Sie es, dem Agenten Berechtigungen zu erteilen, die es ihm ermöglichen, Ressourcen zu ändern oder zu löschen.

  • Beschränken Sie sich auf notwendige Dienste — Schließen Sie nur die AWS Dienste ein, die Ressourcen enthalten, die für Ihre Anwendungen relevant sind. Wenn Ihre Anwendung beispielsweise Amazon RDS nicht verwendet, nehmen Sie keine RDS-Berechtigungen in die Richtlinie auf.

  • Verwenden Sie bestimmte Aktionen anstelle von Platzhaltern — Anstatt service:* Berechtigungen zu gewähren, geben Sie einzelne Aktionen wie cloudwatch:GetMetricData oder ec2:DescribeInstances an.

Beispiel für eine Richtlinie, die auf bestimmte Dienste beschränkt ist:

json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "logs:GetLogEvents", "logs:FilterLogEvents", "ec2:DescribeInstances", "lambda:GetFunction", "lambda:GetFunctionConfiguration" ], "Resource": "*" } ] }

Beschränkung des Ressourcenzugriffs

Um den Agenten auf bestimmte Ressourcen innerhalb eines Dienstes zu beschränken, verwenden Sie in Ihren IAM-Richtlinien Berechtigungen auf Ressourcenebene. Auf diese Weise können Sie nur Ressourcen Zugriff gewähren, die bestimmten Mustern entsprechen.

Verwenden von Ressourcen-ARN-Mustern:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetFunctionConfiguration" ], "Resource": "arn:aws:lambda:*:*:function:production-*" } ] }

In diesem Beispiel wird der Agent darauf beschränkt, nur auf Lambda-Funktionen zuzugreifen, deren Namen mit „production-“ beginnen.

Verwendung von tagbasierten Einschränkungen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "production" } } } ] }

In diesem Beispiel wird der Agent darauf beschränkt, nur auf EC2-Instances zuzugreifen, die mit gekennzeichnet sind. Environment=production

Beschränkung des regionalen Zugriffs

Um einzuschränken, auf welche AWS Regionen der Agent zugreifen kann, verwenden Sie den aws:RequestedRegion Bedingungsschlüssel in Ihren IAM-Richtlinien:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "lambda:Get*", "cloudwatch:Get*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-west-2" ] } } } ] }

In diesem Beispiel wird der Agent darauf beschränkt, nur auf Ressourcen in den Regionen us-east-1 und us-west-2 zuzugreifen.

Benutzerdefinierte IAM-Richtlinien erstellen

Wenn Sie einen Agent Space erstellen oder sekundäre Konten hinzufügen, haben Sie die Möglichkeit, mithilfe einer Richtlinienvorlage eine benutzerdefinierte IAM-Rolle zu erstellen. Auf diese Weise können Sie das Prinzip der geringsten Rechte implementieren.

Beim Erstellen eines Agent Space

Von der DevOps Agent-Konsole in der AWS Management-Konsole aus...

  • Wählen Sie Neue DevOps Agentenrolle mithilfe eines Richtliniendokuments erstellen und folgen Sie den Anweisungen

Beim Bearbeiten eines Agentenbereichs

Von der DevOps Agent-Konsole in der AWS Management-Konsole aus...

  • Wählen Sie die Registerkarte Funktionen

  • Wählen Sie im Cloud-Bereich das sekundäre Konto aus, das Sie bearbeiten möchten, und klicken Sie auf Bearbeiten

  • Wählen Sie Neue DevOps Agentenrichtlinie mithilfe einer Vorlage erstellen und folgen Sie den Anweisungen

Bewährte Methoden für benutzerdefinierte Richtlinien

  • Nur Leseberechtigungen gewähren — Vermeiden Sie Berechtigungen, die das Ändern oder Löschen von Ressourcen ermöglichen

  • Verwenden Sie nach Möglichkeit Berechtigungen auf Ressourcenebene — Beschränken Sie den Zugriff auf bestimmte Ressourcen mithilfe von ARN-Mustern oder -Tags

  • Regelmäßige Überprüfung und Prüfung der Berechtigungen — Überprüfen Sie regelmäßig die IAM-Richtlinien des Agenten, um sicherzustellen, dass sie weiterhin Ihren Sicherheitsanforderungen entsprechen