

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.

# Partager un bus d'événements personnalisé avec d'autres comptes
<a name="eb-custom-bus-sharing"></a>

Pour autoriser un autre compte à publier sur votre bus, à y associer des abonnés ou à y associer des sources d'événements, partagez le bus avec AWS Resource Access Manager (AWS RAM) et choisissez l'une des quatre autorisations gérées. Par exemple, partagez le `orders` bus avec un compte `444455556666` en utilisant`AWSRAMEventBridgeEventBusV2SubscribeOnly`, et ce compte peut créer des abonnés dessus. Écrivez plutôt une politique de ressources sur le bus lorsque vous avez besoin d'une autorisation explicite`Deny`, d'une clé de condition ou d'une autorisation qu'aucune autorisation gérée n'exprime. L'autre compte a toujours besoin des mêmes mesures dans ses propres politiques d'identité, car les deux parties doivent l'autoriser.

## Prérequis pour partager un bus
<a name="eb-custom-bus-access-ram-prereq"></a>
+ Vous devez être propriétaire du bus. Un compte client ne peut pas partager un bus ultérieur.
+ Pour partager avec des comptes de votre organisation sans invitation, activez le partage avec AWS Organizations in AWS RAM. Pour partager avec un compte extérieur à votre organisation, le compte doit accepter l'invitation de partage de ressources avant de pouvoir utiliser le bus.
+ Le bus et les abonnés du consommateur se trouvent dans la même région et sur la même partition. Un consommateur publie sur le bus et y crée des abonnés dans la région du bus.

## Partager un bus
<a name="eb-custom-bus-access-ram"></a>

Nous vous AWS RAM recommandons de rédiger vous-même une politique relative aux ressources. AWS RAM vous permet de consulter et de révoquer ce que vous avez partagé en un seul endroit, il fonctionne avec AWS Organizations et rédige la politique de `AWS_RAM` ressources du bus pour vous. Créez un partage de ressources qui nomme l'ARN du bus, les comptes consommateurs ou les unités organisationnelles, et l'une des quatre autorisations AWS gérées pour le type de ressource de bus, chacune à l'adresse`arn:aws:ram::aws:permission/{{name}}`.


| Autorisation gérée | Ce que le compte client peut faire | 
| --- | --- | 
| AWSRAMEventBridgeEventBusV2PublishOnly | Publier dans le bus | 
| AWSRAMEventBridgeEventBusV2SubscribeOnly | Associer des abonnés au bus | 
| AWSRAMEventBridgeEventBusV2EventSourceAccess | Joignez et mettez à jour les sources d'événements et décrivez le bus | 
| AWSRAMEventBridgeEventBusV2FullAccess | Publiez avec l'une ou l'autre des API, décrivez le bus et créez, mettez à jour et supprimez ses propres abonnés et sources d'événements | 

```
aws ram create-resource-share \
    --name orders-bus-share \
    --resource-arns arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \
    --principals 444455556666 \
    --permission-arns arn:aws:ram::aws:permission/AWSRAMEventBridgeEventBusV2SubscribeOnly
```

Pour accorder une autorisation inférieure à une autorisation gérée ou pour ajouter une clé de condition, créez une autorisation gérée pour AWS RAM le client. AWS RAM rejette une action qui désigne une action réservée au propriétaire du bus. Lisez une autorisation associée à l' AWS RAM `GetPermission`opération plutôt que de supposer sa liste d'actions exacte.

## Annuler le partage d'un bus
<a name="eb-custom-bus-access-ram-unshare"></a>

Pour arrêter le partage, supprimez le bus ou le principal du partage de ressources, ou supprimez le partage. EventBridgeautorise un abonné ou une source d'événements lors de sa création, de sorte que l'abonné créé par le consommateur alors que le partage était actif continue à diffuser une fois que vous avez annulé le partage. Pour l'arrêter, révoquez-le avec `RevokeResource` ; voir[Révocation d'un abonné ou d'une source d'événement](eb-custom-bus-access-revoke.md). Le consommateur ne peut plus publier ni créer de nouveaux abonnés une fois le partage épuisé.

## Travailler avec un bus partagé avec vous
<a name="eb-custom-bus-access-consumer"></a>

Un bus partagé avec votre compte apparaît dans vos `ListEventBuses` résultats avec le compte du propriétaire dans son ARN, et vous l'utilisez par cet ARN, dans la région du bus. Ce que vous créez dessus vous appartient : lorsque vous listez les abonnés du bus partagé, vous ne voyez que vos propres abonnés, tandis que le propriétaire du bus les voit tous. Le partage d'un bus n'expose que celui-ci ; on ne voit jamais les autres bus du propriétaire. Vous ne pouvez pas mettre à jour ou supprimer le bus, modifier sa politique en matière de ressources, ni le partager, et vous ne pouvez pas agir sur un abonné qui appartient à un autre compte. Le propriétaire du bus peut retirer n'importe lequel de vos abonnés ou sources d'événements avec `RevokeResource` ; une ressource révoquée s'arrête définitivement et vous ne pouvez que la supprimer.

## Facturation et mesures
<a name="eb-custom-bus-access-ram-billing"></a>

Le partage d'un bus est gratuit en soi. La publication, la livraison et la conservation sont facturées comme décrit sur la [ page de EventBridge tarification ](https://aws.amazon.com/eventbridge/pricing/) d'Amazon. Le propriétaire du bus peut voir le volume de livraison par compte client dans le `EventsDelivered` et `EgressBytes` les indicateurs avec la `SubscriberAccount` dimension ; voir[Observabilité pour le bus d'événements personnalisé : métriques, journaux et CloudTrail](eb-custom-bus-observability.md).

## Rédiger une politique de ressources personnalisée
<a name="eb-custom-bus-access-policy"></a>

Un bus d'événements est la seule ressource de bus d'événements personnalisé qui utilise une politique de ressources ; il EventBridge rejette tout autre ARN de ressource. Un bus possède deux polices nommées. `default`est celui que vous rédigez, dans le langage complet de la politique IAM, y compris`Deny`. `AWS_RAM`est écrit uniquement par AWS RAM et reflète vos partages de ressources. EventBridge évalue à la fois lorsqu'il autorise un appelant depuis un autre compte, et une entrée explicite `Deny` dans l'un des deux remplace une `Allow` dans l'autre. Lorsqu'un appelant multicompte est refusé et que la politique que vous avez rédigée semble l'autoriser, lisez l'autre politique.

La `default` politique suivante concernant le `orders` bus permet de `444455556666` joindre des abonnés à un compte et de lire le bus, et rien d'autre.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowPartnerAccountToSubscribe",
            "Effect": "Allow",
            "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
            "Action": [
                "events:CreateSubscriber",
                "events:DescribeEventBus"
            ],
            "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef"
        }
    ]
}
```

Gérez les politiques avec `PutResourcePolicy``GetResourcePolicy`,`DeleteResourcePolicy`, et`ListResourcePolicies`. Chacun intègre l'ARN du bus et agit en `--resource-arn` `default` cas d'omission`--policy-name`. Vous ne pouvez ni écrire ni supprimer `AWS_RAM` : le nommer échoue avec`AccessDeniedException`. `GetResourcePolicy`échoue `ResourceNotFoundException` lorsque la politique nommée n'existe pas, plutôt que de renvoyer un document vide, alors considérez cela comme aucune stratégie. Un bus que vous avez partagé uniquement n' AWS RAM a pas de `default` politique, donc s'`get-resource-policy`il ne `--policy-name` renvoie pas cette erreur ; passez `--policy-name AWS_RAM` pour lire la politique AWS RAM écrite. `ListResourcePolicies`renvoie uniquement les noms des politiques et les identifiants de révision, jamais les documents. Pour conditionner une écriture ou une suppression, transmettez la révision actuelle de la politique `--expected-revision-id` ; en cas de non-concordance, l'opération échoue. `ConflictException` Un document `default` de politique peut faire jusqu'à 20 Ko ; un document de politique plus volumineux échoue avec`PolicyLengthExceededException`. Ce quota est ajustable dans Quotas de service.

EventBridge rejette une `default` politique qui accorderait l'accès public`PublicPolicyException`, avec et ne l'associe pas. Cette vérification est toujours activée. Un relevé accorde un accès public lorsque son principal est un joker et qu'aucune condition ne limite les appelants à des comptes ou à des mandants spécifiques. Une condition relative au contenu de l'événement, par exemple`events:source`, ne permet pas d'identifier l'appelant. Une condition telle que la `aws:PrincipalOrgID` maladie. Une politique que vous rédigez n'est pas visible AWS RAM, c'est donc à vous de la suivre.

## Événements qui arrivent sans appel de publication
<a name="eb-custom-bus-access-forwarded"></a>

Les événements arrivent également dans un bus sans `PutRawEvents` appel direct `PutEvents` : depuis une source d'événements, ou depuis une règle ou un abonné d'un autre bus dont la cible est ce bus. Une source d'événements n'est autorisée qu'une seule fois, lorsque vous la créez, et rien n'est vérifié à nouveau lorsque les événements arrivent. Une politique de bus ne peut donc pas filtrer ce trafic par la suite. Consultez [Sources d'événements pour un bus événementiel personnalisé](eb-custom-bus-event-sources.md). Une règle ou un abonné que vous pointez vous-même vers un bus est autorisé dès son ingestion, selon le rôle que vous avez fourni, une fois pour chaque événement. EventBridge choisit l'action par événement : `events:PutEvents` pour un véritable AWS service ou un événement partenaire, et `events:PutRawEvents` pour un événement dont vous êtes à l'origine. Vous ne pouvez pas choisir l'action utilisée. Par conséquent, un redirecteur transportant les deux types d'événements via un seul chemin doit se voir accorder les deux actions, dans la politique d'identité du rôle et dans la politique de ressources du bus de destination. N'accorder qu'un seul refus de la moitié du stream.