Uso compartido de API de GraphQL de AWS AppSync - AWS AppSync GraphQL

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.

Uso compartido de API de GraphQL de AWS AppSync

AWS AppSync se integra con AWS Resource Access Manager (AWS RAM) para habilitar el uso compartido de recursos. AWS RAM es un servicio que le permite compartir acciones de invocación (operaciones de consulta, mutación y suscripción y solicitudes de conexión al punto de conexión de WebSocket en tiempo real) en las API de GraphQL de AWS AppSync con otras Cuentas de AWS o a través de AWS Organizations. Con AWS RAM, puede compartir recursos de su propiedad creando un uso compartido de recursos. Un uso compartido de recursos especifica los recursos que compartir y los consumidores con quienes compartirlos. Entre los consumidores pueden incluirse los siguientes.

  • Cuentas de AWS específicas dentro o fuera de su organización en AWS Organizations

  • Una unidad organizativa dentro de la organización en AWS Organizations

  • Toda la organización en AWS Organizations

Para obtener más información sobre AWS RAM, consulte la Guía del usuario de AWS Resource Access Manager.

Requisitos previos para el uso compartido de las API de GraphQL de AWS AppSync

El uso compartido de las API de GraphQL de AWS AppSync tiene los siguientes requisitos previos.

  • Para compartir una API de GraphQL de AWS AppSync, debe ser el propietario en su Cuenta de AWS. Esto significa que la API de GraphQL de AWS AppSync debe asignarse o suministrarse en su cuenta.

  • Para compartir una API de GraphQL de AWS AppSync con su organización o con una unidad organizativa en AWS Organizations, debe habilitar el uso compartido con AWS Organizations. Para obtener más información, consulte Habilitar el uso compartido de recursos dentro de AWS Organizations en la Guía del usuario de AWS Resource Access Manager.

Uso compartido de API de GraphQL de AWS AppSync

Para compartir una API de GraphQL de AWS AppSync, primero cree un recurso compartido a través de AWS Resource Access Manager. Un recurso de uso compartido define los recursos a compartir, los consumidores con quienes se comparten y las acciones principales que pueden desempeñar. Cuando comparte una API de GraphQL de AWS AppSync de su propiedad con otras Cuentas de AWS, permite que esas cuentas llamen a la API de AWS AppSync en su Cuenta de AWS.

Si forma parte de una organización en AWS Organizations y el uso compartido dentro de su organización está habilitado, los consumidores de ella obtienen acceso automáticamente al recurso compartido. De lo contrario, los consumidores reciben una invitación para unirse al recurso compartido y se les concede acceso al recurso compartido después de aceptar la invitación.

Consideraciones para compartir

  • Solo puede compartir las API de GraphQL de AWS AppSync y no otros tipos de API, como las API de eventos.

  • Solo puede compartir las API de GraphQL de AWS AppSync que tengan AWS_IAM como uno de los modos de autorización configurados en la API.

    Si AWS_IAM se elimina de la lista de modos de autorización de una API de GraphQL de AppSync compartida, mientras el recurso compartido siga existiendo, dejará de ser efectivo.

  • Puede compartir las API de GraphQL de AWS AppSync públicas y privadas.

  • Siempre se puede acceder a las API privadas de GraphQL de AWS AppSync a través de puntos de conexión de VPC en las VPC de la Cuenta de AWS de origen, y se admiten todos los modos de autorización, no solo AWS_IAM.

  • En el caso de las API de GraphQL de AWS AppSync compartidas, los permisos se administran únicamente para el recurso de API y no admiten permisos detallados para los recursos de campo y de tipo y campo. Cuando comparte una API, comparte el ARN de la API y los ARN de todos sus tipos y campos.

Creación de un recurso compartido que posee a través de la consola de AWS RAM

Para compartir una API de GraphQL de AWS AppSync, utilice el procedimiento descrito en Creación de un recurso compartido en la Guía del usuario de AWS Resource Access Manager con el nombre del permiso de RAM AWSRAMPermissionAppSyncGraphQLApiInvokeAccess.

Creación y uso de un permiso administrado por el cliente para compartir una API privada de GraphQL de AWS AppSync mediante la consola de AWS RAM

Para compartir una API privada de GraphQL de AWS AppSync, cree un permiso administrado por el cliente mediante el procedimiento descrito en Creación y uso de permisos administrados por el cliente en la Guía del usuario de AWS Resource Access Manager.

Por ejemplo, el propietario de la cuenta A quiere conceder permiso a las entidades principales de la cuenta B para acceder a una API privada de GraphQL de AWS AppSync (PrivateApiA) para las llamadas realizadas a través de VPCE-B (un punto de conexión de VPC propiedad de la cuenta B). En este caso, el propietario de la cuenta A debe crear un permiso administrado por el cliente de AWS RAM de la siguiente manera.

{ "Effect": "Allow", "Action": ["appsync:GraphQL"], "Condition": { "StringEqualsIgnoreCase": { "aws:SourceVpce": [ "VPCE-B" ] } } }

Suponga que este nuevo permiso de AWS RAM administrado por el cliente tiene el nombre private-api-A-access-via-vpce-b.

Para habilitar el acceso entre cuentas a PrivateApiA a través de VPCE-B, el cliente puede crear un recurso de AWS RAM compartido con los siguientes parámetros y el permiso administrado por el cliente del ejemplo anterior.

  • Tipo de recurso: appsync:Apis

  • Recurso: arn:aws:appsync:us-west-2:A:apis/PrivateApiA

  • Permiso: private-api-A-access-via-vpce-b (permiso administrado por el cliente)

  • Principal: Account: B

Creación de un recurso compartido que posee a través de la AWS CLI

Para compartir una API de GraphQL de AWS AppSync mediante la AWS CLI, utilice el comando create-resource-share con arn:aws:ram::aws:permission/AWSRAMPermissionAppSyncApiInvokeAccess como valor para el conmutador --permission-arns.

Para ver una lista completa de los comandos ‎disponibles para AWS RAM, consulte la Referencia de CLI de AWS RAM.

Fin del uso compartido de las API de GraphQL de AWS AppSync

Para dejar de compartir las API de GraphQL de AWS AppSync de su propiedad, debe eliminar el recurso compartido o actualizar las entidades principales con las que compartió el recurso. Consulte la documentación de las siguientes secciones para ver la acción que quiere realizar.

Cómo dejar de compartir un recurso que posee a través de la consola de AWS RAM

Consulte Actualización de un recurso de uso compartido en la Guía del usuario de AWS Resource Access Manager.

Cómo dejar de compartir un recurso que posee a través de la AWS CLI

Utilice el comando disassociate-resource-share.

Cómo eliminar un recurso compartido que posee a través de la consola de AWS RAM

Consulte Eliminar un recurso compartido en la Guía del usuario de AWS Resource Access Manager.

Cómo eliminar un recurso compartido que posee a través de AWS CLI

Utilice el comando delete-resource-share.

Para ver una lista completa de los comandos ‎disponibles para AWS RAM, consulte la Referencia de CLI de AWS RAM.

Eventos entre cuentas

Puede optar por registrar eventos de datos de AWS CloudTrail para monitorear y auditar la actividad de plano de datos de la API de GraphQL de AWS AppSync entre cuentas. Para obtener más información, consulte Registro de eventos de datos en la Guía del usuario de AWS CloudTrail.