Création de stratégies de contrôle d'accès aux ressources liées aux fonctions et au réseau
Découvrez comment créer des stratégies afin de contrôler l'accès des utilisateurs et du service OCI Functions aux ressources liées aux fonctions et au réseau.
Pour que les utilisateurs puissent commencer à utiliser OCI Functions afin de créer et de déployer des fonctions, vous devez créer, en tant qu'administrateur de location, un certain nombre d'instructions de stratégie Oracle Cloud Infrastructure permettant d'accorder l'accès aux ressources liées aux fonctions et au réseau.
Utilisez le générateur de stratégies pour créer une stratégie appropriée, en sélectionnant Fonctions comme cas d'emploi de stratégie, puis en sélectionnant le modèle de stratégie Autoriser les utilisateurs à créer, déployer et gérer des fonctions et des applications. Ce modèle de stratégie contient toutes les instructions de stratégie nécessaires pour utiliser OCI Functions. Reportez-vous à Ecriture d'instructions de stratégie à l'aide du générateur de stratégies.
Vous pouvez également créer des stratégies contenant les instructions de stratégie (suivez les instructions de la section Procédure de création d'une stratégie).
Instructions de stratégie
Finalité : | Créer dans : | Instruction : |
---|---|---|
Permet aux utilisateurs d'obtenir la chaîne d'espace de noms Object Storage de la location | Compartiment racine |
Allow group <group-name> to read objectstorage-namespaces in tenancy
|
Donne aux utilisateurs l'accès aux référentiels dans Oracle Cloud Infrastructure Registry | Compartiment propriétaire du référentiel ou du compartiment racine | Allow group <group-name> to manage repos in tenancy|<compartment-name> |
Pour que les utilisateurs d'OCI Functions puissent utiliser les fonctions, ils doivent avoir accès aux référentiels dans Oracle Cloud Infrastructure Registry. Les utilisateurs peuvent uniquement accéder aux référentiels autorisés pour les groupes auxquels ils appartiennent. Pour permettre aux utilisateurs d'accéder à un référentiel, les instructions de stratégie doivent leur accorder l'accès.
L'instruction de stratégie Allow group <group-name> to read objectstorage-namespaces in tenancy
permet aux utilisateurs d'obtenir la chaîne d'espace de noms Object Storage générée automatiquement de la location, qui est requise pour se connecter à Oracle Cloud Infrastructure Registry. Cette instruction de stratégie permet également d'accéder aux journaux de fonction stockés dans un bucket de stockage dans Oracle Cloud Infrastructure Object Storage (reportez-vous à Stockage et affichage des journaux de fonction).
Si vous utilisez l'instruction de stratégie Allow group <group-name> to manage repos in tenancy
pour accorder aux utilisateurs l'accès aux référentiels dans Oracle Cloud Infrastructure Registry, cette instruction de stratégie autorise le groupe à gérer tous les référentiels de la location. Si vous pensez que ce droit est trop autorisé, vous pouvez restreindre les référentiels auxquels le groupe a accès en incluant une clause WHERE dans l'instruction manage repos
. Si vous incluez une clause WHERE, vous devez également inclure une seconde instruction dans la stratégie pour permettre au groupe d'inspecter tous les référentiels dans la location (avec la console). Par exemple, les instructions de stratégie suivantes limitent l'accès du groupe uniquement aux référentiels dont le nom commence par "acme-web-app", tout en permettant au groupe d'inspecter tous les référentiels de la location :
Allow group acme-functions-developers to inspect repos in tenancy
Allow group acme-functions-developers to manage repos in tenancy where all {target.repo.name=/acme-web-app*/ }
Finalité : | Créer dans : | Instruction : |
---|---|---|
Donne aux utilisateurs accès aux ressources liées aux fonctions | Compartiment propriétaire des ressources liées aux fonctions | Allow group <group-name> to manage functions-family in compartment <compartment-name>
|
Permet aux utilisateurs d'accéder aux mesures émises par OCI Functions | Compartiment propriétaire des ressources liées aux fonctions | Allow group <group-name> to read metrics in compartment <compartment-name> |
Lorsque les utilisateurs d'OCI Functions créent des fonctions et des applications, ils doivent indiquer un compartiment pour ces ressources liées aux fonctions (y compris pour les mesures émises par OCI Functions). Les utilisateurs peuvent uniquement indiquer un compartiment auquel leurs groupes ont accès. Pour permettre aux utilisateurs d'indiquer un compartiment, les instructions de stratégie doivent accorder aux groupes l'accès à ce compartiment.
L'instruction de stratégie Allow group <group-name> to manage functions-family in compartment <compartment-name>
permet aux utilisateurs d'accéder aux ressources liées aux fonctions.
L'instruction de stratégie Allow group <group-name> to read metrics in compartment <compartment-name>
permet aux utilisateurs d'accéder aux mesures émises par OCI Functions.
Finalité : | Créer dans : | Instruction : |
---|---|---|
Permet aux utilisateurs d'accéder aux ressources de journalisation | Compartiment racine |
|
Lorsque les utilisateurs d'OCI Functions définissent une application, ils peuvent permettre à la journalisation de stocker et d'afficher les journaux de fonction dans le service Oracle Cloud Infrastructure Logging. Les utilisateurs peuvent uniquement afficher les journaux auxquels les groupes dont ils sont membres ont accès. Pour permettre aux utilisateurs de stocker et d'afficher les journaux de fonction dans le service Oracle Cloud Infrastructure Logging, une instruction de stratégie doit accorder aux groupes l'accès aux ressources de journalisation.
L'instruction de stratégie Allow group <group-name> to manage logging-family in compartment <compartment-name>
donne aux utilisateurs un accès complet aux ressources de journalisation dans le compartiment qui sera propriétaire des ressources de journalisation
Finalité : | Créer dans : | Instruction : |
---|---|---|
Permet aux utilisateurs d'accéder aux ressources réseau | Compartiment propriétaire des ressources réseau | Allow group <group-name> to use virtual-network-family in compartment <compartment-name>
|
Lorsque les utilisateurs d'OCI Functions créent une fonction ou une application, ils doivent spécifier un VCN et un sous-réseau dans lequel les créer. Les utilisateurs peuvent uniquement indiquer des réseaux cloud virtuels et des sous-réseaux dans les compartiments auxquels leurs groupes ont accès. Pour permettre aux utilisateurs d'indiquer un VCN et un sous-réseau, une instruction de stratégie doit accorder aux groupes l'accès au compartiment.
Lorsque les utilisateurs OCI Functions veulent définir des règles entrantes et sortantes qui s'appliquent à toutes les fonctions d'une application particulière à l'aide d'un groupe de sécurité réseau, ils peuvent ajouter l'application à ce groupe. Pour ajouter une application à un groupe de sécurité réseau, une instruction de stratégie similaire doit accorder aux groupes auxquels les utilisateurs appartiennent l'accès au compartiment auquel le groupe appartient. Le groupe de sécurité réseau peut appartenir à un autre compartiment du sous-réseau de la fonction. Pour plus d'informations, reportez-vous à Ajout d'applications à des groupes de sécurité réseau.
Finalité : | Créer dans : | Instruction : |
---|---|---|
Donne au service OCI Functions l'accès aux ressources de trace | Compartiment propriétaire des ressources de trace ou du compartiment racine |
|
Donne aux utilisateurs l'accès à la trace des ressources | Compartiment propriétaire des ressources de trace ou du compartiment racine |
|
Lorsque les utilisateurs d'OCI Functions veulent déterminer pourquoi une fonction ne s'exécute pas ou ne fonctionne pas comme prévu, ils peuvent utiliser la fonction de trace pour déboguer les problèmes d'exécution et de performances. Pour utiliser la fonction de trace, les utilisateurs doivent activer la fonction de trace pour l'application contenant la fonction, puis activer la fonction de trace pour une ou plusieurs fonctions. Les utilisateurs peuvent ensuite visualiser les traces de fonction dans l'explorateur de traces Application Performance Monitoring (APM). Pour plus d'informations, reportez-vous à Fonction de trace distribuée pour Functions.
Les utilisateurs ne peuvent activer la fonction de trace que si le groupe auquel ils appartiennent peut accéder à des domaines APM existants (ou en créer de nouveaux) et si OCI Functions peut accéder à des domaines APM. Pour permettre aux utilisateurs d'activer la fonction de trace et de visualiser les traces, les instructions de stratégie doivent accorder au groupe et à OCI Functions l'accès aux domaines APM.
L'instruction de stratégie Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name>
permet aux utilisateurs d'accéder à la trace des ressources dans le compartiment ou dans l'ensemble de la location. Si vous voulez permettre aux utilisateurs de créer des domaines APM (et de supprimer des domaines APM), indiquez manage apm-domains
au lieu de use apm-domains
.
L'instruction de stratégie Allow service faas to use apm-domains in tenancy|compartment <compartment-name>
donne à OCI Functions l'accès aux domaines APM dans le compartiment ou dans l'ensemble de la location.
Finalité : | Créer dans : | Instruction : |
---|---|---|
Permet au service OCI Functions de vérifier les clés de cryptage maître dans Oracle Cloud Infrastructure Vault | Compartiment propriétaire du coffre et/ou de la clé de cryptage maître, ou du compartiment racine |
(si vous avez besoin d'instructions de stratégie plus restrictives, reportez-vous aux exemples ci-dessous) |
Donne au service OCI Functions l'accès aux images signées dans Oracle Cloud Infrastructure Registry | Compartiment racine |
|
Permet aux utilisateurs d'accéder aux coffres et aux clés de cryptage maître dans Oracle Cloud Infrastructure Vault | Compartiment propriétaire du coffre et/ou de la clé de cryptage maître, ou du compartiment racine |
(si vous avez besoin d'instructions de stratégie plus restrictives, reportez-vous aux exemples ci-dessous) |
Permet aux utilisateurs d'accéder aux images signées dans Oracle Cloud Infrastructure Registry | Compartiment racine |
|
Les utilisateurs peuvent configurer les applications OCI Functions pour autoriser uniquement la création, la mise à jour, le déploiement et l'appel de fonctions basées sur des images dans Oracle Cloud Infrastructure Registry qui ont été signées par des clés de cryptage maître particulières.
Pour créer une stratégie de vérification de signature, et pour créer et déployer des images de fonction signées, les utilisateurs doivent avoir accès aux clés de cryptage maître dans les coffres définis dans Oracle Cloud Infrastructure Vault. De même, pour appliquer une stratégie de vérification de signature définie pour une application, OCI Functionsservice doit également avoir accès aux clés de cryptage maître définies dans Oracle Cloud Infrastructure Vault.
Vous pouvez restreindre les clés de cryptage maître qui peuvent être utilisées pour la signature d'image de fonction et la vérification de signature. Par exemple, en utilisant des stratégies telles que :
Allow service faas to {KEY_READ} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'GetKeyVersion'
Allow service faas to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Allow group <groupname> to {KEY_READ} in compartment <compartment-name> where ALL {target.key.id = '<ocid-of-key-in-verification-policy>', ANY {request.operation = 'GetKey', request.operation = 'GetKeyVersion'}}
Allow group <groupname> to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Pour plus d'informations et d'exemples, reportez-vous à Signature d'images de fonction et mise en application de l'utilisation des images signées de Registry.