Configurar Valores

En este tema se tratará cómo configurar el arrendamiento con permisos de IAM, grupos dinámicos, el servicio OCI Object Storage y las instancias de VM.

Configuración de un cubo de objetos

El cubo utilizado para esta solución es un cubo de objeto simple, creado en modo Estándar, ya que soporta todos los niveles: Estándar, Poco frecuente y Archivo. Esto permite que los objetos cambien de nivel a medida que envejecen, fluyendo hacia el nivel de archivo de menor costo que se conservará hasta que haya pasado el período de tiempo especificado.

A este cubo, agregamos una regla de retención, que evita de forma efectiva el cambio o la supresión de objetos una vez creados. La regla no se bloquea hasta que se completa la prueba.

Además, agregamos reglas de ciclo de vida de objetos para cambiar automáticamente el nivel de almacenamiento de cada objeto en función de los requisitos. Una vez que el objeto se ha movido al nivel de archivo, ya no estará disponible de inmediato, sino que se debe "rellamar" antes de acceder a él. Esto se puede realizar mediante una función de OCI, un script o algún proceso externo, que se debe diseñar.

Por último, una vez conocidos el OCID y el nombre del cubo, podemos definir permisos estrechos en los grupos dinámicos que accederán al cubo. Estas sentencias de política pueden aprovechar los predicados de política avanzados de OCI, como target.bucket.name.

Configurar grupos dinámicos

Es posible que ya exista un grupo dinámico en el nivel de compartimento si el arrendamiento se ha configurado mediante la zona de llegada del CIS. En esta sección se asume que no existe ningún grupo dinámico.

Grupos Dinámicos

Tenga en cuenta que diferentes juegos de máquinas virtuales de OCI instalarán RCLONE u OCIFS y accederán al almacenamiento de objetos. Por lo tanto, podemos definir grupos dinámicos basados en OCID de instancia o OCIDS de compartimento específicos, según dónde se creen las máquinas virtuales. Se han creado los siguientes 2 grupos dinámicos para esta solución:

Name: oci-rclone-full-dg

Matching Rule: 

ANY {instance.id = 'ocid1.xxx.yyy.zzz1', instance.id = 'ocid.xxx.yyy.zzzz2' }

or

instance.compartment.id = 'ocid1.compartment.yyy.zzz'
Name: oci-ocifs-readonly-dg

Matching Rule:

ANY {instance.id = 'ocid1.xxx.yyy.zzz3', instance.id = 'ocid.xxx.yyy.zzz4' } 
or
instance.compartment.id = 'ocid1.compartment.yyy.zzz

Podemos utilizar marcadores de posición para un OCID de instancia si no se ha creado o puede cambiar. La segunda opción anterior permite crear instancias ilimitadas en el compartimento al que se hace referencia, sin preocuparse de actualizar el grupo dinámico. Tenga en cuenta que si todas las instancias utilizadas para la solución existen en el mismo compartimento, es necesario definir grupos dinámicos mediante OCID de instancia para que las instancias de solo lectura no tengan también acceso completo.

Configurar permisos

Suponga que, para empezar, no tiene permisos de almacenamiento de objetos específicos en un compartimento o un cubo. Para empezar, podríamos crear una política específica o adjuntar nuestras sentencias a una política existente.

Por ejemplo, si se utiliza la zona de llegada del CIS, puede tener una política como cislz-appdev-cmp-policy, actualizada para agregar sentencias de grupo dinámico, como se muestra a continuación. En caso de que estemos empezando desde cero, en el siguiente ejemplo se utiliza una plantilla de política para definir el acceso de grupos dinámicos y de usuarios a Object Storage. Las sentencias de política se pueden aumentar con condiciones, si es necesario ahora o más tarde.
allow dynamic-group oci-rclone-full-dg to read buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }
allow dynamic-group oci-rclone-full-dg to manage objects in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }
allow dynamic-group oci-ocifs-readonly-dg to read objects in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }

Se pueden agregar o eliminar más permisos más adelante y como parte de la prueba. Se recomienda probar completamente RCLONE y OCIFS para garantizar que los permisos otorgados sean correctos.

Configuración de una instancia de VM con RCLONE

La creación de máquinas virtuales de OCI está fuera del ámbito de esta solución, pero cualquier máquina virtual de Linux de unidad funcionará. Se necesita conectividad básica mediante el gateway de servicio o el gateway de NAT, al igual que la salida de VCN para el puerto 443. Si los puntos finales privados de Object Storage están en uso, no se necesitan los gateways y las reglas de salida.

Básicamente, la máquina virtual debe poder acceder a OCI Object Storage. El otro requisito importante es que la máquina virtual se cree dentro del compartimento al que se hace referencia en el grupo dinámico. Como se ha indicado, la definición de grupo dinámico se puede ajustar más tarde para incluir solo el OCID de VM, o puede coincidir con la definición basada en compartimentos del grupo dinámico. Una vez que se configura la VM y se puede acceder a ella, se puede instalar RCLONE. Siga la documentación general de RCLONE, en concreto la sección OCI Object Storage.

Para utilizar la configuración del grupo dinámico, el tipo de autenticación aquí es instance_principal_auth. Siga los pasos del documento anterior y cree un juego de pruebas. En función de los permisos otorgados mediante un grupo dinámico, puede suprimir fácilmente un cubo con el comando rclone incorrecto. Como se ha descrito anteriormente, el permiso con el que esta solución comienza limita el grupo dinámico a "leer cubos" y "gestionar objetos". Por lo tanto, no puede crear ni suprimir un cubo, pero puede eliminar su contenido. Los documentos de RCLONE proporcionan algunos ejemplos seguros para las pruebas, como el listado de contenidos, la colocación de objetos y la eliminación de un solo objeto.

Configuración de una instancia de VM con OCIFS

Al igual que en la sección anterior, la creación de máquinas virtuales no está en el ámbito. OCIFS se instalará de forma similar en un juego de máquinas virtuales.

Para obtener más información sobre el uso de principales de instancia, que aprovecharán el grupo dinámico y la política agregados anteriormente, consulte la documentación de la utilidad OCIFS.

Como parte de la prueba de los montajes, cualquiera de las siguientes opciones funcionará:
  • comandos directos de montaje de ocifs
  • Entradas /etc/fstab
  • configuración de montaje automático
Para montajes fstab, el formato es el siguiente:
archive-bucket /mnt/archive-bucket fuse.ocifs auth=instance_principal 0 0
Para utilizar automount, el estilo necesario para cada entrada es el siguiente:
archive-bucket -fstype=fuse,allow_other,auth=instance_principal :ocifs\#archive-bucket