

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é
<a name="eb-custom-bus-access-actions"></a>

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
<a name="eb-custom-bus-access-conditions"></a>

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 ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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/{{key}} | Les valeurs auxquelles correspond un METADATA filtre pour cette clé | CreateSubscriber | 
| events:Metadata/{{key}}/Matcher | exact | CreateSubscriber | 
| events:ContentFilterPresent | truelorsque l'abonné déclare un DATA filtre | CreateSubscriber | 
| aws:ResourceTag/{{key}} | 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/{{key}}, 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 que`ForAnyValue:StringEquals`. `METADATA`les 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. `UpdateEventSource`relance 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
<a name="eb-custom-bus-access-actions-table"></a>

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. `CreateSubscriber`effectue 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` `CreateEventSource`exécute les mêmes vérifications sans`iam: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 que`arn:aws:events:us-east-1:111122223333:subscriber/{{name}}/*`. Une politique limitée à un abonné correspond donc à un préfixe de nom, pas exactement. Une création non balisée fournit non `aws:ResourceTag` pour la nouvelle ressource, donc une `StringEquals` condition sur cette clé la refuse.

## Exemples de stratégies basées sur l'identité
<a name="eb-custom-bus-access-identity"></a>

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é ; voir[Chiffrement des événements sur un bus d'événements personnalisé](eb-custom-bus-encryption.md). 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 et`events: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
<a name="eb-custom-bus-access-tagging"></a>

Vous pouvez taguer un bus, un abonné ou une source d'événement. Sélectionnez `Tags` Créer un appel, ou utiliser `TagResource``UntagResource`, 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 compris`UntagResource`. 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:RequestTag``aws:ResourceTag`, et.