View a markdown version of this page

Compartir un bus de eventos personalizado con otras cuentas - Amazon EventBridge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Compartir un bus de eventos personalizado con otras cuentas

Para permitir que otra cuenta publique en tu autobús, adjuntar suscriptores a ella o adjuntar fuentes de eventos, comparte el autobús con AWS Resource Access Manager (AWS RAM) y elige uno de los cuatro permisos gestionados. Por ejemplo, si compartes el orders autobús con el 444455556666 usuario de la cuentaAWSRAMEventBridgeEventBusV2SubscribeOnly, esa cuenta podrá crear suscriptores en él. En su lugar, escribe una política de recursos en el autobús cuando necesites una clave explícitaDeny, una clave de condición o una concesión que no exprese ningún permiso gestionado. La otra cuenta sigue necesitando las mismas acciones en sus propias políticas de identidad, porque ambas partes deben permitirlas.

Requisitos previos para compartir un autobús

  • Debes ser el propietario del autobús. Una cuenta de consumidor no puede compartir un autobús en adelante.

  • Para compartir con cuentas de tu organización sin una invitación, habilita compartir con AWS Organizations in AWS RAM. Para compartir con una cuenta ajena a tu organización, la cuenta debe aceptar la invitación a compartir recursos antes de poder usar el autobús.

  • El autobús y los abonados del consumidor se encuentran en la misma región y partición. Un consumidor publica en el autobús y crea suscriptores en la región del autobús.

Compartir un autobús

Te recomendamos AWS RAM que escribas tú mismo en lugar de una política de recursos. AWS RAM te da un lugar para ver y revocar lo que has compartido, funciona con AWS Organizationsél y redacta la política de AWS_RAM recursos del autobús por ti. Crea un recurso compartido con un nombre para el ARN del bus, las cuentas de los consumidores o las unidades organizativas y uno de los cuatro permisos AWS administrados para el tipo de recurso del bus, cada uno en. arn:aws:ram::aws:permission/name

Permiso administradoQué puede hacer la cuenta de consumidor
AWSRAMEventBridgeEventBusV2PublishOnlyPublica en el autobús
AWSRAMEventBridgeEventBusV2SubscribeOnlyAdjunte a los suscriptores al autobús
AWSRAMEventBridgeEventBusV2EventSourceAccessAdjunte y actualice las fuentes de eventos y describa el bus
AWSRAMEventBridgeEventBusV2FullAccessPublique con cualquiera de las API, describa el bus y cree, actualice y elimine sus propios suscriptores y fuentes de eventos
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

Para conceder un permiso inferior al de un permiso gestionado o para añadir una clave de condición, cree un permiso gestionado por el AWS RAM cliente. AWS RAM rechaza una acción que nombra únicamente al propietario de un autobús. Lee un permiso junto con la AWS RAM GetPermission operación en lugar de asumir su lista exacta de acciones.

Dejar de compartir un autobús

Para dejar de compartir, elimine el bus o el principal del recurso compartido o elimine el recurso compartido. EventBridgeautoriza un suscriptor o una fuente de eventos cuando se crea, de modo que un suscriptor que el consumidor haya creado mientras el recurso compartido estaba activo seguirá haciendo entregas después de que dejes de compartirlo. Para detenerla, puedes revocarla conRevokeResource; consulta. Revocación de un suscriptor o una fuente de eventos El consumidor ya no puede publicar ni crear nuevos suscriptores una vez que haya terminado de compartir.

¿Trabajas con un autobús compartido contigo

Un autobús compartido con tu cuenta aparece en tus ListEventBuses resultados con la cuenta del propietario en su ARN y tú la utilizas con ese ARN, en la región del autobús. Lo que crees en ella te pertenece: cuando incluyes los suscriptores del autobús compartido, solo ves a tus propios suscriptores, mientras que el propietario del autobús los ve a todos. Compartir un autobús solo expone ese autobús; nunca verás los otros autobuses del propietario. No puedes actualizar ni eliminar el bus, cambiar su política de recursos ni compartirlo con otros usuarios, y no puedes actuar sobre un suscriptor que pertenezca a otra cuenta. El propietario del autobús puede retirar cualquiera de tus suscriptores o fuentes de eventosRevokeResource; un recurso revocado se detiene permanentemente y solo puedes eliminarlo.

Facturación y medición

Compartir un autobús no tiene ningún coste en sí mismo. La publicación, la entrega y la retención se facturan tal y como se describe en la página de EventBridge precios de Amazon. El propietario del autobús puede ver el volumen de entregas por cuenta de consumidor en las EgressBytes métricas EventsDelivered y con la SubscriberAccount dimensión; consulteObservabilidad del bus de eventos personalizado: métricas, registros y CloudTrail.

Redacta una política de recursos personalizada

Un bus de eventos es el único recurso del bus de eventos personalizado que acepta una política de recursos; EventBridge rechaza cualquier otro ARN de recursos. Un bus contiene dos políticas con nombre. defaultes la que escribes, en el lenguaje completo de las políticas de IAM, incluidoDeny. AWS_RAMestá escrito únicamente por sus recursos compartidos AWS RAM y refleja sus recursos compartidos. EventBridge evalúa cuando autoriza a una persona que llama desde otra cuenta, y una entrada explícita Deny en una de las dos anula la otra. Allow Cuando se deniega a una persona que llama desde varias cuentas y la política que escribiste parece permitirlo, lee la otra política.

La siguiente default política sobre el orders autobús permite 444455556666 vincular una cuenta a los suscriptores y leer el autobús, y nada más.

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

Gestione las políticas con PutResourcePolicyGetResourcePolicy,DeleteResourcePolicy, yListResourcePolicies. Cada una toma la ARN del autobús y actúa en --resource-arn consecuencia default cuando se omite--policy-name. No se puede escribir ni borrarAWS_RAM: no se puede ponerle nombre. AccessDeniedException GetResourcePolicyfalla ResourceNotFoundException cuando la política nombrada no existe, en lugar de devolver un documento vacío, así que trátelo como si no hubiera ninguna política. Un autobús con el que solo compartiste no AWS RAM tiene ninguna default política, por lo get-resource-policy que si no --policy-name devuelve ese error; pase --policy-name AWS_RAM para leer la política AWS RAM escrita. ListResourcePoliciessolo devuelve los nombres de las políticas y los identificadores de las revisiones, nunca los documentos. Para condicionar la escritura o la eliminación, introduzca la revisión actual de la política--expected-revision-id; si no coincide, la operación fallará conConflictException. Un documento default de política puede tener un tamaño máximo de 20 KB; una política más grande no funciona. PolicyLengthExceededException Esta cuota se puede ajustar en las cuotas de servicio.

EventBridge rechaza una default política que concedería acceso público, la incluye y no la adjunta. PublicPolicyException Esta verificación está siempre activada. Un estado de cuenta permite el acceso público cuando su capital es un comodín y no hay ninguna condición que limite a las personas que llaman a cuentas o capitales específicos. Una condición en el contenido de un evento, por ejemploevents:source, no identifica a la persona que llama. Una condición como aws:PrincipalOrgID sí lo hace. Una política que escribes es invisible para ti AWS RAM, por lo que eres el único responsable de rastrearla.

Eventos que llegan sin una convocatoria de publicación

Los eventos también llegan a un autobús sin una PutRawEvents llamada directaPutEvents: provienen de una fuente de eventos o de una regla o de un suscriptor de otro autobús cuyo objetivo es este autobús. Una fuente de eventos se autoriza una vez, al crearla, y no se vuelve a comprobar nada a medida que llegan los eventos, por lo que una política de autobuses no puede filtrar ese tráfico después. Consulte Fuentes de eventos para un bus de eventos personalizado. Una regla o un suscriptor que tú mismo apuntes a un autobús se autorizará en el momento de la ingesta, con la función que hayas indicado, una vez por evento. EventBridge elige la acción por evento: events:PutEvents para un AWS servicio auténtico o para un evento de un socio, y events:PutRawEvents para un evento creado por ti. No puedes elegir la acción que se va a utilizar, por lo que a un reenviador que transmita ambos tipos de eventos en una misma ruta se le deben conceder ambas acciones, en la política de identidad del rol y en la política de recursos del autobús de destino. Si se concede solo una, se deniega la mitad de la transmisión.