Personnalisation des truststores pour la vérification des certificats TLS
Découvrez comment ajouter des autorités de certification et des packages d'autorité de certification à des truststore personnalisés avec API Gateway.
Les passerelles d'API que vous créez avec le service API Gateway vérifient les certificats TLS qui leur sont présentés à l'aide d'un truststore. Le truststore peut contenir des certificats racine d'autorité de certification (CA) et des packages d'autorité de certification de certificats racine et intermédiaires. Un package d'autorité de certification par défaut est ajouté au truststore de chaque passerelle d'API, contenant les certificats des autorités de certification publiques connues. Le package d'autorité de certification par défaut permet à la passerelle d'API de vérifier les certificats TLS présentés par les services back-end.
Outre le package d'autorité de certification par défaut, vous pouvez choisir d'ajouter les certificats racine d'autres autorités de certification et d'autres packages d'autorité de certification au truststore d'une passerelle d'API. Ces autorités de certification et packages d'autorité de certification supplémentaires sont appelés autorités de certification personnalisées et packages d'autorité de certification personnalisés. Pour ajouter un package d'autorité de certification ou d'autorité de certification personnalisé au truststore d'une passerelle d'API, vous devez d'abord créer une ressource d'autorité de certification ou un package d'autorité de certification dans le service Certificates. Après avoir créé la ressource dans le service Certificates, vous pouvez l'ajouter au truststore de la passerelle d'API. L'ajout d'autorités de certification et de packages d'autorité de certification personnalisés vous permet de personnaliser le truststore en fonction de vos besoins.
Après avoir ajouté des autorités de certification personnalisées et des packages d'autorité de certification au truststore, les connexions TLS à la passerelle d'API (y compris à partir des back-ends HTTPS et du cache de réponses) sont vérifiées à l'aide du package d'autorité de certification par défaut, ainsi que des autorités de certification personnalisées et des packages d'autorité de certification. En outre, si vous avez indiqué la prise en charge de mTLS pour un déploiement d'API, la passerelle d'API utilise des autorités de certification personnalisées et des packages d'autorité de certification personnalisés pour vérifier les certificats client d'API. Notez que la passerelle d'API n'utilise pas le package d'autorité de certification par défaut pour vérifier les certificats de client d'API lors d'une liaison mTLS. Par conséquent, si vous voulez qu'une passerelle d'API prenne en charge mTLS, vous devez ajouter des autorités de certification et des packages d'autorité de certification personnalisés au truststore de la passerelle d'API
Pour certains clients, il est obligatoire pour des raisons de sécurité d'utiliser des magasins de confiance personnalisés qui ne contiennent que des autorités de certification privées et aucune autorité de certification publique. Pour d'autres clients, l'utilisation de magasins de confiance personnalisés est susceptible d'être motivée par des exigences commerciales.
Ajout d'autorisations de certification personnalisées et de packages d'autorité de certification 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 un package d'autorité de certification personnalisé, créez d'abord une ressource d'autorité de certification ou un package d'autorité de certification dans le service Certificates, puis ajoutez-la au truststore de la passerelle d'API.
Suppression des autorités de certification personnalisées et des packages d'autorité de certification du truststore d'une passerelle d'API
Après avoir ajouté un package d'autorité de certification (CA) ou d'autorité de certification personnalisé au truststore d'une passerelle d'API, vous pouvez décider que le package d'autorité de certification ou d'autorité de certification n'est plus requis.
Vous pouvez enlever tout ou partie des autorités de certification personnalisées et des packages d'autorité de certification du truststore d'une passerelle d'API, à condition qu'aucune API compatible mTLS ne soit déployée sur la passerelle d'API. Si des API compatibles mTLS sont déployées sur la passerelle d'API, au moins une autorité de certification ou un package d'autorité de certification personnalisé doit toujours exister dans le truststore de la passerelle d'API.
Utilisation de la console
Pour enlever un package d'autorité de certification ou d'autorité de certification personnalisé du truststore d'une passerelle d'API à l'aide de la console, procédez comme suit :
- Sur la page de liste Passerelles, sélectionnez la passerelle d'API à partir de laquelle enlever le package d'autorité de certification ou d'autorité de certification personnalisé. Si vous avez besoin d'aide pour rechercher la page de liste ou la passerelle d'API, reportez-vous à Liste des passerelles d'API.
- Sur la page Détails de la passerelle, sélectionnez Autorités de certification dans la liste Ressources pour afficher les packages d'autorité de certification et d'autorité de certification personnalisés dans le truststore de la passerelle d'API.
-
Sélectionnez le menu
en regard du package d'autorité de certification ou d'autorité de certification personnalisé à enlever, puis sélectionnez Supprimer.Vous ne pouvez pas enlever toutes les autorités de certification personnalisées et tous les packages d'autorité de certification du truststore d'une passerelle d'API si une ou plusieurs API compatibles mTLS sont déployées sur la passerelle d'API.
-
Confirmez que vous voulez enlever l'autorité de certification ou le package d'autorité de certification personnalisé du truststore de la passerelle d'API.
Utilisation de l'interface de ligne de commande
Pour enlever une autorité de certification ou un package d'autorité de certification personnalisé du truststore d'une passerelle d'API à l'aide de l'interface de ligne de commande, procédez comme suit :
- Configurez votre environnement client de façon à pouvoir utiliser l'interface de ligne de commande (Configuration de l'environnement client pour utiliser l'interface de ligne de commande pour le développement de passerelle d'API).
-
Pour enlever une autorité de certification ou un package d'autorité de certification personnalisé du truststore d'une passerelle d'API, procédez comme suit :
-
Ouvrez une invite de commande et exécutez
oci api-gateway gateway update
pour enlever l'autorité de certification ou le package d'autorité de certification personnalisé du truststore de la passerelle d'API :oci api-gateway gateway update --gateway-id <gateway-ocid> --ca-bundles file:///<filename>
où
<filename>
est le nom d'un fichier contenant uniquement les détails des autorités de certification personnalisées et des packages d'autorité de certification personnalisés à conserver dans le truststore de la passerelle d'API (en plus du package d'autorité de certification par défaut). Les autorités de certification ou les packages d'autorité de certification non contenus dans le fichier sont supprimés du truststore.Par exemple :
oci api-gateway gateway update --gateway-id ocid1.apigateway.oc1..aaaaaaaab______hga --ca-bundles file:///bundles-to-keep.json
Vous ne pouvez pas enlever toutes les autorités de certification personnalisées et tous les packages d'autorité de certification du truststore d'une passerelle d'API si une ou plusieurs API compatibles mTLS sont déployées sur la passerelle d'API.
La réponse à la commande inclut les éléments suivants :
- Etat de cycle de vie (par exemple, DELETED ou FAILED).
- ID de la demande de travail utilisée pour supprimer les autorités de certification personnalisées ou les packages d'autorité de certification (les détails des demandes de travail sont disponibles pendant sept jours après leur fin, leur annulation ou leur échec).
Pour que la commande attende que les autorités de certification personnalisées ou les packages d'autorité de certification aient été supprimés (ou que la demande ait échoué) avant de renvoyer le contrôle, incluez l'un des paramètres suivants ou les deux :
--wait-for-state DELETED
--wait-for-state FAILED
Par exemple :
oci api-gateway gateway update --gateway-id ocid1.apigateway.oc1..aaaaaaaab______hga --ca-bundles file:///bundles-to-keep.json --wait-for-state DELETED
-
(Facultatif) Pour afficher le statut de la demande de travail qui supprime le package d'autorité de certification ou d'autorité de certification personnalisé, saisissez :
oci api-gateway work-request get --work-request-id <work-request-ocid>
-
(Facultatif) Pour afficher les journaux de la demande de travail qui supprime le package d'autorité de certification ou d'autorité de certification personnalisé, saisissez :
oci api-gateway work-request-log list --work-request-id <work-request-ocid>
-
(Facultatif) Si la demande de travail qui supprime le package d'autorité de certification ou d'autorité de certification personnalisé échoue et que vous souhaitez consulter les journaux d'erreurs, saisissez ce qui suit :
oci api-gateway work-request-error --work-request-id <work-request-ocid>
-
(Facultatif) Pour vérifier que le package d'autorité de certification ou d'autorité de certification personnalisé a été enlevé du truststore de la passerelle d'API, entrez la commande suivante et confirmez que le package d'autorité de certification ou d'autorité de certification personnalisé n'est plus affiché :
oci api-gateway gateway get --gateway-id <gateway-ocid>
-
Pour plus d'informations sur l'utilisation de l'interface de ligne de commande, reportez-vous à Interface de ligne de commande (CLI). Afin d'obtenir la liste complète des indicateurs et des options disponibles pour les commandes de l'interface de ligne de commande, reportez-vous à Aide relative à l'interface de ligne de commande.
Utilisation de l'API
Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à la documentation relative à l'API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.
Utilisez l'opération UpdateGateway pour indiquer uniquement les autorités de certification personnalisées et les packages d'autorité de certification personnalisés à conserver dans le truststore de la passerelle d'API (en plus du package d'autorité de certification par défaut). Les autorités de certification ou les packages d'autorité de certification que vous n'indiquez pas sont supprimés du truststore. Vous ne pouvez pas enlever toutes les autorités de certification personnalisées et tous les packages d'autorité de certification du truststore d'une passerelle d'API si une ou plusieurs API compatibles mTLS sont déployées sur la passerelle d'API.