La referencia de la API muestra la acción en la página propia de cada punto final, por lo que no tiene que volver aquí para buscar una. Ambos provienen del mismo lugar: la llamada de autorización en el servicio, leída en el momento de la compilación.
Formas de recursos
Diez tipos de recursos, y la diferencia entre ellos decide lo que una política puede decir:
Las rutas y las IP flotantes no tienen nombre propio, por lo que son las dos que no pueden nombrarse de forma legible en una directiva. Condición en las etiquetas para ellos.
La ranura de región está poblada. Una VPC existe en una región, por lo que una política escrita para una región no llega a otra, y
crn:network:*:… es la forma de escribir una que las abarque deliberadamente.
Las acciones
Las colecciones de rutas de puerta de enlace filtran por acceso a tabla de rutas. Leer la puerta de enlace por sí sola no concede acceso a sus rutas:
network:ListRoutes se comprueba contra el CRN y las etiquetas de recursos de cada tabla. Las tablas denegadas se omiten antes de la paginación y la respuesta incluye solo identidades de tabla de rutas visibles.
La creación se verifica con el nombre que has solicitado
Una creación se autoriza contra el CRN del recurso a punto de existir, construido a partir del nombre en la solicitud. Así que una convención de nombres es exigible:team-b-web es denegada antes de que se escriba nada. Las tags propias de la solicitud también están disponibles como contexto de condición en un create, a través de basalt:RequestTag/<key>, por lo que puede requerir una etiqueta de equipo en la misma sentencia.
Las colecciones de nivel superior usan permisos de comodín
Las listas de recursos de nivel superior se autorizan contra el comodín de la colección, literalmentecrn:network:<region>:<account>:vpc/*, no contra cada fila. Un recurso de política de vpc/prod-* no coincide con esa cadena, por lo que restringir una lista por patrón de nombre no la restringe, sino que la niega por completo:
Así que concede el comodín para listar y abarcar las operaciones que actúan en un recurso. La lista le dice a la persona que llama que algo existe y nada más.
Los subrecursos se rigen por su padre, en su mayoría
Las reglas de grupo de seguridad no tienen CRN propio. Las cuatro acciones de regla (lista, crear, obtener y eliminar) se comparan con el CRN del grupo principal con las etiquetas del grupo como contexto. Por lo tanto, concedernetwork:CreateSecurityGroupRule a un grupo es exactamente tan estrecho como lo lee, y una condición de etiqueta en el grupo gobierna quién puede agregar reglas a él.
Las rutas son la excepción, y la división vale la pena conocer:
- Comprobado contra la mesa
- Comprobado contra la ruta
network:ListRoutes y network:CreateRoute están autorizados contra el CRN y las etiquetas de la tabla de rutas. Esto es lo que le permite conceder “puede agregar rutas a la tabla privada” sin concederlo en *.Una concesión para crear rutas en una tabla es similar a una concesión para cambiar dónde las subredes de esa tabla envían tráfico. Alguien que puede añadir
0.0.0.0/0 a la tabla de una subred privada la ha hecho pública — no se requiere ningún cambio de gateway ni de grupo de seguridad, porque la gateway ya estaba conectada.La membresía de interfaz es una acción, no dos
network:SetInterfaceSecurityGroups cubre tanto la conexión como la desconexión, porque el punto final es un PUT que reemplaza todo el conjunto. No hay una acción de desconexión separada que retener: cualquiera que pueda agregar un grupo a una interfaz puede eliminar todos los grupos de ella, lo que deja que esa interfaz deje de recibir todo el tráfico.
Concederlo en las interfaces que un llamador está destinado a gestionar, no en interface/*.
Siguiente
Políticas
Estructura del documento, condiciones y cómo se evalúa
deny.Solución de problemas
Lo que significa cada rechazo, y el orden en que las cosas tienen que desmoronarse.

