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.
Acciones, recursos y claves de condición para el bus de eventos personalizado
Utilice esta página cuando escriba una política de IAM. En ella se enumeran todas las events: acciones del bus de eventos personalizado, el ARN de recursos con el que se comprueba cada una de ellas, si se puede conceder la licencia a otra cuenta y las claves de condición que se pueden añadir. Por ejemplo, para permitir que un rol asocie suscriptores cuyos nombres de METADATA filtro sean los tenant mismos queacme, conceda events:CreateSubscriber en el bus con una ForAnyValue:StringEquals condición activadaevents:Metadata/tenant.
Claves de condición
EventBridge proporciona las siguientes claves de condición de la solicitud, de modo que puedes limitar la concesión más allá de la acción y el recurso. Para ver las claves de condición globales, consulte las claves de contexto de condiciones AWS globales en la Guía del usuario de IAM.
| Clave de condición | Valor | Se suministra el |
|---|---|---|
events:source | El origen del evento o el origen que se está reenviando | PutEvents, CreateEventSource, UpdateEventSource |
events:detail-type | El tipo de detalle del evento | PutEvents |
events:Metadata/ | Los valores que coincide con un METADATA filtro en esa clave | CreateSubscriber |
events:Metadata/ | exact | CreateSubscriber |
events:ContentFilterPresent | truecuando el suscriptor declara un DATA filtro | CreateSubscriber |
aws:ResourceTag/ | Se está comprobando una etiqueta en el bus, el suscriptor o la fuente del evento | Todas las acciones se comparan con un recurso |
aws:RequestTag/, aws:TagKeys | Las etiquetas de la solicitud | Las operaciones de creación yTagResource, UntagResource |
Una clave de metadatos se suministra como un conjunto de valores, por lo que debe compararla con un operador de conjunto comoForAnyValue:StringEquals. METADATAlos filtros solo coinciden exactamente, por lo que el valor del comparador es siempre. exact Un DATA filtro coincide con un JSON arbitrario, por lo que solo se expone su presencia, no su contenido. UpdateEventSourcevuelve a ejecutar la comprobación del bus con un events:source set de la configuración de reemplazo, de modo que una condición en esa clave rige tanto una fuente de eventos redirigida como una nueva.
La siguiente política de recursos permite 444455556666 crear cuentas de suscriptores en el orders bus solo cuando el METADATA filtro del suscriptor coincide tenant exactamente con. acme Se deniega a un suscriptor sin METADATA filtro o a uno que nombre a otro inquilino. EventBridge proporciona una clave de condición de metadatos solo para los campos que declara un filtro, por lo que la Null condición es la que deniega un filtro que omitetenant.
{ "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" } } } ] }
Las acciones y los recursos con los que se comparan
En la tabla siguiente se enumeran todas las acciones, el ARN del recurso que se debe incluir en el Resource elemento de la política y si el propietario de un autobús puede conceder la acción a otra cuenta mediante una política de recursos o un recurso AWS RAM compartido. Las tres List acciones no se comparan con ningún recurso, así que concédelas"Resource": "*".
| Acción de IAM | Comparado con | Se puede conceder a otra cuenta |
|---|---|---|
events:CreateEventBus | El autobús que se está creando | No. Creado en la propia cuenta de la persona que llama |
events:DescribeEventBus | ¿El autobús | Sí |
events:UpdateEventBus | ¿El autobús | No. Solo para propietarios de autobuses. |
events:DeleteEventBus | ¿El autobús | No. Solo para propietarios de autobuses. |
events:ListEventBuses | Nada. Account-wide | No. Muestra los autobuses propios y compartidos de la persona que llama |
events:PutEvents | El autobús, una vez por entrada de la solicitud | Sí |
events:PutRawEvents | El autobús, una vez por entrada en la solicitud | Sí |
events:CreateSubscriber | El bus y el suscriptor que se está creando | Sí |
events:DescribeSubscriber | El suscriptor | El propietario del suscriptor lo autoriza |
events:UpdateSubscriber | El suscriptor | El propietario del suscriptor lo autoriza |
events:DeleteSubscriber | El suscriptor | El propietario del suscriptor lo autoriza |
events:ListSubscribers | Nada. Account-wide | No. Muestra los propios suscriptores de la persona que llama |
events:RevokeResource | ¿El autobús | No. Solo para propietarios de autobuses. |
events:CreateEventSource | El bus y la fuente de eventos que se están creando | Sí |
events:DescribeEventSource | La fuente del evento | El propietario de la fuente del evento lo autoriza |
events:UpdateEventSource | La fuente del evento y, de nuevo, el autobús | Sí, para comprobar el autobús |
events:DeleteEventSource | La fuente del evento | El propietario de la fuente del evento lo autoriza |
events:ListEventSources | Nada. Account-wide | No. Muestra las fuentes de eventos propias de la persona que llama |
events:PutResourcePolicy | ¿El autobús | No. Solo para propietarios de autobuses. |
events:GetResourcePolicy | ¿El autobús | Sí |
events:DeleteResourcePolicy | ¿El autobús | No. Solo para propietarios de autobuses. |
events:ListResourcePolicies | ¿El autobús | Sí |
events:TagResource | El bus, el suscriptor o la fuente de eventos mencionados en la solicitud | Autobús: sí. Suscriptor o fuente del evento: su propietario |
events:UntagResource | El bus, el suscriptor o la fuente de eventos mencionados en la solicitud | Autobús: sí. Suscriptor o fuente del evento: su propietario |
events:ListTagsForResource | El bus, el suscriptor o la fuente de eventos mencionados en la solicitud | Autobús: sí. Suscriptor o fuente del evento: su propietario |
Para crear un suscriptor o una fuente de eventos en un autobús, la persona que llama necesita la acción tanto en el autobús como en el nuevo recurso. Esto es lo que permite al propietario de un autobús decidir, en la propia política del autobús, qué cuentas pueden adjuntar algo al autobús. CreateSubscriberrealiza cuatro comprobaciones de autorización distintas y las cuatro verificaciones deben estar events:CreateSubscriber permitidas: events:CreateSubscriber en el autobús, en el suscriptorInvokeConfiguration.RoleArn, iam:PassRole en el puesto y events:TagResource en el suscriptor cuando la solicitud incluye etiquetas. CreateEventSourceejecuta las mismas comprobaciones sin ellasiam:PassRole, porque una fuente de eventos no tiene ninguna función.
nota
Un recurso que aún no existe no tiene un ARN completo, por lo que una comprobación de creación utiliza un ARN que termina en un comodín, como. arn:aws:events:us-east-1:111122223333:subscriber/ Por lo tanto, una política que se aplica a un suscriptor coincide con el prefijo del nombre, no exactamente. Una creación sin etiquetar proporciona un no name/*aws:ResourceTag para el nuevo recurso, por lo que una StringEquals condición en esa clave lo niega.
Ejemplo de políticas basadas en identidad de
Un productor necesita events:PutEvents ARNevents:PutRawEvents, o ambos, en el bus. Otorga la acción que coincide con la API a la que llama. El productor de un bus cifrado con una clave gestionada por el cliente también necesita acceder a esa clave; consulteCifrar eventos en un bus de eventos personalizado. El propietario de un suscriptor necesita estar events:CreateSubscriber en el bus y en el suscriptor, iam:PassRole conocer la función de entrega y las acciones de describir, actualizar y eliminar el suscriptor en relación con los suscriptores que administra. Un administrador de bus necesita las acciones de creación, actualización y eliminación del bus, las cuatro acciones de política de recursos yevents:RevokeResource.
La siguiente política permite a un productor publicar en un bus con cualquiera de las API de publicación y leer el bus para confirmar que el bus es el ACTIVE primero. La publicación se autoriza una vez por cada entrada de la solicitud, y no existe una autorización parcial: si una entrada no pasa la comprobación de su estado, se EventBridge deniega toda la solicitud, incluidas las entradas que hubieran sido aprobadas.
{ "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" } ] }
Etiquetado
Puede etiquetar un autobús, un suscriptor o una fuente de eventos. Configura Tags la opción de creación TagResourceUntagResource, uso y ListTagsForResource posterior. Cada recurso tiene su propio conjunto de etiquetas, por lo que etiquetar un bus no etiqueta a los suscriptores ni a las fuentes de eventos asociadas a él.
aws eventsv2 tag-resource \ --resource-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \ --tags team=payments,environment=production
Una respuesta de creación no refleja las etiquetas que has proporcionado, por lo que debes volver a leerlas list-tags-for-resource cuando necesites confirmarlas. Las claves que comienzan por aws: están reservadas AWS y se rechazan en cada escritura, inclusoUntagResource. Para controlar quién puede etiquetar y escribir políticas que dependan de las etiquetas, utilice las tres acciones de etiquetado de la tabla anterior y las aws:RequestTag claves de aws:TagKeys condición y. aws:ResourceTag