Configurer les paramètres
Cette rubrique explique comment configurer la location avec les autorisations IAM, les groupes dynamiques, le service de stockage d'objets OCI et les instances de machine virtuelle.
Configurer un seau d'objets
Le seau utilisé pour cette solution est un seau 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 au fur et à mesure qu'ils vieillissent, passant au niveau d'archives le plus bas coût, pour être conservés jusqu'à ce que la période spécifiée soit écoulée.
À ce compartiment, nous ajoutons une règle de conservation qui empêche en fait la modification ou la suppression des objets une fois qu'ils ont été 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 des objets 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 archive, il ne sera plus disponible immédiatement, mais doit être "réappelé" avant d'être accessible. Cela peut être effectué au moyen d'une fonction OCI, d'un script ou d'un processus externe qui doit être conçu.
Enfin, une fois que l'OCID et le nom du seau sont connus, nous pouvons définir des autorisations étroites sur les groupes dynamiques qui accèdent au seau. Ces énoncés de politique peuvent tirer parti des prédicats de politique avancés d'OCI, tels que target.bucket.name.
Configurer des 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 d'atterrissage CIS. Cette section suppose qu'il n'existe aucun groupe dynamique.
Groupes dynamiques
Considérons que différents jeux de machines virtuelles OCI vont installer RCLONE ou OCIFS et accéder au stockage d'objets. Ainsi, nous pouvons définir des groupes dynamiques en fonction d'OCID d'instance ou d'OCIDS de compartiment spécifiques, selon l'endroit où les machines virtuelles sont créées. 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 paramètres fictifs pour l'OCID d'une instance si celle-ci n'a pas été créée ou peut être modifiée. 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 mettre à jour le groupe dynamique. Notez que 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 des OCID d'instance afin que les instances en lecture seule ne bénéficient pas également d'un accès complet.
Configurer les autorisations
Supposons que pour commencer, vous n'avez aucune autorisation de stockage d'objets spécifique sur un compartiment ou un seau. Pour commencer, nous pourrions créer une politique spécifique ou associer nos énoncés à une politique existante.
cislz-appdev-cmp-policy
, mise à jour pour ajouter des énoncés de groupe dynamique, comme illustré ci-dessous. Si nous partons de zéro, l'exemple suivant utilise un modèle de politique pour définir le groupe dynamique et les autorisations de groupe d'utilisateurs pour l'accès au stockage d'objets. Les énoncés de politique peuvent être complétés par des conditions, si nécessaire, maintenant ou plus tard.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 des tests. Il est recommandé de tester entièrement RCLONE et OCIFS pour s'assurer que les autorisations accordées sont correctes.
Configurer une instance de machine virtuelle avec RCLONE
La création de machines virtuelles OCI n'est pas incluse pour cette solution, mais toute machine virtuelle Linux de forme fonctionnera. La connectivité de base au moyen de la passerelle de service ou de la passerelle NAT est requise, tout comme le trafic sortant du VCN pour le port 443. Si les points d'extrémité privés du service de stockage d'objets sont utilisés, les passerelles et les règles de trafic sortant ne sont pas requises.
Essentiellement, la machine virtuelle doit pouvoir accéder au service de stockage d'objets pour OCI. L'autre exigence 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 plus tard pour inclure uniquement l'OCID de la 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 RCLONE générale, en particulier la section sur le stockage d'objets OCI.
Pour utiliser la configuration de groupe dynamique, le type d'authentification est instance_principal_auth
. Suivez les étapes du document ci-dessus et créez un ensemble de tests. Selon les autorisations accordées au moyen d'un groupe dynamique, vous pouvez facilement supprimer un seau avec la mauvaise commande rclone
. Comme décrit ci-dessus, l'autorisation de démarrage de cette solution limite le groupe dynamique à "lire les seaux" et à "gérer les objets". Vous ne pouvez donc pas créer ou supprimer un seau, mais vous pouvez en supprimer le contenu. Les documents RCLONE fournissent des exemples sûrs pour les tests, tels que la liste des contenus, le placement d'objets et la suppression d'un seul objet.
Configurer une instance de machine virtuelle avec OCIFS
Comme dans la section précédente, la création d'une machine virtuelle n'est pas incluse. 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 politique ajoutés précédemment, voir la documentation sur l'utilitaire OCIFS.
- commandes de montage direct ocifs
- Entrées
/etc/fstab
- configuration de 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