

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
<a name="aws-devops-agent-security-limiting-agent-access-in-an-aws-account"></a>

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 die diesen Rollen zugewiesenen IAM-Richtlinien konfigurieren. 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
<a name="understanding-iam-roles-for-aws-devops-agent"></a>

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
<a name="understanding-permission-guardrails"></a>

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
<a name="how-it-works"></a>

Wenn der Agent Ihre IAM-Rolle übernimmt, verabschiedet er eine [Sitzungsrichtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session), 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.

1. **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
<a name="default-permissions"></a>

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
<a name="extending-permissions-beyond-the-default"></a>

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
<a name="supported-additional-permissions"></a>

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 Athena | athena:GetQuery\*, athena:StartQueryExecution, athena:StopQueryExecution | Führen Sie Athena-Abfragen für Ihren Datenkatalog aus und rufen Sie verwaltete Abfrageergebnisse ab | 
| 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 | 
| AWS Glue | glue:GetPartitions | Partitionsmetadaten aus dem Glue-Datenkatalog für Athena-Abfragen lesen | 
| AWS KMS | kms:Decrypt | Entschlüsseln Sie verschlüsselte Ressourcen wie S3-Objekte | 

**Hinweis:** Diese Liste kann im Laufe der Zeit erweitert werden, wenn dem AWS DevOps Agenten neue Funktionen hinzugefügt werden. Berechtigungen, die hier oder in der `AIDevOpsAgentAccessPolicy` verwalteten Richtlinie nicht aufgeführt sind, werden durch die Leitplanke blockiert.

### Durch die Leitplanke blockierte Berechtigungen
<a name="permissions-blocked-by-the-guardrail"></a>

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 wie`s3: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
<a name="summary"></a>


| 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
<a name="choosing-your-resource-boundaries"></a>

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änkung des Servicezugriffs
<a name="restricting-service-access"></a>

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 beim Erstellen 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
<a name="restricting-resource-access"></a>

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.

**Verwendung 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
<a name="restricting-regional-access"></a>

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
<a name="creating-custom-iam-policies"></a>

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 wählen Sie Bearbeiten
+ Wählen **Sie Neue DevOps Agentenrichtlinie mithilfe einer Vorlage erstellen** und folgen Sie den Anweisungen

## Bewährte Methoden für benutzerdefinierte Richtlinien
<a name="custom-policy-best-practices"></a>
+ **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