Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Actions, ressources et clés de condition pour le bus d'événements personnalisé
Utilisez cette page lorsque vous rédigez une politique IAM. Il répertorie toutes les events: actions pour le bus d'événements personnalisé, l'ARN de ressource par rapport auquel chacune d'entre elles est vérifiée, si un autre compte peut être attribué et les clés de condition que vous pouvez ajouter. Par exemple, pour permettre à un rôle d'associer des abonnés dont le METADATA filtre est tenant intitulé acme « Accordez events:CreateSubscriber sur le bus avec une ForAnyValue:StringEquals condition activée events:Metadata/tenant ».
Clés de condition
EventBridge fournit les clés de condition suivantes à partir de la demande, afin que vous puissiez restreindre une autorisation au-delà de l'action et de la ressource. Pour les clés de condition globales, consultez les clés contextuelles de conditions AWS globales dans le Guide de l'utilisateur IAM.
| Clé de condition | Value | Fourni le |
|---|---|---|
events:source | La source de l'événement ou la source en cours de transfert | PutEvents, CreateEventSource, UpdateEventSource |
events:detail-type | Type de détail de l'événement | PutEvents |
events:Metadata/ | Les valeurs auxquelles correspond un METADATA filtre pour cette clé | CreateSubscriber |
events:Metadata/ | exact | CreateSubscriber |
events:ContentFilterPresent | truelorsque l'abonné déclare un DATA filtre | CreateSubscriber |
aws:ResourceTag/ | Une étiquette sur le bus, l'abonné ou la source d'événement en cours de vérification | Chaque action est vérifiée par rapport à une ressource |
aws:RequestTag/, aws:TagKeys | Les balises de la demande | Ils créent des opérations etTagResource, UntagResource |
Une clé de métadonnées est fournie sous la forme d'un ensemble de valeurs, alors associez-la à un opérateur d'ensemble tel queForAnyValue:StringEquals. METADATAles filtres ne correspondent qu'à l'exacte, c'est pourquoi la valeur du matcher est toujours. exact Un DATA filtre correspond à un code JSON arbitraire, de sorte que seule sa présence est exposée, pas son contenu. UpdateEventSourcerelance la vérification du bus avec events:source set à partir de la configuration de remplacement, de sorte qu'une condition sur cette clé régit une source d'événements repointée ainsi qu'une nouvelle.
La politique de ressources suivante permet de 444455556666 créer des comptes abonnés sur le orders bus uniquement lorsque le METADATA filtre de l'abonné correspond tenant exactement àacme. Un abonné sans METADATA filtre, ou un abonné qui nomme un autre locataire, est refusé. EventBridge fournit une clé de condition de métadonnées uniquement pour les champs déclarés par un filtre. C'est donc la Null condition qui refuse un filtre qui tenant omet.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SubscribeToAcmeEventsOnly", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": "events:CreateSubscriber", "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef", "Condition": { "Null": { "events:Metadata/tenant": "false" }, "ForAnyValue:StringEquals": { "events:Metadata/tenant": "acme" }, "StringEquals": { "events:Metadata/tenant/Matcher": "exact" } } } ] }
Les actions et les ressources par rapport auxquelles elles sont comparées
Le tableau suivant répertorie chaque action, l'ARN de ressource à insérer dans l'Resourceélément de la politique et indique si le propriétaire d'un bus peut accorder l'action à un autre compte par le biais d'une politique de ressources ou d'un AWS RAM partage. Les trois List actions ne sont comparées à aucune ressource, alors accordez-leur"Resource": "*".
| Action IAM | Vérifié par rapport à | Cessible sur un autre compte |
|---|---|---|
events:CreateEventBus | Le bus en cours de création | Non. Créé sur le compte de l'appelant |
events:DescribeEventBus | Le bus | Oui |
events:UpdateEventBus | Le bus | Non. Propriétaire du bus uniquement |
events:DeleteEventBus | Le bus | Non. Propriétaire du bus uniquement |
events:ListEventBuses | Rien Account-wide | Non. Répertorie les bus personnels et partagés de l'appelant |
events:PutEvents | Le bus, une fois par entrée dans la demande | Oui |
events:PutRawEvents | Le bus, une fois par entrée dans la demande | Oui |
events:CreateSubscriber | Le bus et l'abonné en cours de création | Oui |
events:DescribeSubscriber | L'abonné | Le propriétaire de l'abonné l'autorise |
events:UpdateSubscriber | L'abonné | Le propriétaire de l'abonné l'autorise |
events:DeleteSubscriber | L'abonné | Le propriétaire de l'abonné l'autorise |
events:ListSubscribers | Rien Account-wide | Non. Répertorie les propres abonnés de l'appelant |
events:RevokeResource | Le bus | Non. Propriétaire du bus uniquement |
events:CreateEventSource | Le bus et la source d'événements en cours de création | Oui |
events:DescribeEventSource | La source de l'événement | Le propriétaire de la source de l'événement l'autorise |
events:UpdateEventSource | La source de l'événement, et encore le bus | Oui, pour l'enregistrement du bus |
events:DeleteEventSource | La source de l'événement | Le propriétaire de la source de l'événement l'autorise |
events:ListEventSources | Rien Account-wide | Non. Répertorie les sources d'événements propres à l'appelant |
events:PutResourcePolicy | Le bus | Non. Propriétaire du bus uniquement |
events:GetResourcePolicy | Le bus | Oui |
events:DeleteResourcePolicy | Le bus | Non. Propriétaire du bus uniquement |
events:ListResourcePolicies | Le bus | Oui |
events:TagResource | Le bus, l'abonné ou la source d'événements nommé dans la demande | Bus : oui. Abonné ou source de l'événement : son propriétaire |
events:UntagResource | Le bus, l'abonné ou la source d'événements nommé dans la demande | Bus : oui. Abonné ou source de l'événement : son propriétaire |
events:ListTagsForResource | Le bus, l'abonné ou la source d'événements nommé dans la demande | Bus : oui. Abonné ou source de l'événement : son propriétaire |
Pour créer un abonné ou une source d'événements sur un bus, l'appelant a besoin de l'action sur le bus ainsi que sur la nouvelle ressource. C'est ce qui permet au propriétaire d'un bus de décider, dans la politique du bus, quels comptes peuvent y être associés. CreateSubscribereffectue quatre contrôles d'autorisation distincts, et les quatre doivent autoriser : events:CreateSubscriber sur le bus, events:CreateSubscriber sur l'abonné, iam:PassRole sur le rôle et events:TagResource sur l'abonné lorsque la demande contient des balises. InvokeConfiguration.RoleArn CreateEventSourceexécute les mêmes vérifications sansiam:PassRole, car une source d'événement n'a aucun rôle.
Note
Une ressource qui n'existe pas mais n'a pas d'ARN complet. Par conséquent, une vérification de création utilise un ARN se terminant par un caractère générique, tel quearn:aws:events:us-east-1:111122223333:subscriber/. Une politique limitée à un abonné correspond donc à un préfixe de nom, pas exactement. Une création non balisée fournit non name/*aws:ResourceTag pour la nouvelle ressource, donc une StringEquals condition sur cette clé la refuse.
Exemples de stratégies basées sur l'identité
Un producteur a besoin events:PutEvents events:PutRawEvents de l'ARN du bus, ou des deux. Accordez l'action qui correspond à l'API qu'elle appelle. Le producteur d'un bus chiffré avec une clé gérée par le client doit également accéder à cette clé ; voirChiffrement des événements sur un bus d'événements personnalisé. Le propriétaire d'un abonné a besoin d'informations events:CreateSubscriber sur le bus et sur l'abonné, iam:PassRole du rôle de diffusion et des actions de description, de mise à jour et de suppression des abonnés sur les abonnés qu'il gère. Un administrateur de bus a besoin des actions de création, de mise à jour et de suppression de bus, des quatre actions de politique des ressources etevents:RevokeResource.
La politique suivante permet à un producteur de publier sur un bus avec l'une ou l'autre des API de publication, et de lire le bus afin qu'il puisse confirmer que le bus est le ACTIVE premier. La publication est autorisée une fois pour chaque entrée de la demande, et il n'y a pas d'autorisation partielle : si une entrée échoue à une vérification de condition, la EventBridge demande dans son ensemble est rejetée, y compris les entrées qui auraient été acceptées.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublishToOrdersBus", "Effect": "Allow", "Action": [ "events:PutEvents", "events:PutRawEvents", "events:DescribeEventBus" ], "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef" } ] }
Identification
Vous pouvez taguer un bus, un abonné ou une source d'événement. Sélectionnez Tags Créer un appel, ou utiliser TagResourceUntagResource, et ListTagsForResource ensuite. Chaque ressource possède son propre ensemble de balises, de sorte que le balisage d'un bus n'étiquette pas les abonnés ou les sources d'événements qui y sont associées.
aws eventsv2 tag-resource \ --resource-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \ --tags team=payments,environment=production
Une réponse de création ne fait pas écho aux balises que vous avez fournies, alors relisez-les list-tags-for-resource lorsque vous aurez besoin de les confirmer. Les touches commençant par aws: sont réservées AWS et sont rejetées à chaque écriture, y comprisUntagResource. Pour contrôler qui peut baliser et pour rédiger des politiques qui dépendent des balises, utilisez les trois actions de balise du tableau précédent et les touches de aws:TagKeys condition aws:RequestTagaws:ResourceTag, et.