Gestión del acceso de IAM para Event Notifications
Como titular de la cuenta, puede gestionar el acceso a la instancia de Event Notifications en su cuenta mediante IBM Cloud® Identity and Access Management.
Como propietario de una cuenta, puede establecer políticas dentro de la cuenta para crear distintos niveles de acceso para distintos usuarios. Por ejemplo, determinados usuarios pueden tener acceso Read only a una instancia, pero
acceso Write a otra. Puede decidir quién puede crear, actualizar y suprimir instancias de Event Notifications.
Event Notifications ha adoptado IAM. No se generan claves secretas de aplicación para las nuevas instancias. Utiliza claves API en su lugar.
Roles de usuario
El ámbito de una política de acceso se basa en el rol asignado a un usuario.
Las políticas permiten que se otorgue acceso en distintos niveles. Algunas de las opciones son las siguientes:
- Acceso a todas las instancias del servicio de su cuenta
- Acceso a instancias de servicio individuales en su cuenta
- Acceso a un recurso específico dentro de una instancia
- Acceso a todos los servicios habilitados para IAM en su cuenta
Los roles de gestión de plataforma permiten a los usuarios realizar tareas en los recursos de servicio en el nivel de plataforma. Por ejemplo, los roles pueden asignarse para determinar quién puede crear o suprimir ID, crear instancias y enlazar instancias a aplicaciones. La tabla siguiente clasifica las acciones a medida que se asignan a los roles de gestión de plataforma.
| Rol de plataforma | Permisos | Acciones de ejemplo |
|---|---|---|
| Visor | Ver instancias de Event Notifications. | Puede ver los datos de un usuario de Cloud Directory o la configuración del proveedor de identidad. |
| Editor | Ver y enlazar instancias de Event Notifications. | Puede enlazar aplicaciones a una instancia de Event Notifications. |
| Operador | Cree, suprima, edite, suspenda, reanude, vea o enlace instancias de Event Notifications. | Puede crear o suprimir una instancia de Event Notifications del catálogo. |
| Administrador | Todas las acciones de gestión para todos los servicios de la cuenta. | Puede realizar todas las acciones del operador y la capacidad de asignar políticas a otros usuarios. |
En las tablas siguientes se detallan las acciones que se correlacionan con los roles de acceso a servicios. Los roles de acceso a servicios permiten a los usuarios acceder a Event Notifications y también llamar a la API de Event Notifications.
| Rol de servicio | Permisos | Acciones de ejemplo |
|---|---|---|
| Lector | Ver datos de instancia de Event Notifications | Ver detalles de la instancia de servicio como, por ejemplo, orígenes, reglas, temas y canales |
| Writer | Ver y editar una instancia de Event Notifications |
|
| Editor de canal | Ver, crear y suprimir suscripciones de Event Notifications | Ver, crear, actualizar y suprimir suscripciones de Event Notifications |
| Gestor | Ver, editar y suprimir datos en una instancia de Event Notifications |
|
| Lector de configuración de servicios | Leer la configuración de servicios para la gestión de gobierno | Ver configuraciones de servicios |
| Gestor de origen de sucesos | Integración de origen con Event Notifications utilizando la autorización de servicio a servicio |
|
| Editor Event Notifications | Crear notificación y ver recuento de notificaciones | Enviar notificaciones y ver recuento de notificaciones |
| Gestor de dispositivos | Rol personalizado para manejar el registro del dispositivo de envío push con el servicio Event Notifications |
|
Para obtener más información sobre la asignación de roles de usuario en la interfaz de usuario, consulte Gestión de acceso IAM.
Políticas de acceso de Event Notifications
A cada usuario que acceda al servicio Event Notifications de su cuenta se le debe asignar una política de acceso con un rol de IAM. Esa política determina qué acciones puede llevar a cabo un usuario en el contexto del servicio o la instancia que seleccione.
Las acciones se personalizan y definen mediante el servicio IBM Cloud como operaciones permitidas en el servicio. Las acciones se correlacionan entonces con los roles de usuario de IAM. Con el servicio Activity Tracker, se puede realizar un seguimiento de algunas de las acciones que se realizan. En la tabla siguiente, las acciones y los permisos necesarios para Event Notifications se correlacionan.
| Acción de servicio | Nombre de visualización | Rol | Descripción |
|---|---|---|---|
event-notifications.sources.create |
POST /event-notifications/v1/instances/{instanceID}/sources |
Gestor, administrador, gestor-origen-suceso | Crear origen para la instancia de Event Notifications |
event-notifications.sources.read |
GET /event-notifications/v1/instances/{instanceID}/sources/{sourceID} |
Gestor, administrador, gestor-origen-suceso, editor-canal | Obtener origen de la instancia de Event Notifications |
event-notifications.sources.update |
PUT /event-notifications/v1/instances/{instanceID}/sources/{sourceID} |
Gestor, administrador, gestor-origen-suceso | Actualizar origen de la instancia de Event Notifications |
event-notifications.sources.delete |
DELETE /event-notifications/v1/instances/{instanceID}/sources/{sourceID} |
Gestor, administrador, gestor-origen-suceso | Suprimir origen de la instancia de Event Notifications |
event-notifications.sources.list |
GET /event-notifications/v1/instances/{instanceID}/sources |
Gestor, administrador, gestor-origen-suceso, editor de canales | Obtener todos los orígenes de la instancia de Event Notifications |
event-notifications.topics.create |
POST /event-notifications/v1/instances/{instanceID}/topics |
Gestor, Escritor, Administrador | Crear tema para instancia de Event Notifications |
event-notifications.topics.read |
GET /event-notifications/v1/instances/{instanceID}/topics/{topicID} |
Gestor, lector, escritor, administrador, editor-canal | Obtener el tema de la instancia de Event Notifications |
event-notifications.topics.update |
PUT /event-notifications/v1/instances/{instanceID}/topic/{topicID} |
Gestor, Escritor, Administrador | Actualizar tema para la instancia de Event Notifications |
event-notifications.topics.delete |
DELETE /event-notifications/v1/instances/{instanceID}/topic/{topicID} |
Gestor, Administrador | Suprimir tema de la instancia de Event Notifications |
event-notifications.topics.list |
GET /event-notifications/v1/instances/{instanceID}/topics |
Gestor, lector, escritor, administrador, editor-canal | Obtener todos los temas para la instancia de Event Notifications |
event-notifications.rules.create |
POST /event-notifications/v1/instances/{instanceID}/rules |
Gestor, Escritor, Administrador | Crear regla para la instancia de Event Notifications |
event-notifications.rules.read |
GET /event-notifications/v1/instances/{instanceID}/rules/{ruleID} |
Gestor, lector, escritor, administrador, editor-canal | Obtener regla para la instancia de Event Notifications |
event-notifications.rules.update |
PUT /event-notifications/v1/instances/{instanceID}/rules/{ruleID} |
Gestor, Escritor, Administrador | Actualizar regla para la instancia de Event Notifications |
event-notifications.rules.delete |
DELETE /event-notifications/v1/instances/{instanceID}/rules/{ruleID} |
Gestor, Administrador | Suprimir regla de la instancia de Event Notifications |
event-notifications.rules.list |
GET /event-notifications/v1/instances/{instanceID}/rules |
Gestor, lector, escritor, administrador, editor-canal | Obtener todas las reglas para la instancia de Event Notifications |
event-notifications.destinations.create |
POST /event-notifications/v1/instances/{instanceID}/destinations |
Gestor, Escritor, Administrador | Crear destino para la instancia de Event Notifications |
event-notifications.destinations.read |
GET /event-notifications/v1/instances/{instanceID}/destinations/{destinationID} |
Gestor, lector, escritor, administrador, editor-canal | Obtener destino para la instancia de Event Notifications |
event-notifications.destinations.update |
PUT /event-notifications/v1/instances/{instanceID}/destinations/{destinationID} |
Gestor, Escritor, Administrador | Actualizar destino para la instancia de Event Notifications |
event-notifications.destinations.delete |
DELETE /event-notifications/v1/instances/{instanceID}/destinations/{destinationID} |
Gestor, Administrador | Suprimir destino de la instancia de Event Notifications |
event-notifications.destinations.list |
GET /event-notifications/v1/instances/{instanceID}/destinations |
Gestor, lector, escritor, administrador, editor-canal | Obtener todos los destinos para la instancia de Event Notifications |
event-notifications.subscriptions.create |
POST /event-notifications/v1/instances/{instanceID}/subscriptions |
Gestor, lector, escritor, administrador, editor-canal | Crear suscripción para la instancia de Event Notifications |
event-notifications.subscriptions.read |
GET /event-notifications/v1/instances/{instanceID}/subscriptions/{subscriptionID} |
Gestor, lector, escritor, administrador, editor-canal | Obtener suscripción para la instancia de Event Notifications |
event-notifications.subscriptions.update |
PUT /event-notifications/v1/instances/{instanceID}/subscriptions/{subscriptionID} |
Gestor, lector, escritor, administrador, editor-canal | Actualizar suscripción para la instancia de Event Notifications |
event-notifications.subscriptions.delete |
DELETE /event-notifications/v1/instances/{instanceID}/subscriptions/{subscriptionID} |
Gestor, administrador, editor-canal | Suprimir suscripción de la instancia de Event Notifications |
event-notifications.subscriptions.list |
GET /event-notifications/v1/instances/{instanceID}/subscriptions |
Gestor, lector, escritor, administrador, editor-canal | Obtener todas las suscripciones para la instancia de Event Notifications |
event-notifications.notifications.post |
POST /event-notifications/v1/instances/{{instance_id}}/notifications |
Gestor, escritor, administrador, gestor-origen-suceso, editor-notificación-suceso | Enviar notificación a la instancia de Event Notifications |
event-notifications.counts.get |
GET /event-notifications/v1/instances/{instanceID}/counts |
Gestor, lector, gestor-origen-suceso, editor-canal, editor-notificación-suceso | Obtener todas las notificaciones para la instancia de Event Notifications |
event-notifications.events.create |
GET /event-notifications/v1/instances/{instanceID}/events/{eventID}?sourceID=* |
Gestor, administrador, gestor-origen-suceso | Obtener suceso para la instancia de Event Notifications |
event-notifications.events.read |
POST /event-notifications/v1/instances/{instanceID}/sources |
Gestor, administrador, gestor-origen-suceso | |
event-notifications.events.list |
GET /event-notifications/v1/instances/{instanceID}/events?sourceID=* |
Gestor, administrador, gestor-origen-suceso | Obtener todos los sucesos para la instancia de Event Notifications |
event-notifications.events.delete |
DELETE /event-notifications/v1/instances/{instanceID}/events/{eventID}?sourceID=* |
Gestor, administrador, gestor-origen-suceso | Suprimir sucesos de la instancia de Event Notifications |
event-notifications.publickey.read |
GET /event-notifications/v1/instances/{instanceID}/destinations/{destinationID}/public_key |
Gestor, lector, escritor, administrador, editor-canal | Leer clave pública utilizada para firmar webhook |
event-notifications.severities.create |
POST /event-notifications/v1/instances/{instanceID}/severities |
Gestor-Origen-Sucesos | Crear gravedades personalizadas |
event-notifications.severities.read |
GET /event-notifications/v1/instances/{instanceID}/severities/{severity_id}?sourceID=* |
Gestor-Origen-Sucesos | Obtener una gravedad basada en el origen |
event-notifications.severities.list |
GET /event-notifications/v1/instances/{instanceID}/severities?sourceID=* |
Gestor, Lector, Administrador, Gestor-Origen-Sucesos | Obtener todas las gravedades basadas en el origen |
event-notifications.severities.delete |
DELETE /event-notifications/v1/instances/{instanceID}/severities/{severity_id}?sourceID=* |
Gestor-Origen-Sucesos | Suprimir una gravedad basada en el origen |
event-notifications.email-status.create |
POST /event-notifications/v1/instances/{instanceID}/email-status/sources/{sourceID}/notifications/{notificationID} |
Estado-Informador | Crear/Actualizar estado actual de un correo electrónico enviado |
event-notifications.sms-status.create |
POST /event-notifications/v1/instances/{instanceID}/sms-status/sources/{sourceID}/notifications/{notificationID} |
Estado-Informador | Crear/Actualizar estado actual de un SMS enviado |
event-notifications.webhook-status.create |
POST /event-notifications/v1/instances/{instanceID}/webhook-status/sources/{sourceID}/notifications/{notificationID} |
Estado-Informador | Crear/Actualizar estado actual de un webhook asignado |
event-notifications.devices.create |
POST /event-notifications/v1/instances/{instanceID}/destinations/{id}/devices |
Gestor, Administrador, Gestor de dispositivos | Crear un dispositivo bajo un destino FCM de notificaciones de envío push |
event-notifications.devices.read |
GET /event-notifications/v1/instances/{instanceID}/destinations/{id}/devices/{device_id} |
Gestor, Administrador, Gestor de dispositivos | Obtener un único dispositivo en un destino FCM de notificaciones de envío push |
event-notifications.devices.list |
GET /event-notifications/v1/instances/{instanceID}/destinations/{id}/devices |
Gestor, Administrador, Gestor de dispositivos | Crear todos los dispositivos bajo un destino FCM de notificaciones de envío push |
event-notifications.devices.update |
PUT /event-notifications/v1/instances/{instanceID}/destinations/{id}/devices/{device_id} |
Gestor, Administrador, Gestor de dispositivos | Actualizar un dispositivo existente bajo un destino FCM de notificaciones de envío push |
event-notifications.devices.delete |
POST /event-notifications/v1/instances/{instanceID}/destinations/{id}/devices/{device_id} |
Gestor, Administrador, Gestor de dispositivos | Suprimir un dispositivo existente bajo un destino FCM de notificaciones de envío push |
event-notifications.tag-subscriptions.list |
GET /event-notifications/v1/instances/{instanceID}/destinations/{id}/tag_subscriptions |
Gestor, Administrador | listar todas las suscripciones bajo un destino de DCM de envío push |
event-notifications.tag-subscriptions.devices.list |
GET /event-notifications/v1/instances/{instanceID}/destinations/{id}/tag_subscriptions/devices/{device_id} |
Gestor, Administrador, Gestor de dispositivos | Obtener un único dispositivo de las suscripciones de etiqueta bajo un destino FCM de notificaciones de envío push |
event-notifications.tag-subscriptions.create |
POST /event-notifications/v1/instances/{instanceID}/destinations/{id}/tag_subscriptions |
Gestor, Administrador, Gestor de dispositivos | Crear una suscripción de etiqueta bajo un destino FCM de notificaciones de envío push |
event-notifications.tag-subscriptions.delete |
DELETE /event-notifications/v1/instances/{instanceID}/destinations/{id}/tag_subscriptions |
Gestor, Administrador, Gestor de dispositivos | Suprimir suscripciones de etiqueta bajo un destino FCM de notificaciones de envío push |
event-notifications.channel-groups.create |
POST /event-notifications/v1/instances/{instance_id}/destinations/{id}/fcm_channel_groups |
Gestor, Administrador, Gestor de dispositivos | Crear un grupo de canales bajo un destino FCM de notificaciones de envío push |
event-notifications.channel-groups.read |
POST /event-notifications/v1/instances/{instance_id}/destinations/{id}/fcm_channel_groups/{group_id} |
Gestor, Administrador, Gestor de dispositivos | Obtener un nuevo grupo de canales bajo un destino FCM de notificaciones de envío push |
event-notifications.channel-groups.list |
GET /event-notifications/v1/instances/{instance_id}/destinations/{id}/fcm_channel_groups |
Gestor, Administrador, Gestor de dispositivos | Listar todos los grupos de canales bajo un destino FCM de notificaciones de envío push |
event-notifications.channel-groups.update |
PUT /event-notifications/v1/instances/{instance_id}/destinations/{id}/fcmChannelGroups/{group_id} |
Gestor, Administrador, Gestor de dispositivos | Actualizar un grupo de canales existente bajo un destino FCM de notificaciones de envío push |
event-notifications.channel-groups.delete |
DELETE /event-notifications/v1/instances/{instance_id}/destinations/{id}/fcm_channel_groups/{group_id} |
Gestor, Administrador | Suprimir un grupo de canales existente bajo un destino FCM de notificaciones de envío push |
event-notifications.integrations.list |
GET /event-notifications/v1/instances/{instance_id}/integrations |
Gestor, Administrador, Gestor de dispositivos | Listar todas las integraciones de servicios de gestión de claves |
event-notifications.integrations.read |
GET /event-notifications/v1/instances/{instance_id}/integrations/{id} |
Gestor, Administrador, Gestor de dispositivos | Obtenga una única integración de servicios de gestión de claves |
event-notifications.integrations.update |
PUT /event-notifications/v1/instances/{instance_id}/integrations/{id} |
Gestor, Administrador, Gestor de dispositivos | Actualizar una integración de servicios de gestión de claves existente |
Trabajo con las claves de API
Tras crear las credenciales de servicio, es posible que note que aparece una apiKey en lugar del appSecret.
Para utilizar las API REST, debe generar la señal de acceso utilizando el mandato curl siguiente:
Parámetros
curl -k -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=G2c7oaUuOjul1RbmbjAeI7YwJSUCW_hmfif3GhLabYPE" \
"https://iam.cloud.ibm.com/identity/token"
Respuesta
{
"access_token": "eyJraWQiOiIyMDE3MTAzMC0wMDowMDowMCIsImFsZyI6IlJTMjU2In0.eyJpYW1faWQiOiJpYW0tU2VydmljZUlkLTcwMTgzMDYwLWY3NWUtNGQ5Yy04NjY5LTA4NTNkYzc2NDQyMSIsImlkIjoiaWFtLVNlcnZpY2VJZC03MDE4MzA2MC1mNzVlLTRkOWMtODY2OS0wODUzZGM3NjQ0MjEiLCJyZWFsbWlkIjoiaWFtIiwiaWRlbnRpZmllciI6IlNlcnZpY2VJZC03MDE4MzA2MC1mNzVlLTRkOWMtODY2OS0wODUzZGM3NjQ0MjEiLCJzdWIiOiJTZXJ2aWNlSWQtNzAxODMwNjAtZjc1ZS00ZDljLTg2NjktMDg1M2RjNzY0NDIxIiwic3ViX3R5cGUiOiJTZXJ2aWNlSWQiLCJhY2NvdW50Ijp7ImJzcyI6IjJmZDIwM2E1M2Q5MDI1ZDI4NTU5YjZhZDFhM2JhMTNjIn0sImlhdCI6MTUzNDc2MDIwNywiZXhwIjoxNTM0NzYzODA3LCJpc3MiOiJodHRwczovL2lhbS5ibHVlbWl4Lm5ldC9pZGVudGl0eSIsImdyYW50X3R5cGUiOiJ1cm46aWJtOnBhcmFtczpvYXV0aDpncmFudC10eXBlOmFwaWtleSIsInNjb3BlIjoiaWJtIG9wZW5pZCIsImNsaWVudF9pZCI6ImltZnB1c2giLCJhY3IiOjEsImFtciI6WyJwd2QiXX0.MSUIk3KvFKeidTa4Qf9Ydf-7_boRwPRyigRjBkF0KWT2AVxeQ7oDVOgSEvApzy1tKSoi4N-bAIDpsOkd-BYnYtZnAFJxn9IGSnHli4YXOabLnLIuXbvYJBqCeAWVZoTiqQO6H7ZY__8Nf1YlfGms-iV4FFRPVAq1bx_9BylY1t2gq6WhTWciSGhoq5CHr_bdbc3qK6NRHDzvOfqBP5hDRDo9WAVFSSqtMJNttGR1Dj92jM0o9yADWe32WoVXbxMDX7VZ-wEAbvIJIW1ZcQPPKG9rfW57XOthZSWSbE4MxrUkoHvrBiGqcJfm_yV_mZD_Ynbm4yDSW4q0HbHOB1K7mg",
"refresh_token": "J1D6UZp3fEhxRdPCzhY4kvt7ojXIdUHjmO8x9pxGMgSZt0XpGd15F098WFKKUwp_v0pktQxdOZtcBGx3sL5THYUxU-PlkxELZ3gKX78dWf4P7lYDLDXR2x_n48fPIvRQoDD0ZJAKewO3o1IcegmNdf_InSgvu2M3Ra3FwlJPDN9mRH6-2e8pHnvq4e1rdY6pV0ufxweKc9dGqU-U7VU765BCg84kr8tkb9kpZnnPseDJ89gf5lhkZteKoNVkn-uiLUF0L-yv33tgtoDrdU5-FqaV00TUbLBoJEeTTnUD1fgIGB6SfphIImCQ0368gTU2emGBe3lzlQBnvkOXaMoBds3Nc2YL6px2LhqBWFd_ho68P4ahz1cbTn1rhqIjZMokeN88sreAKsRWhH7nVgBpfN3FS7OJBrVTx55j44vrZdH3vFJ-glLNb3FBwI6_6N_i2lVz7W-_W9xHW2CTYO7e3PYEZorQDBRZFIPImES6v7UV7YyaYG5ikktHHsOZsMzb6UYP-Kg1k2z_UTOumBkCDYxeV9GxukgSSK7Nckpysi5DJt4VgEnyxlbnfmWhtVeSzl8vjIBLJFE7oe7QDn3YyfCDP4QS4cIkTAvvpE5916pXk-rU9NLbIp6mmJw4PwY8__ao6CmCZJ4IDlr6GsDu4Ocn72yGgsNSwI-sq-dJyMuYG494CQ3MOooWsUjzhLTIHGsuHOkouMh07yR-v-D0dNrBeRmXM-JyF6BmtAS-rcivztjjbfJV3NNZcjC9RJvgf7OW5kp7dSRXMlohHu4tAxgVy16ON3Hm1TFnZt5jsaYLcwxuC6s2Qv7N4QEf2VIWLI5UWjbuj1IFi_Jq4RAkCCNgdvKo6RWaMbvZ8XL-3VKaDiJ60oy7wjGwZmWAWIFBZ1S3Br5waaT51T6mFV_s0VTu-68HhFpdIb1WFCXrU8DEcsamkUU7XRiTtBEIFNWQWnDDGMtn_vFGJCFygOd8CMsj",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1534763807,
"scope": "ibm openid"
}
Una vez generado el token de acceso mediante el comando curl anterior, utiliza las API REST pasando el token en Bearer <value of access_token> el encabezado Authorization.
Por ejemplo:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJraWQiOiIyMDE3MTAzMC0wMDowMDowMCIsImFsZyI6IlJTMjU2In0.eyJpYW1faWQiOiJpYW0tU2VydmljZUlkLTYxZDdhNzJkLWM3YzAtNGNlZS05Zjg0LWI2ZDc1NzgzMWM2NSIsImlkIjoiaWFtLVNlcnZpY2VJZC02MWQ3YTcyZC1jN2MwLTRjZWUtOWY4NC1iNmQ3NTc4MzFjNjUiLCJyZWFsbWlkIjoiaWFtIiwiaWRlbnRpZmllciI6IlNlcnZpY2VJZC02MWQ3YTcyZC1jN2MwLTRjZWUtOWY4NC1iNmQ3NTc4MzFjNjUiLCJzdWIiOiJTZXJ2aWNlSWQtNjFkN2E3MmQtYzdjMC00Y2VlLTlmODQtYjZkNzU3ODMxYzY1Iiwic3ViX3R5cGUiOiJTZXJ2aWNlSWQiLCJhY2NvdW50Ijp7ImJzcyI6Ijk3MDg5MjkzNTg0OTg1NzBhYjYxMjUwNDk3ZjBmMDI2In0sImlhdCI6MTUzNTM2NTQ5MywiZXhwIjoxNTM1MzY5MDkzLCJpc3MiOiJodHRwczovL2lhbS5ibHVlbWl4Lm5ldC9pZGVudGl0eSIsImdyYW50X3R5cGUiOiJ1cm46aWJtOnBhcmFtczpvYXV0aDpncmFudC10eXBlOmFwaWtleSIsInNjb3BlIjoiaWJtIG9wZW5pZCIsImNsaWVudF9pZCI6ImRlZmF1bHQiLCJhY3IiOjEsImFtciI6WyJwd2QiXX0.ASKxD9Wrz5--OYVkPIsufKK9RNKKhJKuvRldm5mnGNv6PSH7sPBB6NiRG-SSGzEC0ZIei1WqtRE-0TRHwzSnIjXPb3yffBcvNtXuG9wT8GT8zsvxQ7bJk0ovge_0Xrrcym4cCTq2jO6ROWzOZ275wkH0h4fIzukbPv7YpT2Z-DdxIwHY_uALxqcCY83xODtMIs21PO6YwQ3KX4YfNEpKUminJpo45T8po4k049PODQKEK65YrqHYK1_voCJUu9xt9uVoGd-r962fhnbuxeEAe6di9KGVfOGfEdZFHgexoG__wXHa0Rmv9dCl-nNI4WMZfCTj8jgfEOhuZstpW7pW2g' --header 'Accept-Language: en-US' -d '{ \
"message": { \
"alert": "Notification alert message" \
} \
}' 'https://us-east.imfpush.cloud.ibm.com/imfpush/v1/apps/4809d407-85ff-4d11-ae4b-0fcdf8a833f1/messages'
Para obtener más información sobre IAM, consulte Acceso de IAM.