Berechtigungen für Amazon EventBridge-Event-Buses - Amazon EventBridge

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.

Berechtigungen für Amazon EventBridge-Event-Buses

Der standardmäßige Event Bus in Ihrem AWS-Konto erlaubt nur Ereignisse von einem Konto. Sie können einem Event Bus zusätzliche Berechtigungen gewähren, indem Sie ihm eine ressourcenbasierte Richtlinie zuordnen. Mit einer ressourcenbasierten Richtlinie können Sie PutEvents-, PutRule- und PutTargets-API-Aufrufe von einem anderen Konto zulassen. Sie können auch IAM-Bedingungen in der Richtlinie verwenden, um einer Organisation Berechtigungen zu erteilen, Tags anzuwenden oder Ereignisse nur nach denen einer bestimmten Regel oder eines bestimmten Kontos zu filtern. Sie können eine ressourcenbasierte Richtlinie für einen Event Bus bei der Erstellung oder danach festlegen.

EventBridge-APIs, die einen Event-Bus-Name-Parameter wie PutRule, PutTargets, DeleteRule, RemoveTargets, DisableRule und EnableRule akzeptieren, akzeptieren auch den Event-Bus-ARN. Verwenden Sie diese Parameter, um über die APIs auf konto- oder regionsübergreifende Event Buses zu verweisen. Sie können beispielsweise PutRule aufrufen, um eine Regel für einen Event Bus in einem anderen Konto zu erstellen, ohne eine Rolle übernehmen zu müssen.

Sie können die Beispielrichtlinien in diesem Thema einer IAM-Rolle zuordnen, um die Erlaubnis zu erteilen, Ereignisse an ein anderes Konto oder eine andere Region zu senden. Verwenden Sie IAM-Rollen, um Kontrollrichtlinien der Organisation und Grenzen dafür festzulegen, wer Ereignisse von Ihrem Konto an andere Konten senden kann. Wir empfehlen, immer IAM-Rollen zu verwenden, wenn das Ziel einer Regel ein Event Bus ist. Sie können IAM-Rollen mithilfe von PutTarget-Aufrufen anhängen. Informationen zum Erstellen einer Regel zum Senden von Ereignissen an ein anderes Konto oder eine andere Region finden Sie unter EventBridge Amazon-Ereignisse zwischen AWS Konten senden und empfangen.

Verwalten von Event-Bus-Berechtigungen

Gehen Sie wie folgt vor, um die Berechtigungen eines vorhandenen Event Bus anzupassen. Informationen über die Verwendung von AWS CloudFormation zur Erstellung einer Event-Bus-Richtlinie finden Sie unter AWS::Events::EventBusPolicy.

So verwalten Sie Berechtigungen für einen vorhandenen Event Bus
  1. Öffnen Sie die Amazon EventBridge-Konsole unter https://console.aws.amazon.com/events/.

  2. Wählen Sie im linken Navigationsbereich die Option Event Buses aus.

  3. Wählen Sie unter Name den Namen des Event Bus aus, für den Sie die Berechtigungen verwalten möchten.

    Wenn eine Ressourcenrichtlinie an den Event Bus angehängt ist, wird die Richtlinie angezeigt.

  4. Wählen Sie Berechtigungen verwalten aus und führen Sie dann einen der folgenden Schritte aus:

    • Geben Sie die Richtlinie ein, die die zu erteilenden Berechtigungen für den Event Bus beinhaltet. Sie können eine Richtlinie aus einer anderen Quelle einfügen oder den JSON-Code für die Richtlinie eingeben.

    • Um eine Vorlage für die Richtlinie zu verwenden, wählen Sie Vorlage laden aus. Ändern Sie die Richtlinie entsprechend Ihrer Umgebung und fügen Sie zusätzliche Aktionen hinzu, für deren Verwendung Sie den Prinzipal in der Richtlinie autorisieren.

  5. Wählen Sie Aktualisieren aus.

Die Vorlage enthält Beispiele mit Richtlinienanweisungen, die Sie an Ihr Konto und Ihre Umgebung anpassen können. Die Vorlage ist keine gültige Richtlinie. Sie können die Vorlage für Ihren Anwendungsfall ändern oder eine der Beispielrichtlinien kopieren und anpassen.

In der Vorlage werden Richtlinien geladen, die ein Beispiel dafür enthalten, wie einem Konto Berechtigungen zur Verwendung der PutEvents-Aktion erteilt werden, wie einer Organisation Berechtigungen erteilt werden und wie dem Konto Berechtigungen zur Verwaltung von Regeln im Konto erteilt werden. Sie können die Vorlage für Ihr spezielles Konto anpassen und dann die anderen Abschnitte aus der Vorlage löschen. Weitere Beispielrichtlinien finden Sie an späterer Stelle in diesem Thema.

Wenn Sie versuchen, die Berechtigungen für den Bus zu aktualisieren, die Richtlinie jedoch einen Fehler enthält, weist eine Fehlermeldung auf das spezifische Problem in der Richtlinie hin.

### Choose which sections to include in the policy to match your use case. ### ### Be sure to remove all lines that start with ###, including the ### at the end of the line. ### ### The policy must include the following: ### { "Version": "2012-10-17", "Statement": [ ### To grant permissions for an account to use the PutEvents action, include the following, otherwise delete this section: ### { "Sid": "AllowAccountToPutEvents", "Effect": "Allow", "Principal": { "AWS": "<ACCOUNT_ID>" }, "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default" }, ### Include the following section to grant permissions to all members of your AWS Organizations to use the PutEvents action ### { "Sid": "AllowAllAccountsFromOrganizationToPutEvents", "Effect": "Allow", "Principal": "*", "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-yourOrgID" } } }, ### Include the following section to grant permissions to the account to manage the rules created in the account ### { "Sid": "AllowAccountToManageRulesTheyCreated", "Effect": "Allow", "Principal": { "AWS": "<ACCOUNT_ID>" }, "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets", "events:DisableRule", "events:EnableRule", "events:TagResource", "events:UntagResource", "events:DescribeRule", "events:ListTargetsByRule", "events:ListTagsForResource"], "Resource": "arn:aws:events:us-east-1:123456789012:rule/default", "Condition": { "StringEqualsIfExists": { "events:creatorAccount": "<ACCOUNT_ID>" } } }] }

Beispielrichtlinie: Senden von Ereignissen an den Standard-Bus in einem anderen Konto

Die folgende Beispielrichtlinie erteilt dem Konto 111122223333 die Berechtigung, Ereignisse im Standard-Event-Bus im Konto 123456789012 zu veröffentlichen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "sid1", "Effect": "Allow", "Principal": {"AWS":"arn:aws:iam::111112222333:root"}, "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default" } ] }

Beispielrichtlinie: Senden von Ereignissen an einen benutzerdefinierten Bus in einem anderen Konto

Die folgende Beispielrichtlinie erteilt dem Konto 111122223333 die Berechtigung, Ereignisse im central-event-bus im Konto 123456789012 zu veröffentlichen, jedoch nur für Ereignisse, bei denen der Quellwert auf com.exampleCorp.webStore und der detail-type auf newOrderCreated gesetzt ist.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "WebStoreCrossAccountPublish", "Effect": "Allow", "Action": [ "events:PutEvents" ], "Principal": { "AWS": "arn:aws:iam::111112222333:root" }, "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/central-event-bus", "Condition": { "StringEquals": { "events:detail-type": "newOrderCreated", "events:source": "com.exampleCorp.webStore" } } } ] }

Beispielrichtlinie: Senden von Ereignissen an einen Event Bus im selben Konto

Die folgende Beispielrichtlinie, die an einen Event Bus mit dem Namen CustomBus1 angehängt ist, ermöglicht es dem Event Bus, Ereignisse aus demselben Konto und derselben Region zu empfangen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "events:PutEvents" ], "Resource": [ "arn:aws:events:us-east-1:123456789:event-bus/CustomBus1" ] } ] }

Beispielrichtlinie: Senden von Ereignissen an dasselbe Konto und Einschränken von Aktualisierungen

Die folgende Beispielrichtlinie erteilt dem Konto 123456789012 die Berechtigung, Regeln zu erstellen, zu löschen, zu aktualisieren, zu deaktivieren und zu aktivieren sowie Ziele hinzuzufügen oder zu entfernen. Sie schränkt diese Regeln ein, die auf Ereignisse mit einer Quelle von com.exampleCorp.webStore zutreffen, und verwendet das "events:creatorAccount": "${aws:PrincipalAccount}", um sicherzustellen, dass nur das Konto 123456789012 diese Regeln und Ziele ändern kann, sobald sie erstellt wurden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InvoiceProcessingRuleCreation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": [ "events:PutRule", "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:PutTargets", "events:RemoveTargets" ], "Resource": "arn:aws:events:us-east-1:123456789012:rule/central-event-bus/*", "Condition": { "StringEqualsIfExists": { "events:creatorAccount": "${aws:PrincipalAccount}", "events:source": "com.exampleCorp.webStore" } } } ] }

Beispielrichtlinie: Senden von Ereignissen nur aus einer bestimmten Regel an den Bus in einer anderen Region

Die folgende Beispielrichtlinie erteilt dem Konto 111122223333 die Berechtigung, Ereignisse, die einer Regel mit dem Namen SendToUSE1AnotherAccount in den Regionen Naher Osten (Bahrain) und USA West (Oregon) entsprechen, an einen Event Bus mit dem Namen CrossRegionBus in der Region USA Ost (Nord-Virginia) im Konto 123456789012 zu senden. Die Beispielrichtlinie wird dem Event Bus mit dem Namen CrossRegionBus im Konto 123456789012 hinzugefügt. Die Richtlinie lässt Ereignisse nur zu, wenn sie einer Regel entsprechen, die für den Event Bus im Konto 111122223333 angegeben ist. Die Condition-Anweisung beschränkt Ereignisse auf diejenigen, die den Regeln mit dem angegebenen Regel-ARN entsprechen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificRulesAsCrossRegionSource", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111112222333:root" }, "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:events:us-west-2:111112222333:rule/CrossRegionBus/SendToUSE1AnotherAccount", "arn:aws:events:me-south-1:111112222333:rule/CrossRegionBus/SendToUSE1AnotherAccount" ] } } } ] }

Beispielrichtlinie: Senden von Ereignissen nur aus einer bestimmten Region an eine andere Region

Die folgende Beispielrichtlinie erteilt dem Konto 111122223333 die Berechtigung, alle Ereignisse, die in den Regionen Naher Osten (Bahrain) und USA West (Oregon) generiert werden, an einen Event Bus mit dem Namen CrossRegionBus im Konto 123456789012 in der Region USA Ost (Nord-Virginia) zu senden. Das Konto 111122223333 ist nicht berechtigt, Ereignisse zu senden, die in einer anderen Region generiert wurden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossRegionEventsFromUSWest2AndMESouth1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111112222333:root" }, "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:events:us-west-2:*:*", "arn:aws:events:me-south-1:*:*" ] } } } ] }

Beispielrichtlinie: Verweigern des Sendens von Ereignissen aus bestimmten Regionen

Die folgende Beispielrichtlinie, die einem Event Bus mit dem Namen CrossRegionBus im Konto 123456789012 zugeordnet ist, erteilt dem Event Bus die Erlaubnis, Ereignisse vom Konto 111122223333 zu empfangen, jedoch keine Ereignisse, die in der Region USA West (Oregon) generiert wurden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "1AllowAnyEventsFromAccount111112222333", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111112222333:root" }, "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus" }, { "Sid": "2DenyAllCrossRegionUSWest2Events", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "events:PutEvents", "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:events:us-west-2:*:*" ] } } } ] }