Exemples de stratégie de sécurité
Découvrez comment utiliser des stratégies pour créer des administrateurs de niveau de service pour le moindre privilège, restreindre la capacité des administrateurs à modifier l'appartenance des groupes d'administrateurs de location, et comment empêcher les administrateurs de supprimer ou de mettre à jour des stratégies de sécurité, ainsi que de les empêcher d'accéder aux informations d'identification utilisateur ou de les modifier.
Des exemples de stratégies de sécurité IAM courantes sont disponibles dans la section Stratégies courantes. Dans tous les exemples qui suivent, les stratégies sont ciblées sur une location. Cependant, elles peuvent être ciblées sur un compartiment spécifique dans une location en indiquant le nom du compartiment.
Création d'administrateurs de niveau service pour le moindre privilège
Pour implémenter le principe de sécurité du moindre privilège, vous pouvez créer des administrateurs de niveau service dans la location afin de restreindre davantage l'accès administrateur. Cela signifie que les administrateurs de niveau service peuvent uniquement gérer les ressources d'un service spécifique. Par exemple, les administrateurs réseau ont besoin d'un accès administrateur (manage
) uniquement aux ressources du réseau cloud virtuel, et pas aux autres. L'exemple suivant montre comment créer des groupes d'administrateurs pour le stockage de blocs (VolumeAdmins
), le réseau cloud virtuel (NetworkAdmins
), les bases de données (DBAdmins
) et le stockage d'objets (StorageAdmins
).
Allow group TenancyAdmins to manage all-resources in tenancy
Allow group VolumeAdmins to manage volume-family in tenancy
Allow group NetworkAdmins to manage virtual-network-family in tenancy
Allow group StorageAdmins to manage object-family in tenancy
Allow group DBAdmins to manage database-family in tenancy
Vous pouvez également limiter les stratégies de sécurité à un compartiment spécifique. Par exemple, le service RH d'une entreprise peut créer un groupe HRAdmins
visant à gérer les ressources au sein de son compartiment, HR-compartment
. Le groupe HRNetworkAdmins
dispose d'un accès administratif aux ressources de réseau cloud virtuel uniquement dans le compartiment HR-compartment
.
Allow group HRAdmins to manage all-resources in compartment HR-compartment
Allow group HRNetworkAdmins to manage virtual-network-family in compartment HR-compartment
Les auditeurs de la conformité sont chargés d'examiner les ressources cloud et les éventuelles violations de stratégie. La stratégie suivante permet au groupe InternalAuditors
d'inspecter (list
) toutes les ressources d'une location.
Allow group InternalAuditors to inspect all-resources in tenancy
Si vous voulez limiter la tâche des auditeurs uniquement à l'inspection des utilisateurs et des groupes d'une location, vous pouvez créer un groupe UserAuditors
avec la stratégie suivante :
Allow group UserAuditors to inspect users in tenancy
Allow group UserAuditors to inspect groups in tenancy
Si vous voulez créer un groupe d'auditeurs qui peut uniquement inspecter les pare-feu du réseau cloud virtuel dans la location, utilisez la stratégie suivante :
Allow group FirewallAuditors to inspect security-lists in tenancy
Dans tous les exemples de stratégie, vous pouvez limiter la portée à un compartiment en indiquant Compartment <name>
(où <name> correspond au nom du compartiment) dans la stratégie.
Restriction de la capacité à modifier l'appartenance au groupe d'administrateurs de location
Les membres du groupe Administrators
peuvent gérer toutes les ressources d'une location. L'appartenance du groupe Administrators
est contrôlée par les utilisateurs du groupe. Il est généralement pratique d'avoir un groupe pour créer et ajouter des utilisateurs dans la location, tout en les empêchant de modifier l'appartenance au groupe Administrators
. L'exemple suivant crée un groupe UserAdmins
à cette fin.
Allow group UserAdmins to inspect users in tenancy
Allow group UserAdmins to inspect groups in tenancy
Allow group UserAdmins to use users in tenancy
where target.group.name!='Administrators'
Allow group UserAdmins to use groups in tenancy
where target.group.name!='Administrators'
La combinaison de verbes et de conditions (troisième et quatrième instructions de la stratégie) permet au groupe UserAdmins
d'ajouter des utilisateurs et des groupes avec des API (UpdateUser
, UpdateGroup
) à tous les groupes de la location, à l'exception du groupe Administrators
. Cependant, comme target.group.name!='Administrators
' n'est pas associé aux API list
et get
(ListUsers
, GetUser
, ListGroups
et GetGroup
), ces API échoueront. Vous devez donc ajouter explicitement le verbe inspect
(première et deuxième instructions de la stratégie) afin d'autoriser le groupe UserAdmins
à obtenir des informations sur l'appartenance au groupe et sur les utilisateurs.
Méthode pour empêcher la suppression ou la mise à jour des stratégies de sécurité
L'exemple suivant crée un groupe PolicyAdmins
permettant de créer et de répertorier les stratégies de sécurité créées par les administrateurs de location, mais pas de les supprimer ni de les mettre à jour.
Allow group PolicyAdmins to use policies in tenancy
Allow group PolicyAdmins to manage policies in tenancy
where request.permission='POLICY_CREATE'
Cette instruction de stratégie de sécurité accorde explicitement et uniquement le droit d'accès POLICY_CREATE
, et non POLICY_DELETE
et POLICY_UPDATE
.
Méthode pour empêcher les administrateurs d'accéder aux informations d'identification utilisateur ou de les modifier
Selon certaines exigences de conformité, les tâches doivent être séparées, en particulier lorsque la fonctionnalité de gestion des informations d'identification utilisateur est séparée de la gestion de location. Dans ce cas, vous pouvez créer deux groupes d'administration, TenancyAdmins
et CredentialAdmins
, où TenancyAdmins
peut exécuter toutes les fonctions de gestion de location, à l'exception de la gestion des informations d'identification utilisateur, et où CredentialAdmins
peut gérer les informations d'identification utilisateur. TenancyAdmins
peut accéder à toutes les API à l'exception de celles qui répertorient, mettent à jour ou suppriment les informations d'identification utilisateur. CredentialAdmins
peut gérer uniquement les informations d'identification utilisateur.
Allow group TenancyAdmins to manage all resources in tenancy
where all {request.operation!='ListApiKeys',
request.operation!='ListAuthTokens',
request.operation!='ListCustomerSecretKeys',
request.operation!='UploadApiKey',
request.operation!='DeleteApiKey',
request.operation!='UpdateAuthToken',
request.operation!='CreateAuthToken',
request.operation!='DeleteAuthToken',
request.operation!='CreateSecretKey',
request.operation!='UpdateCustomerSecretKey',
request.operation!='DeleteCustomerSecretKey'}
Allow group CredentialAdmins to manage users in tenancy
where any {request.operation='ListApiKeys',
request.operation='ListAuthTokens',
request.operation='ListCustomerSecretKeys',
request.operation='UploadApiKey',
request.operation='DeleteApiKey',
request.operation='UpdateAuthToken',
request.operation='CreateAuthToken',
request.operation='DeleteAuthToken',
request.operation='CreateSecretKey',
request.operation='UpdateCustomerSecretKey',
request.operation='DeleteCustomerSecretKey'}