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 utiliserany-user
pour couvrir tous les utilisateurs dans la location. -
inspect
,read
,use
etmanage
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
inclutread
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 queadm-knowledge-bases
etadm-vulnerability-audits
. -
Un compartiment par son nom ou son OCID en tant que
<location>
. Vous pouvez également utilisertenancy
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 utiliserany
ouall
.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.