Présentation de la syntaxe de stratégie

La syntaxe générale d'une instruction de stratégie est expliquée dans cette section.

Pour pouvoir contrôler l'accès aux ressources de gestion des dépendances d'application, vous devez créer des utilisateurs et les placer dans les groupes appropriés (reportez-vous à Gestion des utilisateurs et à Gestion des groupes). Vous pouvez ensuite créer des stratégies et des instructions de stratégie pour contrôler l'accès (reportez-vous à Gestion des stratégies). Un groupe dynamique est un type spécial de groupe contenant les ressources qui correspondent aux règles que vous définissez. Pour plus d'informations, reportez-vous à Gestion des groupes dynamiques.

Une stratégie permet à un groupe  d'utiliser de certaines façons des types spécifiques de ressources  dans un compartiment  donné.

Allow <subject> to <verb> <resource-type> in <location> where <condition>

Voici des exemples de ce que vous pouvez indiquer :

  • Un groupe ou un groupe dynamique par son nom ou son OCID en tant que <subject>. Vous pouvez également utiliser any-user pour couvrir tous les utilisateurs dans la location.

  • inspect, read, use et manage en tant que <verb> pour accorder à <subject> des droits d'accès.

    Lorsque vous passez de inspect à read, puis à use, puis à manage, le niveau d'accès augmente et les droits d'accès accordés sont cumulés. Par exemple, use inclut read et autorise en plus la mise à jour.

  • Famille de ressources telles que adm-family pour <resource-type>. Vous pouvez également indiquer une ressource individuelle dans une famille telle que adm-knowledge-bases et adm-vulnerability-audits.

  • Un compartiment par son nom ou son OCID en tant que <location>. Vous pouvez également utiliser tenancy pour couvrir l'intégralité de la location.

  • Des conditions dans <condition>, qui doivent être remplies pour que l'accès soit accordé. Pour plusieurs conditions, vous pouvez utiliser any ou all.

    Une condition se compose de variables. Une variable peut être pertinente pour la demande elle-même (par exemple, request.operation) ou pour la ressource faisant l'objet d'une action dans la demande (par exemple, target.compartment.id). Pour illustrer, pour permettre à un groupe de gérer une base de connaissances spécifique et non une autre base de connaissances :

    Allow group <group-name> to manage adm-knowledge-bases in compartment <compartment-name> where target.compartment.id = '<compartment-ocid>'

    Pour autoriser un groupe à gérer toutes les ressources Application Dependency Management, à l'exception de la suppression des bases de connaissances :

    Allow group <group-name> to manage adm-family in compartment <compartment-name> where request.permission != 'ADM_KNOWLEDGE_BASE_DELETE'

Pour plus d'informations, reportez-vous à Syntaxe de stratégie. Pour plus d'informations sur la création de stratégies, reportez-vous à Fonctionnement des stratégies et à Référence de stratégie.