Création de politiques pour contrôler l'accès aux ressources de réseau et aux ressources liées aux fonctions

Découvrez comment créer des politiques pour contrôler à la fois l'accès des utilisateurs et du service des fonctions pour OCI aux ressources de réseau et aux ressources liées aux fonctions.

Pour que les utilisateurs puissent commencer à utiliser le service des fonctions pour OCI pour créer et déployer des fonctions, en tant qu'administrateur de location, vous devez créer un certain nombre d'énoncés de politique Oracle Cloud Infrastructure pour accorder l'accès aux ressources de réseau et aux ressources liées aux fonctions.

Utilisez le générateur de politiques pour créer une politique appropriée, en sélectionnant Functions comme cas d'utilisation de politique, puis en sélectionnant Autoriser les utilisateurs à créer, à déployer et à gérer des fonctions et des applications. Ce modèle de politique contient tous les énoncés de politique nécessaires pour utiliser le service des fonctions pour OCI. Voir Création d'énoncés de politique avec le générateur de politiques.

Vous pouvez également créer une ou plusieurs politiques contenant les énoncés de politique (suivez les instructions sous Pour créer une politique).

énoncés de politique

Énoncés de politique permettant aux utilisateurs du service des fonctions pour OCI d'accéder aux référentiels Oracle Cloud Infrastructure Registry
Fonction : Créer dans : Énoncé :
Permet aux utilisateurs d'obtenir la chaîne d'espace de noms du stockage d'objets 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 responsable du référentiel ou du compartiment racine Allow group <group-name> to manage repos in tenancy|<compartment-name>

Lorsque les utilisateurs du service des fonctions pour OCI travaillent avec des fonctions, ils doivent accéder aux référentiels dans Oracle Cloud Infrastructure Registry. Les utilisateurs ne peuvent accéder qu'aux référentiels pour lesquels les groupes auxquels ils appartiennent ont une autorisation d'accès. Pour permettre aux utilisateurs d'accéder à un référentiel, les énoncés de politique doivent accorder aux groupes l'accès à ce référentiel.

L'énoncé de politique Allow group <group-name> to read objectstorage-namespaces in tenancy permet aux utilisateurs d'obtenir la chaîne d'espace de noms du service de stockage d'objets générée automatiquement de la location, qui est requise pour se connecter à Oracle Cloud Infrastructure Registry. Cet énoncé de politique fournit également l'accès aux journaux de fonctions stockés dans un seau de stockage dans le service Oracle Cloud Infrastructure Object Storage (voir Stockage et consultation des journaux de fonctions).

Si vous utilisez l'énoncé de politique 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, notez que cet énoncé de politique autorise le groupe à gérer tous les référentiels de la location. Si vous pensez que cela est trop permissif, vous pouvez limiter les référentiels auxquels le groupe a accès en incluant une clause Where dans l'énoncé manage repos. Notez que si vous insérez une clause WHERE, vous devez également inclure un second énoncé dans la politique pour permettre au groupe d'inspecter tous les référentiels dans la location (lors de l'utilisation de la console). Par exemple, les énoncés de politique suivants limitent l'accès du groupe aux référentiels dont le nom commence par 'acme-web-app', mais permettent également au groupe d'inspecter tous les référentiels dans 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*/ }
Énoncés de politique pour permettre aux utilisateurs du service des fonctions pour OCI d'accéder aux ressources liées aux fonctions
Fonction : Créer dans : Énoncé :
Donne aux utilisateurs l'accès aux ressources liées aux fonctions Compartiment responsable des ressources liées aux fonctions Allow group <group-name> to manage functions-family in compartment <compartment-name>
Donne aux utilisateurs l'accès aux mesures émises par le service des fonctions pour OCI Compartiment responsable des ressources liées aux fonctions Allow group <group-name> to read metrics in compartment <compartment-name>

Lorsque les utilisateurs du service des fonctions pour OCI créent des fonctions et des applications, ils doivent indiquer un compartiment pour les ressources liées à ces fonctions (notamment pour les mesures émises par le service des fonctions pour OCI). Les utilisateurs ne peuvent spécifier qu'un compartiment pour lequel les groupes auxquels ils appartiennent ont une autorisation d'accès. Pour permettre aux utilisateurs de spécifier un compartiment, les énoncés de politique doivent accorder aux groupes l'accès à ce compartiment.

L'énoncé de politique Allow group <group-name> to manage functions-family in compartment <compartment-name> donne aux utilisateurs l'accès aux ressources liées aux fonctions.

L'énoncé de politique Allow group <group-name> to read metrics in compartment <compartment-name> donne aux utilisateurs l'accès aux mesures émises par le service des fonctions pour OCI.

Énoncé de politique pour permettre aux utilisateurs du service des fonctions pour OCI d'accéder aux ressources de journalisation
Fonction : Créer dans : Énoncé :
Donne aux utilisateurs l'accès aux ressources de journalisation Compartiment racine

Allow group <group-name> to manage logging-family in compartment <compartment-name>

Lorsque les utilisateurs du service des fonctions pour OCI définissent une application, ils peuvent activer la journalisation pour stocker et voir les journaux de fonction dans le service Oracle Cloud Infrastructure Logging. Les utilisateurs ne peuvent voir que les journaux pour lesquels les groupes auxquels ils appartiennent ont une autorisation d'accès. Pour permettre aux utilisateurs de stocker et de voir les journaux de fonction dans le service Oracle Cloud Infrastructure Logging, un énoncé de politique doit accorder aux groupes l'accès aux ressources de journalisation.

L'énoncé de politique Allow group <group-name> to manage logging-family in compartment <compartment-name> donne aux utilisateurs un accès complet aux ressources de journalisation du compartiment qui seront responsables des ressources de journalisation

Énoncé de politique pour permettre aux utilisateurs du service des fonctions pour OCI d'accéder aux ressources de réseau
Fonction : Créer dans : Énoncé :
Donne aux utilisateurs l'accès aux ressources de réseau Compartiment responsable des ressources de réseau Allow group <group-name> to use virtual-network-family in compartment <compartment-name>

Lorsque les utilisateurs du service des fonctions pour OCI créent une fonction ou une application, ils doivent spécifier un VCN et un sous-réseau dans lesquels les créer. Les utilisateurs ne peuvent spécifier des réseaux en nuage virtuels (VCN) et des sous-réseaux que dans des compartiments pour lesquels les groupes auxquels ils appartiennent ont une autorisation d'accès. Pour permettre aux utilisateurs de spécifier un VCN et un sous-réseau, un énoncé de politique doit accorder aux groupes l'accès au compartiment.

Lorsque les utilisateurs du service des fonctions pour OCI veulent définir des règles de trafic entrant et sortant qui s'appliquent à toutes les fonctions d'une application particulière à l'aide d'un groupe de sécurité de réseau, ils peuvent ajouter l'application à ce groupe. Pour ajouter une application à un groupe de sécurité de réseau, un énoncé de politique similaire doit accorder aux groupes auxquels les utilisateurs appartiennent l'accès au compartiment auquel le groupe appartient. Notez que le groupe de sécurité de réseau peut appartenir à un compartiment différent du sous-réseau de la fonction. Pour plus d'informations, voir Ajout d'applications à des groupes de sécurité de réseau.

Énoncés de politique permettant aux utilisateurs du service des fonctions pour OCI et du service des fonctions pour OCI d'accéder aux ressources de traçage
Fonction : Créer dans : Énoncé :
Donne au service des fonctions pour OCI l'accès aux ressources de traçage Compartiment responsable des ressources de traçage ou du compartiment racine

Allow service faas to use apm-domains in tenancy|compartment <compartment-name>

Permet aux utilisateurs d'accéder aux ressources de traçage Compartiment responsable des ressources de traçage ou du compartiment racine

Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name>

Lorsque les utilisateurs du service des fonctions pour OCI veulent déterminer pourquoi une fonction ne s'exécute pas ou ne s'exécute pas comme prévu, ils peuvent utiliser le traçage pour déboguer les problèmes d'exécution et de performance. Pour utiliser le traçage, les utilisateurs doivent activer le traçage pour l'application contenant la fonction, puis activer le traçage pour une ou plusieurs fonctions. Les utilisateurs peuvent ensuite voir les traces de fonction dans l'explorateur de trace Application Performance Monitoring (APM). Pour plus d'informations, voir Traçage réparti pour les fonctions.

Les utilisateurs ne peuvent activer la fonction de trace que si le groupe auquel ils appartiennent peut accéder aux domaines APM existants (ou créer de nouveaux domaines APM) et si le service des fonctions pour OCI peut accéder aux domaines APM. Pour permettre aux utilisateurs d'activer le traçage et de voir les traces, les énoncés de politique doivent accorder au groupe et au service des fonctions pour OCI l'accès aux domaines APM.

L'énoncé de politique Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name> permet aux utilisateurs d'accéder aux ressources de traçage dans le compartiment ou dans l'ensemble de la location. Si vous voulez permettre aux utilisateurs de créer de nouveaux domaines APM (et de supprimer des domaines APM), spécifiez manage apm-domains au lieu de use apm-domains.

L'énoncé de politique Allow service faas to use apm-domains in tenancy|compartment <compartment-name> donne au service des fonctions pour OCI l'accès aux domaines APM dans le compartiment ou dans l'ensemble de la location.

Énoncés de politique permettant aux utilisateurs du service des fonctions pour OCI et du service des fonctions pour OCI d'accéder aux ressources du service de chambre forte Oracle
Fonction : Créer dans : Énoncé :
Donne l'accès au service des fonctions pour OCI pour vérifier les clés de chiffrement principales dans Oracle Cloud Infrastructure Vault Compartiment qui détient la chambre forte ou la clé de chiffrement principale, ou le compartiment racine

Allow service faas to {KEY_READ} in tenancy|compartment <compartment-name> where request.operation='GetKeyVersion'

Allow service faas to {KEY_VERIFY} in tenancy|compartment <compartment-name> where request.operation='Verify'

(si vous avez besoin d'énoncés de politique plus restrictifs, voir ci-dessous pour des exemples)

Donne au service des fonctions pour OCI l'accès aux images signées dans Oracle Cloud Infrastructure Registry Compartiment racine

Allow service faas to read repos in tenancy where request.operation='ListContainerImageSignatures'

Donne aux utilisateurs l'accès aux chambres fortes et aux clés de chiffrement principales dans Oracle Cloud Infrastructure Vault Compartiment qui détient la chambre forte ou la clé de chiffrement principale, ou le compartiment racine

Allow group <group-name> to read vaults in tenancy|compartment <compartment-name>

Allow group <group-name> to use keys in tenancy|compartment <compartment-name>

(si vous avez besoin d'énoncés de politique plus restrictifs, voir ci-dessous pour des exemples)

Donne aux utilisateurs l'accès aux images signées dans Oracle Cloud Infrastructure Registry Compartiment racine

Allow group <group-name> to read repos in tenancy

Les utilisateurs peuvent configurer les applications du service des fonctions pour OCI pour autoriser uniquement la création, la mise à jour, le déploiement et l'appel de fonctions en fonction d'images dans Oracle Cloud Infrastructure Registry qui ont été signées par des clés de chiffrement principales particulières.

Pour créer une politique de vérification de signature et pour créer et déployer des images de fonction signée, les utilisateurs doivent avoir accès aux clés de chiffrement principales dans les chambres fortes définies dans Oracle Cloud Infrastructure Vault. De même, pour appliquer une politique de vérification de signature définie pour une application, le service des fonctions pour OCI doit également avoir accès aux clés de chiffrement principales définies dans Oracle Cloud Infrastructure Vault.

Vous pouvez restreindre les clés de chiffrement principales qui peuvent être utilisées pour la signature d'image de fonction et la vérification de signature. Par exemple, en utilisant des politiques 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, voir Signature d'images de fonction et utilisation imposée d'images signées à partir du registre.