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

En savoir plus sur l'écriture de stratégies et la visualisation d'instructions de stratégie standard permettant 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 aux tables NoSQL d'autres locations.

Pour plus d'informations sur les stratégies, reportez-vous à la section Getting Started with Policies.

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 votre, 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éfinition, Endorse et Admit.

Instructions Endorse, Admit et Define

Pour plus d'informations, reportez-vous aux sections suivantes :

Endorse : présente l'ensemble général des actions qu'un groupe de votre location peut effectuer dans d'autres locations. L'instruction d'approbation appartient toujours à la location du groupe d'utilisateurs qui accède à une autre location pour en utiliser les ressources. Dans les exemples, vous désignez cette location comme la source.

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

Define : affecte un alias à un OCID de location pour les instructions de stratégie d'approbation et d'admission. Une instruction Define est également requise dans la location de destination pour 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 utilisées conjointement, mais résident dans des stratégies distinctes, une dans chaque location. Sans instruction correspondante définissant l'accès, une instruction d'approbation ou d'admission particulière n'accorde aucun accès. Vous avez besoin d'un accord des deux locations.

Remarques :

En plus d'utiliser des instructions de stratégie, vous devez également être abonné à une région pour 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 un groupe IAM source autorisé à gérer des ressources dans la location de destination.

Remarques :

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 IAM NoSQLAdmins pour qu'il puisse effectuer toutes les opérations sur les tables NoSQL d'une location :
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 IAM NoSQLAdmins 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 :
  • Définit la location source et le groupe IAM autorisé à accéder aux ressources de votre location. L'administrateur source doit fournir ces informations.
  • admettent les sources définies pour qu'elles puissent accéder aux tables NoSQL de la location auxquelles accorder l'accès.
Voici un exemple d'instructions de stratégie approuvant le groupe IAM NoSQLAdmins de la location source pour qu'il puisse effectuer toutes les opérations possibles sur 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 approuvant le groupe IAM NoSQLAdmins dans la location source pour qu'il puisse gérer les tables NoSQL du compartiment Développement uniquement :
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

Autorisation d'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 inclus dans le groupe d'administrateurs par défaut. En tant que membre du groupe d'administrateurs, vous disposez des privilèges d'administration complets dans Oracle Cloud Infrastructure pour gérer les tables Oracle NoSQL Database Cloud Service et bien plus encore. Il n'est pas nécessaire de déléguer cette responsabilité mais, si vous le souhaitez, vous pouvez accorder à un autre utilisateur 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 de sécurité IAM pour accorder des droits d'accès. Vous devez d'abord 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 suivante :

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 de stratégie de sécurité propres à Oracle NoSQL Database Cloud Service, reportez-vous à Configuration d'utilisateurs, de groupes et de stratégies à l'aide d'Identity and Access Management.

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

Pour autoriser l'accès aux tables Oracle NoSQL Database Cloud Service, procédez comme suit :

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. Sinon, vous pouvez limiter l'accès à certains compartiments ou tables Oracle NoSQL Database Cloud Service.

Exemple - Autoriser le groupe d'administrateurs à gérer entièrement toutes 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 : permet au groupe Admins d'effectuer toute opération sur les tables NoSQL dans le compartiment Dev en utilisant le type de ressource de famille.

allow group Admins to manage nosql-family in compartment Dev

Exemple - Permet au groupe Analytics d'effectuer des opérations en lecture seule sur les tables NoSQL dans le compartiment Dev

allow group Analytics to read nosql-rows in compartment Dev

Exemple - Permet uniquement à Joe dans Developer de créer, d'obtenir et de 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 - Pour autoriser le groupe Admins à créer, à supprimer et à déplacer des tables NoSQL uniquement, mais pas à 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 - Pour permettre 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'