Configurer les paramètres
Cette rubrique explique comment configurer la location avec des droits d'accès IAM, des groupes dynamiques, le service OCI Object Storage et des instances de machine virtuelle.
Configuration d'un bucket d'objet
Le bucket utilisé pour cette solution est un bucket Object simple, créé en mode Standard, car il prend en charge tous les niveaux : Standard, Peu fréquent et Archive. Cela permet aux objets de changer de niveau à mesure qu'ils vieillissent, passant au niveau d'archive le moins coûteux à conserver jusqu'à la fin de la période spécifiée.
Pour ce bucket, nous ajoutons une règle de conservation qui empêche efficacement la modification ou la suppression d'objets une fois créés. La règle n'est pas verrouillée tant que le test n'est pas terminé.
En outre, nous ajoutons des règles de cycle de vie d'objet pour modifier automatiquement le niveau de stockage de chaque objet en fonction des exigences. Une fois que l'objet a été déplacé vers le niveau d'archive, il ne sera plus disponible immédiatement, mais doit plutôt être "rappelé" avant d'être consulté. Cela peut être fait via une fonction OCI, un script ou un processus externe, qui doit être conçu.
Enfin, une fois que l'OCID et le nom du bucket sont connus, nous pouvons définir des droits d'accès restreints sur les groupes dynamiques qui accéderont au bucket. Ces instructions de stratégie peuvent tirer parti des prédicats de stratégie avancés d'OCI, tels que target.bucket.name.
Configuration de groupes dynamiques
Il est possible qu'un groupe dynamique existe déjà au niveau d'un compartiment, si la location a été configurée à l'aide de la zone de renvoi CIS. Cette section suppose qu'il n'existe aucun groupe dynamique.
Groupes dynamiques
Notez que différents ensembles de machines virtuelles OCI installent RCLONE ou OCIFS et accèdent au stockage d'objets. Par conséquent, nous pouvons définir des groupes dynamiques en fonction d'OCID d'instance ou de compartiment spécifiques, selon l'emplacement de création des machines virtuelles. Les 2 groupes dynamiques suivants ont été créés pour cette solution :
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
Nous pouvons utiliser des espaces réservés pour un OCID d'instance si celui-ci n'a pas été créé ou s'il est susceptible d'être modifié. La deuxième option ci-dessus vous permet de créer un nombre illimité d'instances dans le compartiment référencé, sans vous soucier de la mise à jour du groupe dynamique. Si toutes les instances utilisées pour la solution existent dans le même compartiment, il est nécessaire de définir des groupes dynamiques à l'aide d'OCID d'instance afin que les instances en lecture seule ne bénéficient pas également d'un accès complet.
Configurer des droits d'accès
Supposons que pour démarrer, vous ne disposez d'aucun droit d'accès Object Storage spécifique sur un compartiment ou un bucket. Pour commencer, nous pouvons soit créer une stratégie spécifique, soit attacher nos instructions à une stratégie existante.
cislz-appdev-cmp-policy
, mise à jour pour ajouter des instructions de groupe dynamique, comme indiqué ci-dessous. Si nous partons de zéro, l'exemple suivant utilise un modèle de stratégie pour définir l'accès aux droits d'accès du groupe dynamique et du groupe d'utilisateurs au stockage d'objets. Les instructions de stratégie peuvent être augmentées avec des conditions, si nécessaire maintenant ou ultérieurement.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' }
D'autres autorisations peuvent être ajoutées ou supprimées ultérieurement, et dans le cadre du test. Il est recommandé de tester entièrement RCLONE et OCIFS pour vérifier que les droits d'accès accordés sont corrects.
Configuration d'une instance de machine virtuelle avec RCLONE
La création de machines virtuelles OCI est hors de portée pour cette solution, mais toute forme de machine virtuelle Linux fonctionnera. La connectivité de base via la passerelle de service ou la passerelle NAT est requise, tout comme la sortie du VCN pour le port 443. Si des adresses privées Object Storage sont utilisées, les passerelles et les règles sortantes ne sont pas requises.
Pour l'essentiel, la machine virtuelle doit pouvoir accéder à OCI Object Storage. L'autre exigence importante est que la machine virtuelle soit créée dans le compartiment référencé dans le groupe dynamique. Comme indiqué, la définition de groupe dynamique peut être ajustée ultérieurement pour inclure uniquement l'OCID de machine virtuelle, ou elle peut correspondre à la définition basée sur le compartiment du groupe dynamique. Une fois la machine virtuelle configurée et accessible, RCLONE peut être installé. Suivez la documentation générale RCLONE, en particulier la section OCI Object Storage.
Pour utiliser la configuration du groupe dynamique, le type d'authentification est instance_principal_auth
. Suivez les étapes du document ci-dessus et créez un ensemble de tests. En fonction des droits d'accès accordés via le groupe dynamique, vous pouvez facilement supprimer un bucket avec une commande rclone
incorrecte. Comme décrit ci-dessus, le droit d'accès que cette solution commence par limite le groupe dynamique à "lire les buckets" et à "gérer les objets". Vous ne pouvez donc pas créer ou supprimer un bucket, mais vous pouvez en enlever le contenu. Les documents RCLONE fournissent des exemples sûrs pour les tests, tels que la liste du contenu, le placement d'objets et la suppression d'un seul objet.
Configuration d'une instance de machine virtuelle avec OCIFS
Comme dans la section précédente, la création de machine virtuelle n'est pas dans la portée. OCIFS sera également installé sur un ensemble de machines virtuelles.
Pour plus d'informations sur l'utilisation des principaux d'instance, qui tireront parti du groupe dynamique et de la stratégie ajoutés précédemment, reportez-vous à la documentation de l'utilitaire OCIFS.
- commandes de montage d'ocifs directs
- Entrées
/etc/fstab
- configuration du montage automatique
archive-bucket /mnt/archive-bucket fuse.ocifs auth=instance_principal 0 0
archive-bucket -fstype=fuse,allow_other,auth=instance_principal :ocifs\#archive-bucket