Gestion de l'accès aux tables Oracle NoSQL Database Cloud Service

Découvrez comment écrire des stratégies et afficher des instructions de stratégie standard qui permettent d'autoriser l'accès aux tables Oracle NoSQL Database Cloud Service.

Cet article comprend les rubriques suivantes :

Accès aux tables NoSQL dans les locations

Cette rubrique explique comment écrire des stratégies permettant à votre location d'accéder à des tables NoSQL dans d'autres locations.

Si vous ne connaissez pas les stratégies, reportez-vous à Introduction aux stratégies.

Stratégies inter-locations

Votre organisation peut partager des ressources avec une autre organisation qui possède sa propre location. Il peut s'agir d'une autre unité opérationnelle de votre société, d'un client, d'une société qui fournit des services à la vôtre, etc. Vous avez alors besoin de stratégies inter-locations en plus des stratégies utilisateur et de service requises décrites précédemment.

Pour accéder aux ressources et les partager, les administrateurs des deux locations doivent créer des instructions de stratégie spéciales qui indiquent de façon explicite les ressources accessibles et pouvant être partagées. Ces instructions spéciales utilisent les mots Définir, Approuver et Admettre.

Instructions Endorse, Admit et Define

Voici un aperçu des verbes spéciaux utilisés dans les instructions inter-locations :

Endorse : présente l'ensemble général des activités qu'un groupe de votre location peut effectuer dans d'autres emplacements. L'instruction Endorse appartient toujours à la location où le groupe d'utilisateurs qui franchit les limites de l'autre location utilise les ressources de cette dernière. Dans les exemples, cette location est désignée comme la source.

Admettre : indique le type de capacité possible dans votre propre location que vous voulez octroyer à un groupe d'une autre location. L'instruction d'admission appartient à la location qui octroie l'octroi de l'admission à la location. L'instruction Admit identifie le groupe d'utilisateurs nécessitant l'accès aux ressources à partir de la location source, ce dernier étant identifié par une instruction Endorse correspondante. Dans les exemples, nous désignons cette location comme la destination.

Définir : affecte un alias à un OCID d'emplacement pour les instructions d'une stratégie Endorse et Admit. Une instruction Define est également requise dans la location de destination afin d'affecter un alias à l'OCID de groupe IAM source pour les instructions Admit.

Les instructions Define doivent être incluses dans la même entité de stratégie que l'instruction Endorse ou Admit. Les instructions Endorse et Admit sont employées conjointement, mais résident dans des stratégies distinctes, une dans chaque location. Sans instruction correspondante précisant l'accès, une instruction Endorse ou Admit particulière n'accorde aucun accès. Vous avez besoin d'un accord des deux locations.

Remarque : outre les instructions de stratégie, vous devez également être abonné à une région afin de partager des ressources entre des régions.

Instructions de stratégie de la location source

L'administrateur source crée des instructions de stratégie qui approuvent le groupe IAM source autorisé à gérer des ressources dans la location de destination.

Remarque : les stratégies inter-locations peuvent également être écrites avec d'autres sujets de stratégie. Pour plus de détails sur les sujets de stratégie, reportez-vous à Syntaxe de stratégie dans la documentation Oracle Cloud Infrastructure.

Voici un exemple d'instruction de stratégie générale approuvant le groupe NoSQLAdmins du groupe IAM pour qu'il puisse effectuer toutes les opérations sur toutes les tables NoSQL de l'ensemble des locations :

Endorse group NoSQLAdmins to manage nosql-family in any-tenancy

Pour écrire une stratégie qui réduit la portée de l'accès à la location, l'administrateur de destination doit fournir l'OCID de location de destination. Voici un exemple d'instructions de stratégie approuvant le groupe NoSQLAdmins du groupe IAM pour qu'il puisse gérer les tables NoSQL dans DestinationTenancy uniquement :

Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<destination_tenancy_OCID>
Endorse group NoSQLAdmins to manage nosql-family in tenancy DestinationTenancy

Instructions de stratégie de la location de destination

L'administrateur de destination crée des instructions de stratégie qui :

Voici un exemple d'instructions de stratégie approuvant le groupe NoSQLAdmins de la location source IAM pour qu'il puisse effectuer n'importe quelle opération avec toutes les tables NoSQL de votre location :

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<source_tenancy_OCID>
Define group NoSQLAdmins as ocid1.group.oc1..<group_OCID>
Admit group NoSQLAdmins of tenancy SourceTenancy to manage nosql-family in tenancy

Voici un exemple d'instructions de stratégie qui approuvent le groupe IAM NoSQLAdmins dans la location source pour gérer uniquement les tables NoSQL dans le compartiment de développement :

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<source_tenancy_OCID>
Define group NoSQLAdmins as ocid1.group.oc1..<group_OCID>
Admit group NoSQLAdmins of tenancy SourceTenancy to manage nosql-family in compartment Develop

Octroi de droits d'accès à un autre utilisateur pour gérer des tables NoSQL

Lorsque vous activez votre commande pour Oracle NoSQL Database Cloud Service, vous (le premier utilisateur) êtes compris dans le groupe d'administrateurs par défaut. En tant que membres du groupe d'administrateurs, vous disposez de privilèges d'administration complets dans Oracle Cloud Infrastructure, ce qui vous permettra de gérer les tables Oracle NoSQL Database Cloud Service et bien plus encore. Il n'est pas nécessaire d'allouer cette responsabilité mais, si vous le souhaitez, vous pouvez accorder à quelqu'un d'autre des privilèges pour créer et gérer des tables Oracle NoSQL Database Cloud Service via le droit d'accès manage nosql-tables.

Dans Oracle Cloud Infrastructure, vous utilisez des stratégies d'accès de sécurité IAM pour accorder des droits d'utilisateur. Tout d'abord, vous devez ajouter l'utilisateur à un groupe, puis créer une stratégie de sécurité qui accorde au groupe le droit d'accès manage nosql-tables sur un compartiment spécifique ou sur la location (n'importe quel compartiment dans la location). Par exemple, vous pouvez créer une instruction de stratégie semblable à celle ci-dessous :

allow group MyAdminGroup to manage nosql-tables in tenancy
allow group MyAdminGroup to manage nosql-tables in compartment MyOracleNoSQL

Pour savoir comment créer des instructions d'une stratégie de sécurité propre à Oracle NoSQL Database Cloud Service, reportez-vous à Configuration d'utilisateurs, de groupes et d'autres stratégies à l'aide d'Identity and Access Management.

Instructions de stratégie standard pour gérer les tables

Voici les instructions de stratégie standard permettant d'autoriser l'accès aux tables Oracle NoSQL Database Cloud Service.

Lorsque vous créez une stratégie pour votre location, vous octroyez aux utilisateurs l'accès à tous les compartiments par le biais de l'héritage de stratégie. Vous pouvez également restreindre l'accès à des compartiments ou des tables Oracle NoSQL Database Cloud Service spécifiques.

Exemple - Permettre aux administrateurs de groupe de gérer entièrement les tables Oracle NoSQL Database Cloud Service

allow group Administrators to manage nosql-tables in tenancy
allow group Administrators to manage nosql-rows in tenancy
allow group Administrators to manage nosql-indexes in tenancy

Exemple - Pour autoriser le groupe Admins à effectuer toute opération dans les tableaux NoSQL du compartiment Dev en utilisant le type de ressource family.

allow group Admins to manage nosql-family in compartment Dev

Exemple - Autoriser le groupe Analytics à effectuer des opérations en lecture seule dans les tableaux NoSQL dans le compartiment Dev

allow group Analytics to read nosql-rows in compartment Dev

Exemple : Autoriser uniquement Joe dans Developer à créer, à obtenir et supprimer des index de tables NoSQL dans le compartiment Dev

allow group Developer to manage nosql-indexes in compartment Dev
where request.user.id = '<OCID of Joe>'

Exemple - Permet aux administrateurs de groupe de créer, de supprimer et de déplacer des tables NoSQL uniquement, mais pas de les modifier, dans le compartiment Dev.

allow group Admins to manage nosql-tables in compartment Dev
where any {request.permission = 'NOSQL_TABLE_CREATE',
           request.permission = 'NOSQL_TABLE_DROP',
           request.permission = 'NOSQL_TABLE_MOVE'}

Exemple - Permet au groupe Developer de lire, de mettre à jour et de supprimer des lignes de la table "customer" dans le compartiment Dev, mais pas les autres.

allow group Developer to manage nosql-rows in compartment Dev
where target.nosql-table.name = 'customer'

Rubriques connexes