Création de stratégies de contrôle d'accès aux ressources réseau et aux ressources liées à API Gateway
Découvrez comment créer des stratégies à utiliser avec API Gateway.
Pour que les utilisateurs puissent commencer à utiliser le service API Gateway afin de créer des passerelles d'API et de déployer des API sur ces dernières, vous devez créer un certain nombre de stratégies Oracle Cloud Infrastructure en tant qu'administrateur de location afin d'accorder l'accès aux ressources réseau et liées à API Gateway.
Pour accorder l'accès aux ressources réseau et aux passerelles d'API, procédez comme suit :
-
Autorisez les utilisateurs à accéder aux ressources liées à API Gateway, aux ressources réseau et, éventuellement, aux ressources des fonctions. Plus précisément, vous devez effectuer les opérations suivantes :
- Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux ressources liées à API Gateway
- Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux ressources réseau
- Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux fonctions
- Activez les utilisateurs d'API Gateway pour associer une ressource de certificat de service Certificates à une passerelle d'API lors de la configuration d'un nom de domaine personnalisé, si nécessaire. Reportez-vous à Création d'une stratégie pour permettre aux utilisateurs d'API Gateway de créer des associations de certificats.
- Activez les utilisateurs d'API Gateway pour associer une autorité de certification (CA) ou un package d'autorité de certification dans le service Certificates à une passerelle d'API lors de la configuration d'un truststore personnalisé, si nécessaire. Reportez-vous à Création d'une stratégie pour permettre aux utilisateurs d'API Gateway de gérer les autorités de certification et les packages d'autorité de certification.
-
Si nécessaire, autorisez les passerelles d'API à accéder aux fonctions définies dans OCI Functions. Si les utilisateurs d'API Gateway définissent une nouvelle passerelle d'API avec une fonction sans serveur dans OCI Functions en tant que back-end d'API, le service API Gateway vérifie que la nouvelle passerelle d'API aura accès à la fonction indiquée. Pour accorder l'accès, vous devez créer une stratégie qui autorise les passerelles d'API à accéder aux fonctions définies dans OCI Functions. Reportez-vous à Création d'une stratégie pour permettre aux passerelles d'API d'accéder aux fonctions.
- Accordez aux passerelles d'API l'accès aux clés secrètes stockées dans des coffres du service Vault, si nécessaire. Si les utilisateurs d'API Gateway 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 informations d'identification pour l'authentification auprès du serveur de cache doivent être stockées dans le service Vault. De même, si les utilisateurs API Gateway définissent une passerelle d'API qui accède à l'adresse d'introspection d'un serveur d'autorisation pour valider les jetons, les informations d'identification permettant d'accéder au serveur d'autorisation doivent être stockées dans le service Vault. Reportez-vous à Création d'une stratégie pour permettre aux passerelles d'API d'accéder aux informations d'identification stockées en tant que clés secrètes dans le service Vault.
Pour plus d'informations sur les stratégies, reportez-vous à Détails relatifs à API Gateway.
Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux ressources liées à API Gateway
Lorsque les utilisateurs d'API Gateway définissent une nouvelle passerelle d'API et de nouveaux déploiements d'API, ils doivent indiquer un compartiment pour ces ressources liées à API Gateway. Ils peuvent uniquement indiquer un compartiment auquel les groupes dont ils sont membres ont accès. Pour permettre aux utilisateurs d'indiquer un compartiment, vous devez créer une stratégie d'identité qui accorde l'accès aux groupes.
Pour créer une stratégie permettant aux utilisateurs d'accéder aux ressources liées à API Gateway dans le compartiment propriétaire de ces ressources, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies. La liste des stratégies contenues dans le compartiment en cours de visualisation s'affiche.
- Sélectionnez le compartiment qui contiendra les ressources liées à API Gateway dans la liste à gauche.
- Sélectionnez Créer une stratégie.
-
Entrez les informations suivantes :
- Nom : nom explicite de la stratégie (par exemple,
acme-apigw-developers-manage-access
). Le nom doit être unique parmi toutes les stratégies de la location. Vous ne pourrez pas le modifier ultérieurement. Evitez de saisir des informations confidentielles. - Description : description explicite (par exemple,
Gives api-gateway developers access to all resources in the acme-apigw-compartment
). Vous pourrez modifier ce paramètre ultérieurement si vous le souhaitez. -
Instruction : l'instruction de stratégie suivante permet au groupe d'accéder à toutes les ressources liées à API Gateway dans le compartiment :
Dans Instruction 1, entrez l'instruction de stratégie suivante pour autoriser le groupe à accéder à toutes les ressources liées à API Gateway dans le 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
- Balises : si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Nom : nom explicite de la stratégie (par exemple,
- Sélectionnez Créer pour créer la stratégie permettant aux utilisateurs d'API Gateway d'accéder aux ressources liées à API Gateway dans le compartiment.
En règle générale, les passerelles d'API et les déploiements d'API sont créés dans le même compartiment. Toutefois, les grandes équipes de développement comptant de nombreux développeurs d'API peuvent préférer créer des compartiments distincts pour les passerelles d'API et les déploiements d'API. Cela permet d'autoriser différents groupes d'utilisateurs à accéder aux ressources.
Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux ressources réseau
Lorsque les utilisateurs d'API Gateway définissent une nouvelle passerelle d'API, ils doivent indiquer un réseau cloud virtuel et un sous-réseau dans lesquels créer la passerelle d'API. Les utilisateurs peuvent uniquement indiquer des réseaux cloud virtuels et des sous-réseaux auxquels les groupes dont ils sont membres ont accès. Pour permettre aux utilisateurs d'indiquer un réseau cloud virtuel et un sous-réseau, vous devez créer une stratégie d'identité qui accorde l'accès aux groupes. De plus, pour permettre aux utilisateurs de créer des passerelles d'API publique, la stratégie d'identité doit autoriser les groupes à gérer des adresses IP publiques dans le compartiment qui contient les ressources réseau.
Pour créer une stratégie permettant aux utilisateurs d'API Gateway d'accéder aux ressources réseau, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies. La liste des stratégies contenues dans le compartiment en cours de visualisation s'affiche.
- Sélectionnez le compartiment contenant les ressources réseau dans la liste de gauche.
- Sélectionnez Créer une stratégie.
-
Entrez les informations suivantes :
- Nom : nom explicite de la stratégie (par exemple,
acme-apigw-developers-network-access
). Le nom doit être unique parmi toutes les stratégies de la location. Vous ne pourrez pas le modifier ultérieurement. Evitez de saisir des informations confidentielles. - Description : description explicite (par exemple,
Gives api-gateway developers access to all network resources in the acme-network compartment
). Vous pourrez modifier ce paramètre ultérieurement si vous le souhaitez. -
Instruction : l'instruction de stratégie suivante permet au groupe d'accéder aux ressources réseau du compartiment (et 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
- Balises : si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Nom : nom explicite de la stratégie (par exemple,
- Sélectionnez Créer pour créer la stratégie permettant aux utilisateurs d'API Gateway d'accéder aux ressources réseau et aux adresses IP publiques du compartiment.
Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux fonctions
Lorsque les utilisateurs d'API Gateway définissent une nouvelle passerelle d'API, une option consiste à indiquer une fonction sans serveur définie dans OCI Functions en tant que back-end d'API. Les utilisateurs peuvent uniquement indiquer des fonctions auxquelles les groupes dont ils sont membres ont accès. Pour permettre aux utilisateurs de spécifier des fonctions en tant que back-end d'API, vous devez créer une stratégie d'identité qui accorde l'accès aux groupes. En plus de cette stratégie pour le groupe d'utilisateurs, afin de permettre aux utilisateurs de spécifier des fonctions en tant que back-ends d'API, vous devez également créer une stratégie permettant aux passerelles d'API d'accéder aux fonctions OCI (reportez-vous à Création d'une stratégie pour permettre aux passerelles d'API d'accéder aux fonctions).
Vous pouvez également créer une stratégie d'identité qui autorise des groupes à accéder à OCI Functions pour permettre aux utilisateurs d'utiliser la console (au lieu d'un fichier JSON) afin de définir une stratégie de demande d'authentification et de spécifier une fonction d'autorisation définie dans OCI Functions (reportez-vous à Transmission de jetons aux fonctions d'autorisation afin d'ajouter l'authentification et l'autorisation aux déploiements d'API).
Pour créer une stratégie permettant aux utilisateurs d'API Gateway d'accéder aux fonctions définies dans OCI Functions, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies. La liste des stratégies contenues dans le compartiment en cours de visualisation s'affiche.
- Sélectionnez le compartiment contenant les fonctions dans la liste de gauche.
- Sélectionnez Créer une stratégie.
-
Entrez les informations suivantes :
- Nom : nom explicite de la stratégie (par exemple,
acme-apigw-developers-functions-access
). Le nom doit être unique parmi toutes les stratégies de la location. Vous ne pourrez pas le modifier ultérieurement. Evitez de saisir des informations confidentielles. - Description : description explicite (par exemple,
Gives api-gateway developers access to all functions in the acme-functions-compartment
). Vous pourrez modifier ce paramètre ultérieurement si vous le souhaitez. -
Instruction : l'instruction de stratégie suivante permet au groupe d'accéder 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
- Balises : si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Nom : nom explicite de la stratégie (par exemple,
- Sélectionnez Créer pour créer la stratégie qui autorise les utilisateurs d'API Gateway à accéder aux fonctions du compartiment.
Création d'une stratégie pour permettre aux utilisateurs d'API Gateway de créer des associations de certificats
Les utilisateurs d'API Gateway peuvent utiliser une ressource de certificat de service Certificates afin de configurer un nom de domaine personnalisé pour une passerelle d'API. Pour permettre aux utilisateurs d'associer une ressource de certificat de service Certificates à une passerelle d'API, vous devez créer une stratégie d'identité afin d'autoriser les groupes auxquels les utilisateurs appartiennent à créer des associations de certificat.
Pour créer une stratégie permettant aux utilisateurs d'API Gateway d'associer une ressource de certificat de service Certificates à une passerelle d'API, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies. La liste des stratégies contenues dans le compartiment en cours de visualisation s'affiche.
- Sélectionnez le compartiment contenant la passerelle d'API dans la liste de gauche.
- Sélectionnez Créer une stratégie.
-
Entrez les informations suivantes :
- Nom : nom explicite de la stratégie (par exemple,
acme-apigw-developers-certificate-association
). Le nom doit être unique parmi toutes les stratégies de la location. Vous ne pourrez pas le modifier ultérieurement. Evitez de saisir des informations confidentielles. - Description : description explicite (par exemple,
Gives api-gateway developers the ability to create certificate associations
). Vous pourrez modifier ce paramètre ultérieurement si vous le souhaitez. -
Instruction : l'instruction de stratégie suivante permettant au groupe d'associer une ressource de certificat de service Certificates à 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
- Balises : si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Nom : nom explicite de la stratégie (par exemple,
- Sélectionnez Créer pour créer la stratégie permettant aux utilisateurs d'API Gateway d'associer des ressources de certificat de service Certificates à des passerelles d'API dans le compartiment.
Création d'une stratégie pour permettre aux utilisateurs d'API Gateway de gérer les autorités de certification et les packages d'autorité de certification
Outre le package d'autorité de certification et d'autorité de certification par défaut, les utilisateurs d'API Gateway peuvent choisir d'ajouter les certificats racine d'autres autorités de certification et d'autres packages d'autorité de certification (appelés autorités de certification personnalisées et packages d'autorité de certification personnalisés) au truststore d'une passerelle d'API. Pour personnaliser le truststore d'une passerelle d'API en ajoutant un package d'autorité de certification ou d'autorité de certification personnalisé, les utilisateurs doivent d'abord créer une ressource d'autorité de certification ou un package d'autorité de certification dans le service Certificates. Reportez-vous à la section Customizing Trust Stores for TLS Certificate Verification.
Pour permettre aux utilisateurs d'ajouter des autorités de certification et des packages d'autorité de certification personnalisés à des banques de confiance personnalisées, vous devez créer une stratégie d'identité afin d'autoriser les groupes auxquels les utilisateurs appartiennent à gérer les autorités de certification dans le service Certificates.
Pour créer une stratégie permettant aux utilisateurs d'API Gateway d'ajouter des autorités de certification et des packages d'autorité de certification personnalisés à des banques de confiance personnalisées, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies. La liste des stratégies contenues dans le compartiment en cours de visualisation s'affiche.
- Sélectionnez le compartiment contenant la passerelle d'API dans la liste de gauche.
- Sélectionnez Créer une stratégie.
-
Entrez les informations suivantes :
- Nom : nom explicite de la stratégie (par exemple,
acme-apigw-developers-custom-ca-bundle
). Le nom doit être unique parmi toutes les stratégies de la location. Vous ne pourrez pas le modifier ultérieurement. Evitez de saisir des informations confidentielles. - Description : description explicite (par exemple,
Gives api-gateway developers the ability to add custom CAs and CA bundles
). Vous pourrez modifier ce paramètre ultérieurement si vous le souhaitez. -
Instruction : l'instruction de stratégie suivante permet au groupe d'ajouter des autorités de certification et des packages d'autorité de certification personnalisés au truststore personnalisé 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
- Balises : si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Nom : nom explicite de la stratégie (par exemple,
- Sélectionnez Créer pour créer la stratégie permettant aux utilisateurs d'API Gateway d'ajouter des autorités de certification et des packages d'autorité de certification personnalisés à des banques de confiance personnalisées.
Création d'une stratégie pour permettre aux passerelles d'API d'accéder aux fonctions
Lorsque les utilisateurs d'API Gateway définissent une nouvelle passerelle d'API, une option consiste à indiquer une fonction sans serveur définie dans OCI Functions en tant que back-end d'API. Avant la création de la passerelle d'API, le service API Gateway vérifie que la nouvelle passerelle d'API aura accès à la fonction indiquée via une stratégie IAM.
En plus de cette stratégie pour les passerelles d'API, afin de permettre aux utilisateurs de spécifier des fonctions en tant que back-end d'API, vous devez également créer une stratégie permettant aux utilisateurs d'accéder aux fonctions OCI (reportez-vous à Création d'une stratégie pour permettre aux utilisateurs d'API Gateway d'accéder aux fonctions).
Pour créer une stratégie permettant aux passerelles d'API d'accéder aux fonctions définies dans OCI Functions, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
-
Créez une stratégie afin que les passerelles d'API aient accès aux fonctions définies dans OCI Functions :
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies.
- Sélectionnez le compartiment contenant les ressources relatives aux fonctions auxquelles accorder l'accès. Si les ressources se trouvent dans des compartiments distincts, sélectionnez un compartiment parent commun (par exemple, le compartiment racine de la location).
- Suivez les instructions de Procédure de création d'une stratégie et nommez cette stratégie (par exemple,
acme-apigw-gateways-functions-policy
). -
Entrez une instruction de stratégie permettant aux passerelles d'API d'accéder au compartiment contenant les fonctions définies dans OCI Functions :
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 à utiliser comme back-ends pour les passerelles d'API.<api-gateway-compartment-OCID>
est l'OCID du compartiment contenant les passerelles d'API qui doivent avoir accès 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 stratégie permettant aux passerelles d'API d'accéder aux fonctions définies dans OCI Functions.
Création d'une stratégie permettant aux passerelles d'API d'accéder aux informations d'identification stockées en tant que clés secrètes dans le service Vault
Si les utilisateurs d'API Gateway définissent une passerelle d'API qui met en mémoire cache les données de réponse dans un serveur de cache externe (tel qu'un serveur Redis), les informations d'identification à authentifier auprès du serveur de cache doivent être stockées dans le service Vault. De même, si les utilisateurs d'API Gateway définissent une passerelle d'API qui accède à l'adresse d'introspection d'un serveur d'autorisation pour valider les jetons, les informations d'identification à authentifier auprès du serveur d'autorisation doivent être stockées dans le service Vault. Pour permettre aux passerelles d'API de s'authentifier auprès du serveur de cache ou du serveur d'autorisation, vous devez créer une stratégie qui accorde aux passerelles d'API l'accès aux clés secrètes dans le service Vault.
Pour créer une stratégie permettant aux passerelles d'API d'accéder aux clés secrètes du service Vault, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de la location.
-
Créez un groupe dynamique comprenant des 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 dans Procédure de création d'un groupe dynamique et donnez un nom au groupe dynamique (par exemple,
acme-apigw-dyn-grp
). -
Lorsque vous indiquez 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 semblable à la suivante pour ajouter au groupe dynamique toutes les passerelles d'API du compartiment avec l'OCID indiqué :
ALL {resource.type = 'ApiGateway', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa'}
-
Pour qu'une passerelle d'API spécifique puisse accéder aux clés secrètes, entrez une règle semblable à la suivante qui ajoute la passerelle d'API avec l'OCID indiqué au groupe dynamique :
ALL {resource.type = 'ApiGateway', resource.id = 'ocid1.apigateway.oc1.iad.aaaaaaaab______hga'}
-
- Sélectionnez Créer un groupe dynamique.
Une fois que vous avez créé un groupe dynamique qui inclut des passerelles d'API, vous pouvez créer une stratégie permettant au groupe dynamique d'accéder à des clés secrètes.
-
Créez une stratégie pour accorder au groupe dynamique l'accès à des clés secrètes dans le service Vault :
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies.
- Suivez les instructions fournies dans Procédure de création d'une stratégie et nommez cette stratégie (par exemple,
acme-apigw-dyn-grp-policy
). -
Lorsque vous indiquez une instruction de stratégie, tenez compte des exemples suivants :
-
Pour que les passerelles d'API dans
acme-apigw-dyn-grp
puissent accéder à toutes les clés secrètes d'un compartiment, entrez une instruction de stratégie semblable à la suivante :allow dynamic-group acme-apigw-dyn-grp to read secret-bundles in compartment acme-apigw-compartment
-
Pour que les passerelles d'API dans
acme-apigw-dyn-grp
puissent accéder à une clé secrète spécifique, entrez une instruction de stratégie semblable à la suivante :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 stratégie permettant aux passerelles d'API du groupe dynamique d'accéder aux clés secrètes indiquées dans le service Vault.