Extracción de imágenes de repositorios en otros arrendamientos
Obtenga información sobre las políticas de IAM necesarias para que una función de una aplicación de un arrendamiento extraiga una imagen de un repositorio de otro arrendamiento mediante OCI Functions.
Cuando se llama a una función por primera vez, OCI Functions extrae la imagen de la función de un repositorio en Oracle Cloud Infrastructure Registry, ejecuta la imagen como un contenedor y ejecuta la función. Normalmente, la aplicación de la función está en el mismo arrendamiento que el repositorio que contiene la imagen. Sin embargo, siempre que existan las políticas de arrendamiento cruzado necesarias, la aplicación de la función puede estar en un arrendamiento diferente al repositorio que contiene la imagen.
Si no está familiarizado con las políticas, consulte Gestión de dominios de identidad y consulte:
Políticas de arrendamiento combinado
Es posible que su organización desee que las funciones de una aplicación de un arrendamiento extraigan imágenes creadas por otra organización y almacenadas en un repositorio de su propio arrendamiento. Podría ser otra unidad de negocio de La compañía, un cliente de La compañía, una compañía que presta servicios a su compañía, etc. En casos como estos, necesita directivas de arrendamiento combinado, así como las directivas de servicio y usuario necesarias descritas en Creación de políticas para controlar el acceso a los recursos de red y relacionados con funciones.
Sentencias Endorse, Admit y Define
Para acceder a los recursos entre dos arrendamientos y compartirlos, los administradores de ambos arrendamientos deben crear sentencias de política especiales que determinen de forma explícita los recursos que se pueden compartir y a los que se puede acceder. Estas sentencias especiales usan las palabras Define, Endorse y Admit.
A continuación, se muestra una visión general de los verbos especiales utilizados en sentencias de arrendamiento combinado:
- Endorse: determina el juego general de capacidades que un grupo de su propio arrendamiento puede realizar en otros arrendamientos. La sentencia Endorse siempre pertenece al arrendamiento con el grupo que cruza los límites de otro arrendamiento para trabajar con los recursos de dicho arrendamiento. En los ejemplos, este arrendamiento se denomina arrendamiento de origen.
- Admit: determina el tipo de capacidad de su propio arrendamiento que desea otorgar a un grupo de otro arrendamiento. La sentencia Admit pertenece al arrendamiento que otorga la "admisión" en el arrendamiento. La sentencia Admit identifica el grupo que requiere acceso al recurso desde el arrendamiento de origen (donde se identifica con la sentencia Endorse correspondiente). En los ejemplos, este arrendamiento se denomina arrendamiento de destino.
-
Define: asigna un alias a un OCID de arrendamiento para las sentencias de política Endorse y Admit.
Las sentencias Define se deben incluir en la misma entidad de política que la sentencia Endorse o Admit.
Las sentencias Endorse y Admit trabajan juntas, pero residen en políticas distintas, una en cada arrendamiento. Sin una sentencia correspondiente que especifique el acceso, una sentencia Endorse o Admit en particular no otorga acceso. El acuerdo es necesario por parte de ambos arrendamientos.
Políticas de origen
Para permitir que las funciones de las aplicaciones de un arrendamiento de origen extraigan imágenes de repositorios de un arrendamiento de destino, el administrador de origen crea una política de IAM en el arrendamiento de origen que:
- define el arrendamiento de destino que contiene los recursos a los que se va a acceder (el administrador de destino debe proporcionar el OCID del arrendamiento de destino)
- aprueba las funciones de las aplicaciones del arrendamiento de origen para extraer imágenes de los repositorios del arrendamiento de destino
Las sentencias de política del arrendamiento de origen tienen el formato:
Define tenancy <destination-tenancy> as '<tenancy-ocid>'
Endorse any-user to { REPOSITORY_READ } in tenancy <destination-tenancy> where all { request.principal.type = 'fnapp', request.principal.repo_name = target.repo.name}
donde:
-
<destination-tenancy>es un alias adecuado para el arrendamiento que contiene la imagen. Por ejemplo,image-tenancy -
<tenancy-ocid>es el OCID del arrendamiento que contiene la imagen. Por ejemplo,ocid1.tenancy.oc1..aaaa______ggq
Por ejemplo:
Define tenancy image-tenancy as 'ocid1.tenancy.oc1..aaaa______ggq'
Endorse any-user to { REPOSITORY_READ } in tenancy image-tenancy where all { request.principal.type = 'fnapp', request.principal.repo_name = target.repo.name}
Políticas de destino
Para permitir que las funciones de las aplicaciones de un arrendamiento de origen extraigan imágenes de repositorios de un arrendamiento de destino, el administrador de destino crea una política de IAM en el arrendamiento de destino que:
- define el arrendamiento de origen que puede acceder a los recursos del arrendamiento de destino (el administrador de origen debe proporcionar el OCID del arrendamiento de origen)
- admite funciones en aplicaciones del arrendamiento de origen para extraer imágenes de repositorios del arrendamiento de destino
Las sentencias de política en el arrendamiento de destino que contiene la imagen tienen el formato:
Define tenancy <source-tenancy> as '<tenancy-ocid>'
Admit any-user of tenancy <source-tenancy> to { REPOSITORY_READ } in tenancy where all { request.principal.type = 'fnapp', request.principal.repo_name = target.repo.name}
donde:
-
<source-tenancy>es un alias adecuado para el arrendamiento que contiene la aplicación de la función. Por ejemplo,application-tenancy -
<tenancy-ocid>es el OCID del arrendamiento que contiene la aplicación de la función. Por ejemplo,ocid1.tenancy.oc1..aaaa______abc
Por ejemplo:
Define tenancy application-tenancy as 'ocid1.tenancy.oc1..aaaa______abc'
Admit any-user of tenancy application-tenancy to { REPOSITORY_READ } in tenancy where all { request.principal.type = 'fnapp', request.principal.repo_name = target.repo.name}