

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.

# CloudWatch Pipelines, IAM-Richtlinien und -Berechtigungen
<a name="pipeline-iam-reference"></a>

In diesem Abschnitt werden die IAM-Anforderungen für Pipelines beschrieben. CloudWatch Die Berechtigungen variieren je nach Datenquelle und Integrationsmethode.

Anhand der folgenden Tabelle können Sie ermitteln, welche IAM-Abschnitte für Ihren Anwendungsfall gelten.


| Anwendungsfall | Methode der Integration | Quelltyp in der Pipeline-Konfiguration | IAM-Abschnitte, die Sie benötigen | 
| --- | --- | --- | --- | 
| [Third-party Integrationen (API Pull)](data-sources-third-party.md) | Die Pipeline ruft mithilfe von gespeicherten Anmeldeinformationen von der Anbieter-API ab | microsoft\_office365, okta\_sso, palo\_alto\_ngfw, usw. | [Berechtigungen für API-Aufrufer](#api-caller-permissions) \+ [Third-party Quellen (API Pull)](#third-party-api-pull) \+ [Ressourcenrichtlinien](#resource-policies) | 
| [Third-party Integrationen (S3-Bereitstellung)](data-sources-third-party.md) | Der Anbieter liefert Dateien an Ihren S3-Bucket | s3 | [Berechtigungen für API-Aufrufer](#api-caller-permissions) \+ [Third-party Quellen (S3-Lieferung)](#third-party-s3-delivery) \+ [Ressourcenrichtlinien](#resource-policies) | 
| [Benutzerdefinierte Daten aus S3](data-sources-custom.md) | Ihre Anwendungen schreiben in S3, die Pipeline liest aus dem Bucket | s3 | [Berechtigungen für API-Aufrufer](#api-caller-permissions) \+ [Benutzerdefinierte Daten aus S3](#custom-data-s3) \+ [Ressourcenrichtlinien](#resource-policies) | 
| [Benutzerdefinierte Daten aus CloudWatch Logs](data-sources-custom.md) | Ihre Anwendungen werden in einer CloudWatch Logs-Protokollgruppe protokolliert | cloudwatch\_logs | [Berechtigungen für API-Aufrufer](#api-caller-permissions) \+ [Benutzerdefinierte Daten aus Protokollen CloudWatch](#custom-data-cloudwatch-logs) | 
| [Protokolle der verkauften AWS Dienste](data-sources-aws-services.md) | AWS Dienste liefern CloudWatch Protokolle an Logs (VPC Flow Logs, Route 53) | cloudwatch\_logs | [Berechtigungen für API-Aufrufer](#api-caller-permissions) \+ [Verkauft AWS Serviceprotokolle](#vended-service-logs) | 

**Anmerkung**  
S3-based sources (`s3`) erfordern nach der Erstellung der Pipeline eine Ressourcenrichtlinie. CloudWatch Logquellen (`cloudwatch_logs`) tun dies nicht.

## Berechtigungen für API-Aufrufer
<a name="api-caller-permissions"></a>

Der IAM-Principal, der aufruft, `CreateTelemetryPipeline` benötigt `iam:PassRole` Berechtigungen für alle Rollen, auf die in der Pipeline-Konfiguration verwiesen wird.

**Example PassRole Richtlinienvorlage**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PassRoleForPipelineSource",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{your-account-id}}:role/{{your-source-role}}",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "{{service-principal}}"
                    ],
                    "iam:AssociatedResourceARN": [
                        "arn:aws:observabilityadmin:{{your-region}}:{{your-account-id}}:telemetry-pipeline/*"
                    ]
                }
            }
        }
    ]
}
```

{{service-principal}}Ersetzen Sie ihn je nach Anwendungsfall durch den Wert aus der folgenden Tabelle.


| Anwendungsfall | Hauptwert des Dienstes | 
| --- | --- | 
| Third-party (API-Pull) | telemetry-pipelines.observabilityadmin.amazonaws.com | 
| Third-party (S3-Lieferung) | telemetry-pipelines.observabilityadmin.amazonaws.com | 
| Benutzerdefinierte Daten aus S3 | telemetry-pipelines.observabilityadmin.amazonaws.com | 
| Benutzerdefinierte Daten aus CloudWatch Protokollen | logs.amazonaws.com | 
| Protokolle der versendeten AWS Dienste | logs.amazonaws.com | 

**Anmerkung**  
Der `Condition` Block wird empfohlen, ist aber optional. Ohne ihn kann die Rolle an jeden Dienst übergeben werden.

### Berechtigungen für Pipeline-Regeln (nur CloudWatch Protokollquellen)
<a name="pipeline-rule-permissions"></a>

Bei der Verwendung `cloudwatch_logs` als Quelle benötigt der API-Aufrufer auch Berechtigungen für Pipeline-Regeloperationen. Die `logs:PutPipelineRule` Erlaubnis ist für `CreateTelemetryPipeline` und `UpdateTelemetryPipeline` -Operationen erforderlich. Die `logs:DeletePipelineRule` Genehmigung ist für den `DeleteTelemetryPipeline` Betrieb erforderlich.

**Example IAM-Richtlinie für CloudWatch Log-Pipeline-Regeln**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PipelineRuleForCloudWatchLogs",
            "Effect": "Allow",
            "Action": [
                "logs:PutPipelineRule",
                "logs:DeletePipelineRule"
            ],
            "Resource": "*"
        }
    ]
}
```

## Richtlinien für Quellrollen
<a name="source-role-policies"></a><a name="source-specific-iam-policies"></a><a name="trust-relationships"></a>

Für jede Pipeline ist eine spezielle IAM-Rolle erforderlich, die der Dienst zum Lesen Ihrer Daten übernimmt. Die folgenden Unterabschnitte enthalten die vollständigen Richtlinien (Genehmigung und Vertrauen) für jeden Anwendungsfall.

### Third-party Quellen (API Pull)
<a name="third-party-api-pull"></a>

Dieser Abschnitt bezieht sich auf Microsoft Office 365, Microsoft Entra ID, Okta SSO, Palo Alto NGFW und andere Anbieter-API-Integrationen, die Anmeldeinformationen in Secrets Manager speichern. AWS 

**Berechtigungsrichtlinie**

Die folgende Richtlinie ermöglicht es der Rolle, Ihre gespeicherten API-Anmeldeinformationen abzurufen.

**Example IAM-Richtlinie für Secrets Manager Manager-Quellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "secrets-manager-access",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:{{your-region}}:{{your-account-id}}:secret:{{your-secret-name}}*"
        },
        {
            "Sid": "kms-access",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:{{your-region}}:{{your-account-id}}:key/{{your-key-id}}"
        }
    ]
}
```

**Anmerkung**  
Die `kms:Decrypt` Anweisung ist nur erforderlich, wenn Ihr Geheimnis in Secrets Manager mit einem vom Kunden verwalteten KMS-Schlüssel verschlüsselt ist.

**Vertrauensrichtlinie**

**Example Vertrauensrichtlinie für API-Pull-Quellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

#### Schließen Sie das IAM-Setup für API-Pull-Pipelines ab
<a name="api-pull-complete-setup"></a>

Das folgende Beispiel zeigt alle IAM-Richtlinien, die erforderlich sind, um eine API-Pull-Pipeline eines Drittanbieters von Ende zu Ende zu erstellen.

**Richtlinie zur Anruferidentität** — an den Hauptanruf anhängen: `CreateTelemetryPipeline`

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateApiPullPipeline",
            "Effect": "Allow",
            "Action": [
                "observabilityadmin:CreateTelemetryPipeline",
                "iam:PassRole"
            ],
            "Resource": "*"
        }
    ]
}
```

**Berechtigungsrichtlinie für Quellrollen** — der Rolle zuordnen, die die Pipeline annimmt:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SecretsManagerAccess",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:{{your-region}}:{{your-account-id}}:secret:{{your-secret-name}}*"
        }
    ]
}
```

**Vertrauensrichtlinie für Quellrollen**:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

**Anmerkung**  
Nachdem Sie die Pipeline erstellt haben, müssen Sie innerhalb von 5 Minuten auch eine Ressourcenrichtlinie erstellen. Siehe [Ressourcenrichtlinien](#resource-policies).

**Anmerkung**  
Für den produktiven Einsatz können Sie `iam:PassRole` mithilfe der unter aufgeführten Bedingungsschlüssel den Bereich nach unten einschränken[Berechtigungen für API-Aufrufer](#api-caller-permissions). Wenn Ihr Secret einen vom Kunden verwalteten KMS-Schlüssel verwendet, fügen Sie ihn `kms:Decrypt` der Berechtigungsrichtlinie für die Quellrolle hinzu.

### Third-party Quellen (S3-Lieferung)
<a name="third-party-s3-delivery"></a>

Dieser Abschnitt gilt für alle Drittanbieter, die Protokolldateien für Ihren S3-Bucket bereitstellen (z. B. CrowdStrike Falcon, Wiz oder Cisco Umbrella).

**Berechtigungsrichtlinie**

Die folgende Richtlinie ermöglicht es der Rolle, Objekte aus S3 zu lesen und SQS-Benachrichtigungen zu verarbeiten.

**Example IAM-Richtlinie für S3-Quellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3-access",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::{{your-bucket-name}}/*"
        },
        {
            "Sid": "sqs-access",
            "Effect": "Allow",
            "Action": [
                "sqs:ReceiveMessage",
                "sqs:DeleteMessage",
                "sqs:ChangeMessageVisibility"
            ],
            "Resource": "arn:aws:sqs:{{your-region}}:{{your-account-id}}:{{your-queue-name}}"
        },
        {
            "Sid": "kms-access",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:{{your-region}}:{{your-account-id}}:key/{{your-key-id}}"
        }
    ]
}
```

**Anmerkung**  
Die `kms:Decrypt` Anweisung ist nur erforderlich, wenn Ihr S3-Bucket oder Ihre SQS-Warteschlange einen vom Kunden verwalteten KMS-Schlüssel für die Verschlüsselung verwendet.

**Vertrauensrichtlinie**

**Example Vertrauensrichtlinie für S3-Lieferquellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

#### Vollständiges IAM-Setup für S3-Liefer-Pipelines
<a name="s3-delivery-complete-setup"></a>

Das folgende Beispiel zeigt alle IAM-Richtlinien, die erforderlich sind, um eine S3-Lieferpipeline von Ende zu Ende zu erstellen.

**Richtlinie zur Anruferidentität** — an den Hauptanruf anhängen: `CreateTelemetryPipeline`

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateS3Pipeline",
            "Effect": "Allow",
            "Action": [
                "observabilityadmin:CreateTelemetryPipeline",
                "iam:PassRole"
            ],
            "Resource": "*"
        }
    ]
}
```

**Berechtigungsrichtlinie für Quellrollen** — der Rolle zuordnen, die die Pipeline annimmt:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Access",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::{{your-bucket-name}}/*"
        },
        {
            "Sid": "SqsAccess",
            "Effect": "Allow",
            "Action": [
                "sqs:ReceiveMessage",
                "sqs:DeleteMessage",
                "sqs:ChangeMessageVisibility"
            ],
            "Resource": "arn:aws:sqs:{{your-region}}:{{your-account-id}}:{{your-queue-name}}"
        }
    ]
}
```

**Vertrauensrichtlinie für Quellrollen**:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

**Anmerkung**  
Nachdem Sie die Pipeline erstellt haben, müssen Sie innerhalb von 5 Minuten auch eine Ressourcenrichtlinie erstellen. Siehe [Ressourcenrichtlinien](#resource-policies).

**Anmerkung**  
Für den produktiven Einsatz können Sie `iam:PassRole` mithilfe der unter aufgeführten Bedingungsschlüssel den Bereich nach unten einschränken[Berechtigungen für API-Aufrufer](#api-caller-permissions). Wenn Ihr S3-Bucket oder Ihre SQS-Warteschlange einen vom Kunden verwalteten KMS-Schlüssel verwendet, fügen Sie ihn der `kms:Decrypt` Berechtigungsrichtlinie für die Quellrolle hinzu.

### Benutzerdefinierte Daten aus S3
<a name="custom-data-s3"></a>

Dieser Abschnitt bezieht sich auf Ihre eigenen Anwendungen oder Infrastrukturen, die Protokolldateien in einen S3-Bucket schreiben.

Das IAM-Setup ist identisch mit. [Third-party Quellen (S3-Lieferung)](#third-party-s3-delivery) Verwenden Sie dieselbe Berechtigungsrichtlinie und dieselbe Vertrauensrichtlinie. Die Pipeline liest über SQS-Ereignisbenachrichtigungen aus Ihrem Bucket, unabhängig davon, wer die Daten geschrieben hat.

### Benutzerdefinierte Daten aus Protokollen CloudWatch
<a name="custom-data-cloudwatch-logs"></a>

Dieser Abschnitt bezieht sich auf Ihre eigenen Anwendungen, die in einer CloudWatch Logs-Protokollgruppe protokollieren (z. B. Lambda-Funktionen, ECS-Container oder benutzerdefinierte EC2-Anwendungen).

**Berechtigungsrichtlinie**

Die folgende Richtlinie ermöglicht es der Rolle, Protokolle aus Ihren angegebenen Protokollgruppen zu verarbeiten.

**Example IAM-Richtlinie für CloudWatch Protokollquellen**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "logs-processing-access",
            "Effect": "Allow",
            "Action": [
                "logs:processWithPipeline"
            ],
            "Resource": [
                "arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-01}}",
                "arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-02}}"
            ]
        }
    ]
}
```

Sie können diese Berechtigung einschränken, indem Sie mit den `logs:data_source_type` Bedingungsschlüsseln `logs:data_source_name` und einschränken, welche Pipeline-Quellen Transformationen aufrufen können. Der `logs:data_source_name` Wert entspricht der `data_source_name` in Ihrer Pipeline-Konfiguration und `logs:data_source_type` entspricht der `data_source_type` in Ihrer Pipeline-Konfiguration.

**Example Berechtigungsrichtlinie für CloudWatch Protokollquellen (begrenzt auf Bedingungsschlüssel)**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowProcessWithPipelineScopedDown",
            "Effect": "Allow",
            "Action": "logs:ProcessWithPipeline",
            "Resource": "arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "{{your-account-id}}",
                    "logs:data_source_name": "{{your-source-name}}",
                    "logs:data_source_type": "{{your-source-type}}"
                }
            }
        }
    ]
}
```

**Anmerkung**  
Die IAM-Rolle für CloudWatch Protokollquellen erfordert sowohl die Vertrauensrichtlinie (um die Übernahme der Rolle `logs.amazonaws.com` zu ermöglichen) als auch die Berechtigungsrichtlinie (um zu gewähren). `logs:ProcessWithPipeline` Ohne beide Richtlinien können CloudWatch Pipelines Protokollereignisse während der Aufnahme nicht transformieren.

**Vertrauensrichtlinie**

**Example Vertrauensrichtlinie für Protokollquellen CloudWatch**  

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

**Anmerkung**  
Für CloudWatch Protokollquell-Pipelines ist keine Ressourcenrichtlinie erforderlich.

#### Schließen Sie das IAM-Setup für CloudWatch Logs-Pipelines ab
<a name="cloudwatch-logs-complete-setup"></a>

Das folgende Beispiel zeigt alle IAM-Richtlinien, die erforderlich sind, um eine CloudWatch Logs-Pipeline von Ende zu Ende zu erstellen.

**Richtlinie zur Anruferidentität** — an den Anrufer des Anrufers anhängen: `CreateTelemetryPipeline`

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateLogsPipeline",
            "Effect": "Allow",
            "Action": [
                "observabilityadmin:CreateTelemetryPipeline",
                "logs:PutPipelineRule",
                "logs:DeletePipelineRule",
                "iam:PassRole"
            ],
            "Resource": "*"
        }
    ]
}
```

**Berechtigungsrichtlinie für Quellrollen** — der Rolle zuordnen, die die Pipeline annimmt:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "LogsProcessing",
            "Effect": "Allow",
            "Action": [
                "logs:processWithPipeline"
            ],
            "Resource": [
                "arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group}}"
            ]
        }
    ]
}
```

**Vertrauensrichtlinie für Quellrollen**:

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

**Anmerkung**  
Für den produktiven Einsatz können Sie den Bereich `iam:PassRole` mithilfe der unter aufgeführten Bedingungsschlüssel einschränken[Berechtigungen für API-Aufrufer](#api-caller-permissions).

### Verkauft AWS Serviceprotokolle
<a name="vended-service-logs"></a>

Dieser Abschnitt bezieht sich auf AWS Dienstprotokolle, die an CloudWatch Logs übermittelt werden, wie VPC Flow Logs, Route 53 53-Abfrageprotokolle und andere AWS verkaufte Protokolltypen.

Das IAM-Setup ist identisch mit. [Benutzerdefinierte Daten aus Protokollen CloudWatch](#custom-data-cloudwatch-logs) Verwenden Sie dieselbe Berechtigungsrichtlinie (`logs:processWithPipeline`für die Protokollgruppe) und dieselbe Vertrauensrichtlinie (). `logs.amazonaws.com`

Da dabei der `cloudwatch_logs` Quelltyp verwendet wird, benötigt `logs:PutPipelineRule` der Aufrufer auch Berechtigungen. `logs:DeletePipelineRule` Siehe [Berechtigungen für Pipeline-Regeln (nur CloudWatch Protokollquellen)](#pipeline-rule-permissions).

## Ressourcenrichtlinien
<a name="resource-policies"></a>

CloudWatch Für S3-based Quellen und geheime Manager-based Quellen (Integrationen von Drittanbietern) sind Protokollressourcenrichtlinien erforderlich. Für CloudWatch Protokollquellen (benutzerdefinierte Daten oder verkaufte Protokolle) sind **keine** Ressourcenrichtlinien erforderlich.

Nach dem Anruf `CreateTelemetryPipeline` erhalten Sie einen Pipeline-ARN. Sie müssen dann aufrufen`[logs:PutResourcePolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html)`, damit der Dienstprinzipal der CloudWatch Pipelines in die konfigurierte Protokollgruppe schreiben kann.

**Zeitliche Einschränkungen**  
Sie haben nach Erhalt des Pipeline-ARN weniger als 5 Minuten Zeit, um diese Ressourcenrichtlinie zu erstellen. Wenn die Pipeline aktiv wird, bevor die Richtlinie in Kraft getreten ist, werden Daten gelöscht.

**Example Protokolle: PutResourcePolicy Anfrage**  

```
{
    "policyName": "resourceArn=arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*",
    "policyDocument": {
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com"
                },
                "Action": [
                    "logs:CreateLogStream",
                    "logs:PutLogEvents"
                ],
                "Condition": {
                    "StringEquals": {
                        "aws:SourceArn": "arn:aws:observabilityadmin:{{your-region}}:{{your-account-id}}:telemetry-pipeline/{{your-pipeline-id}}"
                    }
                }
            }
        ]
    }
}
```

## Verwaltung von Ressourcenrichtlinien
<a name="managing-resource-policies"></a>

Verwenden Sie die AWS CLI, um CloudWatch Protokollressourcenrichtlinien für CloudWatch Pipelines zu erstellen oder zu aktualisieren.

**Um nach vorhandenen Richtlinien zu suchen**

```
aws logs describe-resource-policies \
    --resource-arn arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*
```

**Um eine neue Richtlinie zu erstellen**

```
aws logs put-resource-policy \
    --region {{your-region}} \
    --policy-name "resourceArn=arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*" \
    --policy-document file://policy.json
```

**Um mit einer vorhandenen Richtlinie zusammenzuführen**

Wenn bereits eine Ressourcenrichtlinie vorhanden ist, fügen Sie die neue Anweisung dem vorhandenen `Statement` Array im Richtliniendokument hinzu und rufen Sie dann `put-resource-policy` erneut mit der zusammengeführten Datei auf.

1. Rufen Sie die bestehende Richtlinie ab:

   ```
   aws logs describe-resource-policies \
       --resource-arn arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*
   ```

1. Fügen Sie die neue Anweisung dem vorhandenen `Statement` Array hinzu:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "existing-service.amazonaws.com"
               },
               "Action": [
                   "logs:SomeAction"
               ]
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "telemetry-pipelines.observabilityadmin.amazonaws.com"
               },
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:SourceArn": "arn:aws:observabilityadmin:{{your-region}}:{{your-account-id}}:telemetry-pipeline/{{your-pipeline-id}}"
                   }
               }
           }
       ]
   }
   ```

1. Aktualisieren Sie die Richtlinie:

   ```
   aws logs put-resource-policy \
       --region {{your-region}} \
       --policy-name "resourceArn=arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*" \
       --policy-document file://existing-policy.json
   ```

Bestätigen Sie, dass die Richtlinie erfolgreich erstellt oder aktualisiert wurde:

```
aws logs describe-resource-policies \
    --resource-arn arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:{{your-log-group-name}}:*
```

Ersetzen die folgenden Platzhalter:
+ {{your-region}}— Ihre AWS Region (zum Beispiel us-east-1)
+ {{your-account-id}}— Ihre 12-stellige Konto-ID AWS 
+ {{your-log-group-name}}— Name Ihrer CloudWatch Logs-Protokollgruppe
+ {{your-pipeline-id}}— Ihre Telemetrie-Pipeline-ID (zurückgegeben von`CreateTelemetryPipeline`)

## Schlüssel zum Zustand der Pipeline
<a name="pipeline-condition-keys"></a>

CloudWatch Pipelines unterstützt IAM-Bedingungsschlüssel, mit denen Sie einschränken können, wer Pipelines erstellen kann und welche Konten Quellrollen übernehmen können. Verwenden Sie diese Bedingungsschlüssel, um Governance-Richtlinien in Ihrer gesamten Organisation durchzusetzen.

### CreateTelemetryPipeline Bedingungen
<a name="create-pipeline-conditions"></a>

Verwenden Sie diese Bedingungsschlüssel in Identitätsrichtlinien, um zu steuern, welche Pipelines ein Principal erstellen kann.

`observabilityadmin:SourceType`  
Beschränkt die Pipelineerstellung auf bestimmte Quelltypen. Zu den unterstützten Werten gehören `cloudwatch_logs``s3`,`microsoft_office365`,`okta_sso`, und`palo_alto_ngfw`.

**Example Beschränken Sie die Pipelineerstellung nach Quelltyp**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPipelineCreationForSpecificSourceType",
            "Effect": "Allow",
            "Action": "observabilityadmin:CreateTelemetryPipeline",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "observabilityadmin:SourceType": "cloudwatch_logs"
                }
            }
        }
    ]
}
```

### Bedingungen der Vertrauensrichtlinie für Quellrollen
<a name="source-role-trust-conditions"></a>

Verwenden Sie diese Bedingungsschlüssel in der Vertrauensrichtlinie Ihrer Quellrolle, um einzuschränken, welches Konto die Rolle übernehmen kann. Dies verhindert verwirrte Deploy-Attacken, bei denen der Dienst möglicherweise im Namen eines anderen Accounts agiert.

`aws:SourceAccount`  
Beschränkt die Rollenübernahme auf Anfragen, die von einem bestimmten AWS Konto stammen.

`aws:SourceArn`  
Schränkt die Rollenübernahme auf Anfragen ein, die von einem bestimmten Ressourcen-ARN (z. B. einer Protokollgruppe) stammen.

**Example Vertrauenswürdige Richtlinie mit SourceAccount Bedingung (CloudWatch Protokollquellen)**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "logs.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{your-account-id}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:logs:{{your-region}}:{{your-account-id}}:log-group:*"
                }
            }
        }
    ]
}
```

## AI-assisted Berechtigungen für die Prozessorkonfiguration
<a name="ai-assisted-permissions"></a>

Um die AI-assisted Prozessorkonfiguration in der CloudWatch Pipeline-Konsole verwenden zu können, muss der IAM-Prinzipal über die `logs:GeneratePipeline` entsprechende Berechtigung verfügen. Diese Berechtigung autorisiert die Generierung von Prozessorkonfigurationen anhand von Beschreibungen in natürlicher Sprache.

**Example IAM-Richtlinie für die Prozessorkonfiguration AI-assisted**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGeneratePipeline",
            "Effect": "Allow",
            "Action": "logs:GeneratePipeline",
            "Resource": "*"
        }
    ]
}
```