Acceso e invitados

Lee la política de acceso de una aplicación, invita a personas externas con permisos que vencen y se limitan a una aplicación, y revócalos.

  • Disponibilidad: Planificado
  • Evidencia: Leído del código fuente
  • Referencia

Operaciones

Operación Solicitud Capacidad Reintento
access.read GET /v1/applications/{application}/access access.manage
access.invite POST /v1/applications/{application}/access/guests access.manage key
access.revoke DELETE /v1/applications/{application}/access/guests/{grant} access.manage natural
access.tickets.create POST /v1/applications/{application}/access/tickets application.read natural

La visibilidad es un miembro de la aplicación; cámbiala con applications.change. Las aplicaciones privadas exigen la habilitación private_apps, que un operador de la plataforma activa manualmente.

La política de acceso

Miembro Significado
visibility public o private
members Siempre organization: todo miembro de la organización propietaria con application.read puede abrir una aplicación privada
guests Los permisos de invitado
revocation.bound Milisegundos tras los cuales un permiso revocado ya no llega al contenido restringido

Invitar a una persona

Un invitado es una persona ajena a la organización. Un permiso de invitado se limita a una aplicación. No es una cuenta, una membresía ni una credencial de registro, y nunca llega a la API de administración.

Miembro Obligatorio Regla
label Hasta 120 caracteres; para quién es el permiso
email No
lifetime No Milisegundos hasta el vencimiento, 60000 como mínimo. Cuando no se indica se aplica el valor predeterminado configurado, y el máximo configurado lo limita. Todo permiso vence.
JSON
{ "label": "Design review, Ana", "lifetime": 259200000 }

La respuesta es la única que trae el token:

Miembro Significado
grant El permiso: id, label, state (active, expired, revoked), created, expires
token El token del invitado. El CDN guarda solo su hash y no puede volver a mostrarlo.
url El enlace de invitación para la persona invitada

Un reintento con el mismo Idempotency-Key responde el mismo permiso con un token recién rotado, porque el token original no se puede recuperar. Una aplicación cuyo estado no admite permisos de invitado responde 409 STATE_INVALID, y una organización sin la habilitación private_apps responde 403 ENTITLEMENT_REQUIRED.

Abrir una aplicación privada como miembro

Un miembro no usa un permiso de invitado. access.tickets.create confirma que quien llama es un miembro que puede leer la aplicación y responde un ticket de miembro de un solo uso:

Miembro Significado
ticket De un solo uso. El CDN guarda solo su hash y no puede volver a mostrarlo.
expires Cuándo deja de poder canjearse el ticket sin usar
url El enlace que abre la aplicación con el ticket en el fragmento de la URL. Es absoluto cuando la aplicación tiene un dominio reservado o verificado, y relativo al origen en caso contrario.
window Milisegundos durante los cuales sigue siendo válida la confirmación de la membresía. Pide un ticket de nuevo dentro de ese plazo mientras la aplicación siga abierta.

El ticket está ligado a esta única aplicación y a su host. No otorga ningún derecho de administración, y la API de administración nunca lo acepta. El propio host de la aplicación lo canjea por la cookie de acceso de ese host, como se describe en Acceso privado. Una aplicación cuyo estado no tiene entrega privada responde 409 STATE_INVALID.

Una interfaz que mantiene abierta una aplicación privada, como la administración de CDN, pide un ticket nuevo dentro de window. Cuando la membresía termina, la autoridad rechaza la siguiente confirmación y el acceso se agota dentro del plazo de revocación.

Revocar

access.revoke responde el permiso revocado. La revocación surte efecto sobre el HTML y sobre todos los recursos restringidos, rutas en caché incluidas, dentro de revocation.bound. También se cierran las suscripciones en tiempo real abiertas de la persona afectada.

Cómo responde la entrega a una solicitud sin acceso, o con un permiso revocado, se explica en Acceso privado.