

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.

# Mithilfe von Regeln auf kontoübergreifende Ressourcen zugreifen AWS IoT
<a name="accessing-cross-account-resources-using-rules"></a>

Sie können AWS IoT Regeln für den kontoübergreifenden Zugriff konfigurieren, sodass Daten, die zu MQTT-Themen eines Kontos aufgenommen wurden, an die AWS Dienste wie Amazon SQS und Lambda eines anderen Kontos weitergeleitet werden können. Im Folgenden wird erklärt, wie AWS IoT Regeln für die kontoübergreifende Datenaufnahme eingerichtet werden, und zwar von einem MQTT-Thema in einem Konto bis hin zu einem Ziel in einem anderen Konto. 

Kontoübergreifende Regeln können mithilfe [ressourcenbasierter Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#TypesPermissions) für die Zielressource konfiguriert werden. Daher können nur Ziele, die ressourcenbasierte Berechtigungen unterstützen, für den kontenübergreifenden Zugriff mit Regeln aktiviert werden. AWS IoT Zu den unterstützten Zielen gehören Amazon SQS, Amazon SNS, Amazon S3 und AWS Lambda. 

**Anmerkung**  
Für die unterstützten Ziele, mit Ausnahme von Amazon SQS, müssen Sie die Regel in derselben Weise AWS-Region wie die Ressource eines anderen Dienstes definieren, damit die Regelaktion mit dieser Ressource interagieren kann. Weitere Informationen zu AWS IoT Regelaktionen finden Sie unter [AWS IoT Regelaktionen](iot-rule-actions.md). Weitere Informationen zur SQS-Aktion einer Regel finden Sie unter[SQS](sqs-rule-action.md).

## Voraussetzungen
<a name="cross-account-prerequisites"></a>
+ Vertrautheit mit [AWS IoT Regeln](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html)
+ Ein Verständnis von [IAM-Benutzern](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html), [-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) und [ressourcenbasierten Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions.html#TypesPermissions)
+ Nach der [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) Installation

## Kontoübergreifende Einrichtung für Amazon SQS
<a name="cross-account-sqs"></a>

Szenario: Konto A sendet Daten aus einer MQTT-Nachricht an die Amazon SQS-Warteschlange von Konto B.


| AWS-Konto | Konto bezeichnet als  | Description | 
| --- | --- | --- | 
| {{1111-1111-1111}} | Konto A | Regelaktion: sqs:SendMessage | 
| {{2222-2222-2222}} | Konto B | Amazon-SQS-Warteschlange [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/iot/latest/developerguide/accessing-cross-account-resources-using-rules.html)  | 

**Anmerkung**  
Ihre Amazon SQS SQS-Zielwarteschlange muss sich nicht in derselben Warteschlange AWS-Region wie Ihre [AWS IoT Regel](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) befinden. Weitere Informationen zur SQS-Aktion der Regel finden Sie unter. [SQS](sqs-rule-action.md)

**Erledigen der Aufgaben von Konto A**
**Hinweis**  
Um die folgenden Befehle auszuführen, muss Ihr IAM-Benutzer über die Berechtigung `iot:CreateTopicRule` mit dem Amazon Resource Name (ARN) der Regel als Ressource und über die Berechtigung `iam:PassRole` Aktion mit einer Ressource als ARN der Rolle verfügen.

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) unter Verwendung des IAM-Benutzers von Konto A. 

1. Erstellen Sie eine IAM-Rolle, die der AWS IoT Regel-Engine vertraut, und fügen Sie eine Richtlinie hinzu, die den Zugriff auf die Amazon SQS SQS-Warteschlange von Konto B ermöglicht. Beispielbefehle und Richtliniendokumente finden Sie unter [Gewährung AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-create-role.html) des erforderlichen Zugriffs.

1. Um eine Regel zu erstellen, die an ein Thema angehängt ist, führen Sie den [create-topic-rule Befehl aus](https://docs.aws.amazon.com/cli/latest/reference/iot/create-topic-rule.html).

   ```
   aws iot create-topic-rule --rule-name {{myRule}} --topic-rule-payload file://./{{my-rule.json}}
   ```

   Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die alle an das `iot/test` Thema gesendeten Nachrichten in die angegebene Amazon SQS-Warteschlange einfügt. Die SQL-Anweisung filtert die Nachrichten und der Rollen-ARN gewährt AWS IoT die Berechtigung, die Nachricht zur Amazon SQS-Warteschlange hinzuzufügen.

   ```
   {
   	"sql": "SELECT * FROM 'iot/test'",
   	"ruleDisabled": false,
   	"awsIotSqlVersion": "2016-03-23",
   	"actions": [
   		{
   			"sqs": {
   				"queueUrl": "https://sqs.region.amazonaws.com/2222-2222-2222/ExampleQueue",
   				"roleArn": "arn:aws:iam::1111-1111-1111:role/my-iot-role",
   				"useBase64": false
   			}
   		}
   	]
   }
   ```

   Weitere Informationen zur Definition einer Amazon SQS-Aktion in einer AWS IoT Regel finden Sie unter [AWS IoT Regelaktionen — Amazon SQS](https://docs.aws.amazon.com/iot/latest/developerguide/sqs-rule-action.html).

**Erledigen der Aufgaben von Konto B**

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) mithilfe des IAM-Benutzers von Konto B. 

1. Um Konto A Berechtigungen für die Amazon SQS-Warteschlangenressource zu erteilen, führen Sie den Befehl [add-permission](https://docs.aws.amazon.com/cli/latest/reference/sqs/add-permission.html) aus.

   ```
   aws sqs add-permission --queue-url {{https://sqs.region.amazonaws.com/2222-2222-2222/ExampleQueue}} --label {{SendMessagesToMyQueue}} --aws-account-ids {{1111-1111-1111}} --actions SendMessage
   ```

## Kontoübergreifende Einrichtung für Amazon SNS
<a name="cross-account-sns"></a>

Szenario: Konto A sendet Daten von einer MQTT-Nachricht an ein Amazon SNS Thema von Konto B.


| AWS-Konto | Konto bezeichnet als  | Description | 
| --- | --- | --- | 
| {{1111-1111-1111}} | Konto A | Regelaktion: sns:Publish | 
| {{2222-2222-2222}} | Konto B | ARN des Amazon-SNS-Themas: {{arn:aws:sns:region:2222-2222-2222:ExampleTopic}}  | 

**Erledigen der Aufgaben von Konto A**
**Hinweise**  
 Um die folgenden Befehle auszuführen, sollte Ihr IAM-Benutzer über Berechtigungen für die `iot:CreateTopicRule` Regel ARN als Ressource und über Berechtigungen für die `iam:PassRole` Aktion mit einer Ressource als Rolle ARN verfügen.

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) unter Verwendung des IAM-Benutzers von Konto A. 

1. Erstellen Sie eine IAM-Rolle, die der AWS IoT Regel-Engine vertraut, und fügen Sie eine Richtlinie hinzu, die den Zugriff auf das Amazon SNS SNS-Thema von Konto B ermöglicht. Befehle und Richtliniendokumente finden Sie beispielsweise unter [Gewährung AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-create-role.html) des erforderlichen Zugriffs.

1. Um eine Regel zu erstellen, die an ein Thema angehängt ist, führen Sie den [create-topic-rule Befehl aus](https://docs.aws.amazon.com/cli/latest/reference/iot/create-topic-rule.html).

   ```
   aws iot create-topic-rule --rule-name {{myRule}} --topic-rule-payload file://./{{my-rule.json}}
   ```

   Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die alle an das `iot/test` Thema gesendeten Nachrichten in die angegebene -Amazon SNS Thema einfügt. Die SQL-Anweisung filtert die Nachrichten, und die Rollen-ARN gewährt AWS IoT Berechtigungen zum Senden der Nachricht an das Amazon SNS Thema.

   ```
   {
   	"sql": "SELECT * FROM 'iot/test'",
   	"ruleDisabled": false,
   	"awsIotSqlVersion": "2016-03-23",
   	"actions": [
   		{
   			"sns": {
   				"targetArn": "arn:aws:sns:region:2222-2222-2222:ExampleTopic",
   				"roleArn": "arn:aws:iam::1111-1111-1111:role/my-iot-role"
   			}
   		}
   	]
   }
   ```

   Weitere Informationen zur Definition einer Amazon SNS-Aktion in einer AWS IoT Regel finden Sie unter [AWS IoT Regelaktionen — Amazon SNS](https://docs.aws.amazon.com/iot/latest/developerguide/sns-rule-action.html).

**Erledigen der Aufgaben von Konto B**

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) mithilfe des IAM-Benutzers von Konto B. 

1. Um Konto A die Erlaubnis für die Amazon SNS-Themenressource zu erteilen, führen Sie den Befehl [add-permission](https://docs.aws.amazon.com/cli/latest/reference/sns/add-permission.html) aus.

   ```
   aws sns add-permission --topic-arn {{arn:aws:sns:region:2222-2222-2222:ExampleTopic}} --label {{Publish-Permission}} --aws-account-id {{1111-1111-1111}} --action-name Publish
   ```

## Kontoübergreifende Einrichtung für Amazon S3
<a name="cross-account-s3"></a>

Szenario: Konto A sendet Daten von einer MQTT-Nachricht an einen Amazon-S3-Bucket von Konto B.


| AWS-Konto | Konto bezeichnet als  | Description | 
| --- | --- | --- | 
| {{1111-1111-1111}} | Konto A | Regelaktion: s3:PutObject | 
| {{2222-2222-2222}} | Konto B | Amazon S3-Bucket ARN: {{arn:aws:s3:::amzn-s3-demo-bucket}}  | 

**Erledigen der Aufgaben von Konto A**
**Hinweis**  
Um die folgenden Befehle auszuführen, sollte Ihr IAM-Benutzer über Berechtigungen für `iot:CreateTopicRule` mit der Regel ARN als Ressource und über Berechtigungen für `iam:PassRole` Aktionen mit einer Ressource als Rolle ARN verfügen.

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) unter Verwendung des IAM-Benutzers von Konto A. 

1. Erstellen Sie eine IAM-Rolle, die der AWS IoT Regel-Engine vertraut, und fügen Sie eine Richtlinie hinzu, die den Zugriff auf den Amazon S3 S3-Bucket von Konto B ermöglicht. Befehle und Richtliniendokumente finden Sie beispielsweise unter [Gewährung AWS IoT des](https://docs.aws.amazon.com/iot/latest/developerguide/iot-create-role.html) erforderlichen Zugriffs.

1. Führen Sie den [create-topic-rule Befehl](https://docs.aws.amazon.com/cli/latest/reference/iot/create-topic-rule.html) aus, um eine Regel zu erstellen, die an Ihren Ziel-S3-Bucket angehängt ist.

   ```
   aws iot create-topic-rule --rule-name {{my-rule}} --topic-rule-payload file://./{{my-rule.json}}
   ```

   Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die alle an das `iot/test` Thema gesendeten Nachrichten in den angegebenen Amazon S3-Bucket einfügt. Die SQL-Anweisung filtert die Nachrichten und der Rollen-ARN gewährt AWS IoT die Berechtigung zum Hinzufügen der Nachricht zum Amazon S3-Bucket.

   ```
   {
   	"sql": "SELECT * FROM 'iot/test'",
   	"ruleDisabled": false,
   	"awsIotSqlVersion": "2016-03-23",
   	"actions": [
   		{
   			"s3": {
   				"bucketName": "amzn-s3-demo-bucket",
   				"key": "${topic()}/${timestamp()}",
   				"roleArn": "arn:aws:iam::1111-1111-1111:role/my-iot-role"
   			}
   		}
   	]
   }
   ```

   Weitere Informationen zur Definition einer Amazon S3-Aktion in einer AWS IoT Regel finden Sie unter [AWS IoT Regelaktionen — Amazon S3](https://docs.aws.amazon.com/iot/latest/developerguide/s3-rule-action.html).

**Erledigen der Aufgaben von Konto B**

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) mithilfe des IAM-Benutzers von Konto B. 

1. Erstellen Sie eine Bucket-Richtlinie, die dem Prinzipal von Konto A vertraut.

   Im Folgenden finden Sie ein Beispiel für eine Payload-Datei, die eine Bucket-Richtlinie definiert, die dem Prinzipal eines anderen Kontos vertraut.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AddCannedAcl",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::123456789012:root"
                   ]
           },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
           }
       ]
   }
   ```

   Weitere Informationen finden Sie unter [Beispiele für Bucket-Richtlinien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-1).

1. Um die Bucket-Richtlinie an den angegebenen Bucket anzuhängen, führen Sie den [put-bucket-policy Befehl aus](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html).

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://./{{amzn-s3-demo-bucket-policy.json}}
   ```

1. Damit der kontoübergreifende Zugriff funktioniert, stellen Sie sicher, dass Sie die richtigen Einstellungen für **Blockieren des gesamten öffentlichen Zugangs** ausgewählt haben. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html).

## Kontoübergreifende Einrichtung für AWS Lambda
<a name="cross-account-lambda"></a>

Szenario: Konto A ruft eine AWS Lambda Funktion von Konto B auf und übergibt eine MQTT-Nachricht.


| AWS-Konto | Konto bezeichnet als  | Description | 
| --- | --- | --- | 
| {{1111-1111-1111}} | Konto A | Regelaktion: lambda:InvokeFunction | 
| {{2222-2222-2222}} | Konto B | ARN der Lambda-Funktion: {{ arn:aws:lambda:region:2222-2222-2222:function:example-function}}  | 

**Erledigen der Aufgaben von Konto A**
**Hinweise**  
 Um die folgenden Befehle ausführen zu können, sollte Ihr IAM-Benutzer über Berechtigungen für `iot:CreateTopicRule` mit der Regel ARN als Ressource und über Berechtigungen für `iam:PassRole` Aktionen mit der Ressource als Rolle ARN verfügen.

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) unter Verwendung des IAM-Benutzers von Konto A. 

1. Führen Sie den [create-topic-rule Befehl aus](https://docs.aws.amazon.com/cli/latest/reference/iot/create-topic-rule.html), um eine Regel zu erstellen, die den kontoübergreifenden Zugriff auf die Lambda-Funktion von Konto B definiert.

   ```
   aws iot create-topic-rule --rule-name {{my-rule}} --topic-rule-payload file://./{{my-rule.json}}
   ```

   Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die alle an das `iot/test` Thema gesendeten Nachrichten in die angegebene Lambda-Funktion einfügt. Die SQL-Anweisung filtert die Nachrichten und die Rolle ARN erteilt AWS IoT die Berechtigung, die Daten an die Lambda-Funktion zu übergeben.

   ```
   {
   	"sql": "SELECT * FROM 'iot/test'",
   	"ruleDisabled": false,
   	"awsIotSqlVersion": "2016-03-23",
   	"actions": [
   		{
   			"lambda": {
   				"functionArn": "arn:aws:lambda:region:2222-2222-2222:function:example-function"
   			}
   		}
   	]
   }
   ```

   Weitere Informationen zum Definieren einer AWS Lambda Aktion in einer AWS IoT Regel finden Sie unter [AWS IoT Regelaktionen — Lambda](https://docs.aws.amazon.com/iot/latest/developerguide/lambda-rule-action.html).

**Erledigen der Aufgaben von Konto B**

1. [Konfigurieren Sie AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) mithilfe des IAM-Benutzers von Konto B. 

1. Führen Sie den [Befehl add-permission von Lambda aus](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html), um AWS IoT Regeln die Erlaubnis zur Aktivierung der Lambda-Funktion zu erteilen. Um den folgenden Befehl auszuführen, sollte Ihr IAM-Benutzer über die entsprechende Berechtigung für `lambda:AddPermission` Aktion verfügen.

   ```
   aws lambda add-permission --function-name {{example-function}} --region {{us-east-1}} --principal iot.amazonaws.com --source-arn {{arn:aws:iot:region:1111-1111-1111:rule/example-rule}} --source-account {{1111-1111-1111}} --statement-id {{"unique_id"}} --action "lambda:InvokeFunction"
   ```

   **Optionen:**

   **--Prinzipal**

    Dieses Feld gibt AWS IoT (dargestellt durch`iot.amazonaws.com`) die Erlaubnis, die Lambda-Funktion aufzurufen.

   **--source-arn**

   Dieses Feld bestätigt, dass diese Lambda-Funktion nur `arn:aws:iot:region:1111-1111-1111:rule/example-rule` in AWS IoT Triggern und keine andere Regel in demselben oder einem anderen Konto diese Lambda-Funktion aktivieren kann.

   **--source-account**

   Dieses Feld bestätigt, dass diese Lambda-Funktion nur im Namen des `1111-1111-1111` Kontos AWS IoT aktiviert wird.
**Hinweise**  
Wenn Sie in der Konsole Ihrer AWS Lambda Funktion unter **Konfiguration** die Fehlermeldung „Die Regel konnte nicht gefunden werden“ sehen, ignorieren Sie die Fehlermeldung und fahren Sie mit dem Testen der Verbindung fort.