Créer des politiques pour contrôler l'accès aux ressources de réseau et de la passerelle d'API
Découvrez comment créer des politiques à utiliser avec la passerelle d'API.
Avant que les utilisateurs puissent commencer à utiliser le service de passerelle d'API pour créer des passerelles d'API et déployer des API sur celles-ci, en tant qu'administrateur de location, vous devez créer un certain nombre de politiques Oracle Cloud Infrastructure pour accorder l'accès aux ressources connexes au service et aux ressources de réseau.
Pour accorder l'accès aux ressources connexes au service de passerelle d'API et aux ressources de réseau, vous devez effectuer les opérations suivantes :
-
Accordez aux utilisateurs l'accès aux ressources connexes au service de passerelle d'API, aux ressources de réseau et (éventuellement) aux ressources de fonction. Plus précisément, vous devez :
- Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès aux ressources connexes au service
- Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès aux ressources de réseau
- Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès à Oracle Functions
- Permettre aux utilisateurs de la passerelle d'API d'associer une ressource de certificat de service de certificats à une passerelle d'API lors de la configuration d'un nom de domaine personnalisé, si nécessaire. Voir Créer une politique pour permettre aux utilisateurs du service de passerelle d'API de créer des associations de certificats.
- Permettre aux utilisateurs de la passerelle d'API d'associer une autorité de certification ou un ensemble AC dans le service de certificats à une passerelle d'API lors de la configuration d'un magasin de certificats SSL personnalisé, si nécessaire. Voir Créer une politique pour permettre aux utilisateurs du service de passerelle d'API de gérer les autorités de certification et les ensembles AC.
-
Si nécessaire, autorisez les passerelles d'API à accéder aux fonctions définies dans le service des fonctions pour OCI. Si les utilisateurs du service de passerelle d'API définissent une nouvelle passerelle d'API avec une fonction sans serveur du service des fonctions pour OCI comme élément dorsal d'API, le service de passerelle d'API vérifie que la nouvelle passerelle d'API a accès à la fonction spécifiée. Pour fournir l'accès, vous devez créer une politique qui permet aux portes d'API d'accéder aux fonctions définies dans le service des fonctions pour OCI. Voir Créer une politique pour accorder aux passerelles d'API l'accès à Oracle Functions.
- Accorder aux passerelles d'API l'accès aux clés secrètes stockées dans des chambres fortes dans le service de chambre forte, si nécessaire. Si les utilisateurs du service de passerelle d'API définissent une passerelle d'API qui met en cache les données de réponse dans un serveur de cache externe (tel qu'un serveur Redis), les données d'identification à authentifier auprès du serveur de cache doivent être stockées dans le service de chambre forte. De même, si les utilisateurs du service de passerelle d'API définissent une passerelle d'API qui accède au point d'extrémité d'introspection d'un serveur d'autorisation pour valider les jetons, les données d'identification permettant d'accéder au serveur d'autorisation doivent être stockées dans le service de chambre forte. Voir Créer une politique pour accorder aux passerelles d'API l'accès aux données d'identification stockées en tant que clés secrètes dans le service de chambre forte.
Pour plus d'informations sur les politiques, voir Informations détaillées sur le service de passerelle d'API.
Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès aux ressources connexes au service
Lorsque les utilisateurs du service de passerelle d'API définissent une nouvelle passerelle d'API et de nouveaux déploiements d'API, ils doivent spécifier un compartiment pour les ressources connexes au service. 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, vous devez créer une politique d'identité pour accorder l'accès aux groupes.
Pour créer une politique afin d'accorder aux utilisateurs l'accès aux ressources connexes au service de passerelle d'API dans le compartiment qui contiendra ces ressources :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques. La liste des politiques du compartiment que vous consultez s'affiche.
- Sélectionnez le compartiment qui contiendra les ressources connexes à API Gateway dans la liste de gauche.
- Sélectionnez Créer une politique.
-
Entrez les informations suivantes :
- Nom : Nom significatif de la politique (par exemple,
acme-apigw-developers-manage-access
). Le nom doit être unique parmi toutes les politiques de votre location. Vous ne pouvez pas le modifier plus tard. Évitez d'entrer des informations confidentielles. - Description : Description significative (par exemple,
Gives api-gateway developers access to all resources in the acme-apigw-compartment
). Vous pourrez modifier cet élément ultérieurement si vous le souhaitez. -
État : Énoncé de politique suivant pour accorder au groupe l'accès à toutes les ressources connexes au service de passerelle d'API du compartiment :
En tant qu'État 1 :, entrez l'énoncé de politique suivant pour accorder au groupe l'accès à toutes les ressources connexes au service de passerelle d'API du compartiment :
Allow group <group-name> to manage api-gateway-family in compartment <compartment-name>
Par exemple :
Allow group acme-apigw-developers to manage api-gateway-family in compartment acme-apigw-compartment
- Marqueurs : Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.
- Nom : Nom significatif de la politique (par exemple,
- Sélectionnez Créer pour créer la politique accordant aux utilisateurs du service de passerelle d'API l'accès aux ressources connexes du service dans le compartiment.
Normalement, les passerelles et les déploiements d'API sont créés dans le même compartiment. Toutefois, dans les grandes équipes de développement comportant de nombreux développeurs d'API, il se peut que vous trouviez utile de créer des compartiments distincts pour les passerelles et pour les déploiements d'API. Vous pouvez ainsi accorder à différents groupes d'utilisateurs l'accès approprié à ces ressources.
Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès aux ressources de réseau
Lorsque les utilisateurs du service Passerelle d'API définissent une nouvelle passerelle d'API, ils doivent spécifier un réseau en nuage virtuel et un sous-réseau dans lequel la créer. Les utilisateurs peuvent uniquement spécifier des réseaux en nuage virtuels et des sous-réseaux auxquels les groupes dont ils font partie ont accès. Pour permettre aux utilisateurs de spécifier un réseau en nuage virtuel et un sous-réseau, vous devez créer une politique d'identité pour accorder l'accès aux groupes. De plus, si vous voulez permettre aux utilisateurs de créer des passerelles d'API publiques, la politique d'identité doit autoriser les groupes à gérer les adresses IP publiques du compartiment contenant les ressources de réseau.
Pour créer une politique afin d'accorder aux utilisateurs du service Passerelle d'API l'accès aux ressources de réseau :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques. La liste des politiques du compartiment que vous consultez s'affiche.
- Sélectionnez le compartiment contenant les ressources de réseau dans la liste de gauche.
- Sélectionnez Créer une politique.
-
Entrez les informations suivantes :
- Nom : Nom significatif de la politique (par exemple,
acme-apigw-developers-network-access
). Le nom doit être unique parmi toutes les politiques de votre location. Vous ne pouvez pas le modifier plus tard. Évitez d'entrer des informations confidentielles. - Description : Description significative (par exemple,
Gives api-gateway developers access to all network resources in the acme-network compartment
). Vous pourrez modifier cet élément ultérieurement si vous le souhaitez. -
Énoncé : Énoncé de politique suivant pour accorder au groupe l'accès aux ressources de réseau dans le compartiment (y compris la possibilité de gérer les adresses IP publiques) :
Allow group <group-name> to manage virtual-network-family in compartment <compartment-name>
Par exemple :
Allow group acme-apigw-developers to manage virtual-network-family in compartment acme-network
- Marqueurs : Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.
- Nom : Nom significatif de la politique (par exemple,
- Sélectionnez Créer pour créer la politique accordant aux utilisateurs du service de passerelle d'API l'accès aux ressources de réseau et aux adresses IP publiques du compartiment.
Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès à Oracle Functions
Lorsque les utilisateurs du service de passerelle d'API définissent une nouvelle passerelle d'API, une option est de spécifier une fonction sans serveur définie dans le service des fonctions pour OCI comme élément dorsal d'API. Les utilisateurs peuvent uniquement spécifier les fonctions auxquelles les groupes dont ils font partie ont accès. Si vous voulez que les utilisateurs spécifient des fonctions comme éléments dorsaux, vous devez créer une politique d'identité pour accorder l'accès aux groupes. Notez qu'en plus de cette politique pour le groupe d'utilisateurs, pour permettre aux utilisateurs de spécifier des fonctions en tant qu'éléments dorsaux d'API, vous devez également créer une politique pour accorder aux passerelles d'API l'accès au service des fonctions pour OCI (voir Créer une politique pour accorder aux passerelles d'API l'accès au service des fonctions).
Un autre motif pour créer une politique d'identité accordant à des groupes l'accès au service des fonctions pour OCI est si vous voulez permettre aux utilisateurs d'utiliser la console (au lieu d'un fichier JSON) afin de définir une politique de demande d'authentification et de spécifier une fonction d'autorisation définie dans le service des fonctions pour OCI (voir Transmission de jetons aux fonctions d'autorisation pour ajouter l'authentification et autorisation aux déploiements d'API).
Pour créer une politique afin d'accorder aux utilisateurs du service de passerelle d'API l'accès aux fonctions définies dans le service des fonctions pour OCI :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques. La liste des politiques du compartiment que vous consultez s'affiche.
- Sélectionnez le compartiment contenant les fonctions dans la liste de gauche.
- Sélectionnez Créer une politique.
-
Entrez les informations suivantes :
- Nom : Nom significatif de la politique (par exemple,
acme-apigw-developers-functions-access
). Le nom doit être unique parmi toutes les politiques de votre location. Vous ne pouvez pas le modifier plus tard. Évitez d'entrer des informations confidentielles. - Description : Description significative (par exemple,
Gives api-gateway developers access to all functions in the acme-functions-compartment
). Vous pourrez modifier cet élément ultérieurement si vous le souhaitez. -
Énoncé : Énoncé de politique suivant pour accorder au groupe l'accès aux fonctions du compartiment :
Allow group <group-name> to use functions-family in compartment <compartment-name>
Par exemple :
Allow group acme-apigw-developers to use functions-family in compartment acme-functions-compartment
- Marqueurs : Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.
- Nom : Nom significatif de la politique (par exemple,
- Sélectionnez Créer pour créer la politique accordant aux utilisateurs du service de passerelle d'API l'accès aux fonctions du compartiment.
Créer une politique pour permettre aux utilisateurs de la passerelle d'API de créer des associations de certificats
Les utilisateurs du service de passerelle d'API peuvent utiliser une ressource de certificat du service de certificats pour configurer un nom de domaine personnalisé pour une passerelle d'API. Pour permettre aux utilisateurs d'associer une ressource de certificat de service de certificats à une passerelle d'API, vous devez créer une politique d'identité pour autoriser les groupes auxquels les utilisateurs appartiennent à créer des associations de certificats.
Pour créer une politique permettant aux utilisateurs du service de passerelle d'API d'associer une ressource de certificat de service de certificats à une passerelle d'API :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques. La liste des politiques du compartiment que vous consultez s'affiche.
- Sélectionnez le compartiment contenant la passerelle d'API dans la liste de gauche.
- Sélectionnez Créer une politique.
-
Entrez les informations suivantes :
- Nom : Nom significatif de la politique (par exemple,
acme-apigw-developers-certificate-association
). Le nom doit être unique parmi toutes les politiques de votre location. Vous ne pouvez pas le modifier plus tard. Évitez d'entrer des informations confidentielles. - Description : Description significative (par exemple,
Gives api-gateway developers the ability to create certificate associations
). Vous pourrez modifier cet élément ultérieurement si vous le souhaitez. -
Énoncé : Énoncé de politique suivant pour permettre au groupe d'associer une ressource de certificat de service de certificats à une passerelle d'API dans le compartiment :
Allow group <group-name> to manage certificate-associations in compartment <compartment-name>
Par exemple :
Allow group acme-apigw-developers to manage certificate-associations in compartment acme-apigw-compartment
- Marqueurs : Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.
- Nom : Nom significatif de la politique (par exemple,
- Sélectionnez Créer pour créer la politique permettant aux utilisateurs du service de passerelle d'API d'associer des ressources de certificat du service de certificats aux passerelles d'API du compartiment.
Créer une politique pour permettre aux utilisateurs du service de passerelle d'API de gérer les autorités de certification et les ensembles AC
En plus de l'autorité de certification et de l'ensemble AC par défaut, les utilisateurs du service de passerelle d'API peuvent choisir d'ajouter les certificats racines d'autres autorités de certification et d'autres ensembles AC (appelés autorités de certification personnalisées et ensembles AC personnalisés) au magasin de certificats SSL d'une passerelle d'API. Pour personnaliser le magasin de certificats SSL d'une passerelle d'API en ajoutant une autorité de certification ou un ensemble AC personnalisé, les utilisateurs doivent d'abord créer une ressource d'autorité de certification ou une ressource d'ensemble AC dans le service de certificats. Voir Personnalisation des magasins de certificats pour la vérification des certificats TLS.
Pour permettre aux utilisateurs d'ajouter des autorités de certification et des ensembles d'autorité de certification personnalisés aux magasins de certificats personnalisés, vous devez créer une politique d'identité pour autoriser les groupes auxquels les utilisateurs appartiennent à gérer les autorités de certification dans le service de certificats.
Pour créer une politique permettant aux utilisateurs du service de passerelle d'API d'ajouter des autorités de certification et des ensembles d'autorité de certification personnalisés aux magasins de certificats personnalisés :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques. La liste des politiques du compartiment que vous consultez s'affiche.
- Sélectionnez le compartiment contenant la passerelle d'API dans la liste de gauche.
- Sélectionnez Créer une politique.
-
Entrez les informations suivantes :
- Nom : Nom significatif de la politique (par exemple,
acme-apigw-developers-custom-ca-bundle
). Le nom doit être unique parmi toutes les politiques de votre location. Vous ne pouvez pas le modifier plus tard. Évitez d'entrer des informations confidentielles. - Description : Description significative (par exemple,
Gives api-gateway developers the ability to add custom CAs and CA bundles
). Vous pourrez modifier cet élément ultérieurement si vous le souhaitez. -
Énoncé : Énoncé de politique suivant pour permettre au groupe d'ajouter des autorités de certification et des ensembles d'autorité de certification personnalisés au magasin de certificats personnalisés des passerelles d'API dans le compartiment :
Allow group <group-name> to manage certificate-authority-family in compartment <compartment-name>
Par exemple :
Allow group acme-apigw-developers to manage certificate-authority-family in compartment acme-apigw-compartment
- Marqueurs : Si vous êtes autorisé à créer une ressource, vous disposez également des autorisations nécessaires pour appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.
- Nom : Nom significatif de la politique (par exemple,
- Sélectionnez Créer pour créer la politique permettant aux utilisateurs du service de passerelle d'API d'ajouter des autorités de certification et des ensembles d'autorité de certification personnalisés aux magasins de certificats personnalisés.
Créer une politique pour accorder aux passerelles d'API l'accès à Oracle Functions
Lorsque les utilisateurs du service de passerelle d'API définissent une nouvelle passerelle d'API, une option est de spécifier une fonction sans serveur définie dans le service des fonctions pour OCI comme élément dorsal d'API. Avant de créer la passerelle API, le service de passerelle d'API vérifie que la nouvelle passerelle d'API aura accès à la fonction spécifiée au moyen d'une politique GIA.
Notez qu'en plus de cette politique pour les passerelles d'API, pour permettre aux utilisateurs de spécifier des fonctions en tant qu'éléments dorsaux d'API, vous devez également créer une politique pour accorder aux utilisateurs l'accès au service des fonctions pour OCI (voir Créer une politique pour accorder aux utilisateurs du service de passerelle d'API l'accès aux fonctions).
Pour créer une politique afin de permettre aux passerelles d'API d'accéder aux fonctions définies dans le service des fonctions pour OCI :
- Connectez-vous à la console en tant qu'administrateur de location.
-
Créez une politique pour accorder aux passerelles d'API l'accès aux fonctions définies dans le service des fonctions pour OCI :
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques.
- Sélectionnez le compartiment contenant les ressources liées aux fonctions auxquelles vous voulez accorder l'accès. Si les ressources sont dans des compartiments différents, sélectionnez un compartiment parent commun (par exemple, le compartiment racine de la location).
- Suivez les instructions sous Pour créer une politique et nommez la politique (par exemple,
acme-apigw-gateways-functions-policy
). -
Entrez un énoncé de politique permettant aux passerelles d'API d'accéder au compartiment contenant les fonctions définies dans le service des fonctions pour OCI :
ALLOW any-user to use functions-family in compartment <functions-compartment-name> where ALL {request.principal.type= 'ApiGateway', request.resource.compartment.id = '<api-gateway-compartment-OCID>'}
où :
<functions-compartment-name>
est le nom du compartiment contenant les fonctions que vous voulez utiliser comme éléments dorsaux pour les passerelles d'API.<api-gateway-compartment-OCID>
est l'OCID du compartiment contenant les passerelles d'API qui doivent pouvoir accéder aux fonctions.
Par exemple :
ALLOW any-user to use functions-family in compartment acme-functions-compartment where ALL {request.principal.type= 'ApiGateway', request.resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa7______ysq'}
- Sélectionnez Créer pour créer la politique autorisant les passerelles d'API à accéder aux fonctions définies dans le service des fonctions pour OCI.
Créer une politique pour accorder aux passerelles d'API l'accès aux données d'identification stockées en tant que clés secrètes dans le service de chambre forte
Si les utilisateurs de la passerelle d'API définissent une passerelle d'API qui met en mémoire cache les données de réponse dans un serveur de mémoire cache externe (tel qu'un serveur Redis), les données d'identification à authentifier auprès du serveur de mémoire cache doivent être stockées dans le service de chambre forte. De même, si les utilisateurs de la passerelle d'API définissent une passerelle d'API qui accède au point d'extrémité d'introspection d'un serveur d'autorisations pour valider des jetons, les données d'identification à authentifier auprès du serveur d'autorisations doivent être stockées dans le service de chambre forte. Pour permettre aux passerelles d'API de s'authentifier auprès du serveur de mémoire cache ou du serveur d'autorisations, vous devez créer une politique qui accorde aux passerelles d'API l'accès aux clés secrètes dans le service de chambre forte.
Pour créer une politique permettant aux passerelles d'API d'accéder aux clés secrètes dans le service de chambre forte :
- Connectez-vous à la console en tant qu'administrateur de location.
-
Créez un nouveau groupe dynamique comprenant une ou plusieurs passerelles d'API :
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines. Sous Domaine d'identité, sélectionnez Groupes dynamiques.
- Suivez les instructions de la rubrique Pour créer un groupe dynamique et nommez le groupe dynamique (par exemple,
acme-apigw-dyn-grp
. -
Lorsque vous spécifiez une règle pour le groupe dynamique, tenez compte des exemples suivants :
-
Si vous voulez que toutes les passerelles d'API d'un compartiment puissent accéder aux clés secrètes, entrez une règle similaire à ce qui suit, qui ajoute toutes les passerelles d'API du compartiment avec l'OCID du compartiment spécifié au groupe dynamique :
ALL {resource.type = 'ApiGateway', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa'}
-
Si vous voulez qu'une passerelle d'API spécifique puisse accéder aux clés secrètes, entrez une règle similaire à la suivante qui ajoute la passerelle d'API avec l'OCID spécifié au groupe dynamique :
ALL {resource.type = 'ApiGateway', resource.id = 'ocid1.apigateway.oc1.iad.aaaaaaaab______hga'}
-
- Sélectionnez Créer un groupe dynamique.
Après avoir créé un groupe dynamique qui inclut une ou plusieurs passerelles d'API, vous pouvez maintenant créer une politique pour donner au groupe dynamique l'accès à une ou plusieurs clés secrètes.
-
Créez une nouvelle politique pour accorder au groupe dynamique l'accès à une ou plusieurs clés secrètes dans le service de chambre forte :
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques.
- Suivez les instructions sous Pour créer une politique et nommez la politique (par exemple,
acme-apigw-dyn-grp-policy
). -
Lorsque vous spécifiez un énoncé de politique, tenez compte des exemples suivants :
-
Si vous voulez que les passerelles d'API dans
acme-apigw-dyn-grp
puissent accéder à toutes les clés secrètes d'un compartiment, entrez un énoncé de politique semblable au suivant :allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment
-
Si vous voulez que les passerelles d'API dans
acme-apigw-dyn-grp
puissent accéder à une clé secrète spécifique, entrez un énoncé de politique similaire à ce qui suit :allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment where target.secret.id='ocid1.vaultsecret.oc1.iad.amaaaaaa______qia'
-
- Sélectionnez Créer pour créer la nouvelle politique donnant aux passerelles d'API du groupe dynamique l'accès aux clés secrètes spécifiées dans le service de chambre forte.