View a markdown version of this page

Condivisione di un bus eventi personalizzato con altri account - Amazon EventBridge

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Condivisione di un bus eventi personalizzato con altri account

Per consentire a un altro account di pubblicare sul tuo bus, collegare abbonati o allegare sorgenti di eventi, condividi il bus con AWS Resource Access Manager (AWS RAM). Quindi scegli una delle quattro autorizzazioni gestite. Ad esempio, condividi l'ordersautobus con l'account che 444455556666 utilizza AWSRAMEventBridgeEventBusV2SubscribeOnly e quell'account può creare abbonati su di esso. Scrivi invece una politica delle risorse sul bus quando hai bisogno di una chiave esplicitaDeny, di una condizione o di una concessione che non è espressa da alcuna autorizzazione gestita. L'altro account necessita comunque delle stesse azioni nelle proprie politiche di identità, perché entrambe le parti devono consentirlo.

Prerequisiti per condividere un autobus

  • Conosci bene le politiche IAM basate sull'identità e sulle risorse, perché la condivisione di un bus richiede autorizzazioni corrispondenti sia sul bus che sull'identità del consumatore.

  • Devi essere il proprietario del bus. Un account consumatore non può condividere un bus in poi.

  • Per condividere con gli account della tua organizzazione senza un invito, abilita la condivisione con AWS Organizations in AWS RAM. Per condividere con un account esterno all'organizzazione, l'account deve accettare l'invito alla condivisione delle risorse prima di poter utilizzare il bus.

  • Il bus e gli abbonati del consumatore si trovano nella stessa regione e nella stessa partizione. Un consumatore pubblica sul bus e crea abbonati su di esso nella regione del bus.

Condivisione di un autobus

Ti consigliamo AWS RAM di scrivere tu stesso una politica sulle risorse. Con AWS RAM, hai un posto dove vedere e revocare ciò che hai condiviso. AWS RAM inoltre collabora AWS Organizations e scrive per te la politica AWS_RAM delle risorse del bus. Crea una condivisione di risorse che indichi l'ARN del bus, gli account dei consumatori o le unità organizzative e una delle quattro autorizzazioni AWS gestite per il tipo di risorsa bus, ciascuna in. arn:aws:ram::aws:permission/name

La tabella seguente elenca cosa può fare l'account consumer con ciascuna autorizzazione gestita.

Autorizzazione gestitaCosa può fare l'account consumatore

AWSRAMEventBridgeEventBusV2PublishOnly

Pubblica sul bus e descrivi il bus

AWSRAMEventBridgeEventBusV2SubscribeOnly

Collega gli abbonati al bus, aggiorna i loro filtri e descrivi il bus

AWSRAMEventBridgeEventBusV2EventSourceAccess

Allega e aggiorna le fonti degli eventi e descrivi il bus

AWSRAMEventBridgeEventBusV2FullAccess

Pubblica con entrambe le API, descrivi il bus e crea, aggiorna ed elimina i propri abbonati e le fonti di eventi

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

Per concedere meno di un'autorizzazione gestita o per aggiungere una chiave di condizione, crea un'autorizzazione gestita AWS RAM dal cliente. AWS RAM ne rifiuta una che nomina solo l'azione del proprietario del bus. Rileggi un'autorizzazione con l' AWS RAM GetPermissionoperazione anziché assumerne l'esatto elenco delle azioni.

Annullamento della condivisione di un bus

Per interrompere la condivisione, rimuovi il bus o il principale dalla condivisione di risorse oppure elimina la condivisione. EventBridgeautorizza un sottoscrittore o una fonte di eventi al momento della creazione, in modo che un abbonato creato dal consumatore mentre la condivisione era attiva continui a erogare anche dopo l'annullamento della condivisione. Per fermarlo, revocalo con. RevokeResource Per ulteriori informazioni sulla revoca di un abbonato o di una fonte di eventi, consulta. Revoca di un abbonato o di una fonte di eventi Il consumatore non può più pubblicare o creare nuovi abbonati una volta esaurita la condivisione.

Lavorare con un autobus condiviso con te

Un autobus condiviso con il tuo account viene visualizzato nei ListEventBuses risultati con l'account del proprietario nel relativo ARN e lo usi con quell'ARN, nella regione del bus. Ciò che crei su di esso appartiene a te: quando elenchi gli abbonati sull'autobus condiviso, vedi solo i tuoi abbonati, mentre il proprietario dell'autobus li vede tutti. La condivisione di un autobus espone solo quell'autobus; non si vedono mai gli altri autobus del proprietario. Non è possibile aggiornare o eliminare il bus, modificarne la politica relativa alle risorse o condividerlo successivamente, e non è possibile agire su un abbonato di proprietà di un altro account. Il proprietario del bus può revocare qualsiasi abbonato o fonte di eventi conRevokeResource: una risorsa revocata si interrompe definitivamente e tu puoi solo eliminarla.

Fatturazione e misurazione

La condivisione di un autobus non comporta costi propri. La pubblicazione, la consegna e la conservazione vengono fatturate come descritto nella pagina dei EventBridge prezzi di Amazon. Il proprietario dell'autobus può visualizzare il volume di consegna per account consumatore nelle metriche EventsDelivered e nelle EgressBytes metriche relative alla SubscriberAccount dimensione. Per ulteriori informazioni sull'osservabilità, vedere. Osservabilità per il Custom Event Bus: metriche, registri e CloudTrail

Scrivi una politica personalizzata in materia di risorse

Un bus di eventi è l'unica risorsa Custom Event Bus che accetta una politica delle risorse; EventBridge rifiuta qualsiasi altra risorsa ARN. Un bus contiene due politiche denominate. La default policy è quella che scrivi tu, nel linguaggio completo delle policy IAM, incluse Deny le dichiarazioni. AWS_RAMè scritta solo da AWS RAM e riflette le tue condivisioni di risorse.

EventBridge valuta sia quando autorizza un chiamante da un altro account, sia quando un indirizzo esplicito Deny ha la precedenza su quello dell'altro. Allow Quando un chiamante con più account viene rifiutato e la politica che hai scritto sembra consentirlo, leggi l'altra politica.

La seguente default politica sul orders bus consente all'account di 444455556666 collegare gli abbonati e leggere il bus, e nient'altro.

{ "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" } ] }

Gestisci le politiche conPutResourcePolicy, GetResourcePolicyDeleteResourcePolicy, eListResourcePolicies. Ciascuno prende l'autobus ARN. --resource-arn I primi tre agiscono default quando si omette--policy-name. Non è possibile scrivere o eliminareAWS_RAM: non è possibile assegnargli un nome. AccessDeniedException GetResourcePolicyfallisce ResourceNotFoundException quando la politica indicata non esiste, invece di restituire un documento vuoto, quindi consideralo come una politica assente. Un bus che avete utilizzato solo per la condivisione non AWS RAM ha alcuna default policy, quindi get-resource-policy senza --policy-name restituirvi quell'errore; --policy-name AWS_RAM passatelo a leggere la policy AWS RAM scritta. ListResourcePoliciesrestituisce solo i nomi delle politiche e gli ID di revisione, mai i documenti. Per rendere condizionale una scrittura o un'eliminazione, inserite la revisione corrente della politica--expected-revision-id; in caso di mancata corrispondenza l'operazione fallisce. ConflictException Un documento di default policy può pesare fino a 20 KB; un documento di policy più grande fallisce con. PolicyLengthExceededException Questa quota è regolabile in Service Quotas.

EventBridge rifiuta una default politica che garantirebbe l'accesso pubblicoPublicPolicyException, con e non la allega. Questo controllo è sempre attivo. Un estratto conto garantisce l'accesso pubblico quando il suo principale è una jolly e nessuna condizione limita i chiamanti a conti o destinatari specifici. Una condizione relativa al contenuto dell'evento, ad esempioevents:source, non identifica il chiamante. Una condizione come quellaaws:PrincipalOrgID. Una politica che scrivi è invisibile AWS RAM, quindi sei tu a tenerne traccia.

Eventi che arrivano senza una chiamata di pubblicazione

Gli eventi arrivano anche su un bus senza una chiamata diretta PutEvents o una PutRawEvents chiamata: da una fonte di eventi, da una regola o da un abbonato su un altro bus la cui destinazione è questo bus. EventBridge autorizza una fonte di eventi una volta, quando la crei. Non controlla più nulla all'arrivo degli eventi, quindi una politica degli autobus non può filtrare quel traffico in seguito. Per ulteriori informazioni sulle fonti degli eventi, vedereSorgenti di eventi per un bus di eventi personalizzato. Una regola o un abbonato indirizzato personalmente a un bus è autorizzato al momento dell'acquisizione, in base al ruolo assegnato, una volta per ogni evento. EventBridge sceglie l'azione per evento: events:PutEvents per un evento di AWS servizio o partner autentico e events:PutRawEvents per un evento creato da voi. Non puoi scegliere l'azione da utilizzare. A un server d'inoltro che trasporta entrambi i tipi di eventi attraverso un unico percorso devono essere concesse entrambe le azioni, nella politica di identità del ruolo e nella politica delle risorse del bus di destinazione. Concedendone solo uno si nega metà del flusso.