Ajouter des attributs de sécurité aux applications et appliquer des stratégies ZPR
Découvrez comment ajouter des attributs de sécurité aux applications et comment appliquer des stratégies Zero Trust Packet Routing (ZPR) avec OCI Functions.
L'utilisation de Zero Trust Packet Routing (ZPR) avec OCI Functions vous permet d'implémenter un contrôle d'accès détaillé et avec le moins de privilèges sur les interactions entre les fonctions et d'autres ressources OCI. ZPR est particulièrement utile dans les environnements où les données sensibles ou les opérations critiques sont distribuées entre plusieurs ressources OCI, et où une séparation stricte et un contrôle de l'accès aux ressources sont requis. L'utilisation de ZPR vous aide à atténuer les risques associés aux accès non autorisés et à garantir que seuls les flux de trafic explicitement autorisés entre les ressources protégées prennent en charge les besoins de conformité et les stratégies de sécurité de l'organisation.
Vous pouvez utiliser Zero Trust Packet Routing (ZPR) avec ou à la place des groupes de sécurité réseau pour gérer l'accès réseau aux ressources OCI. Pour ce faire, définissez des stratégies ZPR qui régissent la façon dont les ressources communiquent les unes avec les autres, puis ajoutez des attributs de sécurité à ces ressources. Pour plus d'informations, reportez-vous à la section Zero Trust Packet Routing.
Si une adresse possède un attribut de sécurité Zero Trust Packet Routing (ZPR), le trafic vers l'adresse doit satisfaire aux stratégies ZPR, ainsi qu'à toutes les règles de groupe de sécurité réseau et de liste de sécurité. Par exemple, si vous utilisez déjà des groupes de sécurité réseau et que vous ajoutez un attribut de sécurité à une adresse, tout le trafic vers cette adresse est bloqué. Ensuite, une stratégie ZPR doit autoriser explicitement le trafic vers l'adresse.
Pour utiliser ZPR avec OCI Functions, vous ajoutez des attributs de sécurité à une application dans une location compatible ZPR. Une fois qu'un attribut de sécurité a été ajouté à une application, les fonctions de l'application ne peuvent accéder aux autres ressources OCI que si l'accès est autorisé par une stratégie ZPR.
Les attributs de sécurité sont définis dans un espace de noms d'attribut de sécurité. Pour ajouter un attribut de sécurité à une application, une stratégie IAM doit accorder au groupe auquel vous appartenez l'accès à l'espace de noms dans lequel l'attribut de sécurité est défini. Pour plus d'informations, reportez-vous à Stratégie IAM requise pour ajouter des attributs de sécurité aux applications.
Pour activer les fonctions dans une application à laquelle vous avez ajouté un attribut de sécurité afin d'accéder à d'autres ressources OCI, une stratégie ZPR appropriée doit exister. Si une telle stratégie ZPR n'existe pas, vous devez en créer une. Si des attributs de sécurité ont également été ajoutés aux autres ressources, vous pouvez créer une stratégie ZPR qui autorise explicitement les fonctions à accéder aux ressources avec ces attributs de sécurité. Si les attributs de sécurité n'ont pas été ajoutés aux autres ressources auxquelles les fonctions doivent accéder, vous pouvez utiliser 'osn-services-ip-addresses'
comme adresse pour créer une stratégie ZPR plus permissive. Sans stratégie ZPR appropriée, l'accès des fonctions aux autres ressources est bloqué au niveau du réseau et des erreurs de connexion peuvent se produire dans le code de la fonction. Pour plus d'informations, reportez-vous à Stratégie ZPR requise pour permettre aux applications (et fonctions) d'accéder à d'autres ressources.
Pour que les fonctions puissent être appelées dans une application à laquelle vous avez ajouté un attribut de sécurité, une stratégie ZPR appropriée doit exister pour permettre l'accès aux référentiels Oracle Cloud Infrastructure Registry contenant les images sur lesquelles les fonctions sont basées. Si aucune stratégie ZPR appropriée n'existe, les fonctions ne peuvent pas être appelées car les images ne peuvent pas être extraites des référentiels.
Pour plus d'informations sur la stratégie ZPR à créer, reportez-vous à Stratégie ZPR requise pour activer les images de fonction à extraire d'Oracle Cloud Infrastructure Registry.
Notez les points suivants :
- Pour afficher les applications auxquelles des attributs de sécurité ont été ajoutés, utilisez la page Console ZPR (reportez-vous à la section Liste des ressources protégées dans la documentation ZPR). La page de la console ZPR affiche également les cartes d'interface réseau virtuelles créées par OCI Functions, avec le nom d'affichage de chaque carte d'interface réseau virtuelle définie sur l'OCID de l'application propriétaire.
- Après avoir ajouté des attributs de sécurité à une application, vous pouvez utiliser l'analyseur de chemin réseau pour résoudre les problèmes de connectivité réseau rencontrés par les fonctions de l'application.
- L'utilisation d'attributs de sécurité et de stratégies ZPR pour restreindre l'accès aux ressources OCI Functions à partir d'autres services OCI au niveau du réseau n'est actuellement pas prise en charge.
- Si vous avez ajouté un attribut de sécurité à une application et que la console, la CLI ou l'API ZPR est ensuite utilisée pour supprimer l'attribut de sécurité de l'espace de noms de l'attribut de sécurité, vous devez enlever manuellement l'attribut de sécurité de l'application. Si vous ne supprimez pas l'attribut de sécurité supprimé de l'application, 502 erreurs sont renvoyées lorsque des fonctions de l'application sont appelées.
Vous pouvez ajouter ou enlever des attributs de sécurité dans ou à partir des applications à l'aide de la console, de l'interface de ligne de commande OCI et de l'API.
Stratégie IAM requise pour l'ajout d'attributs de sécurité aux applications
Pour pouvoir ajouter un attribut de sécurité à une application, une stratégie IAM doit accorder au groupe auquel vous appartenez le droit d'utilisation de l'espace de noms d'attribut de sécurité contenant l'attribut de sécurité.
Par exemple :
Allow group acme-functions-developers to use security-attribute-namespaces in tenancy
Pour plus d'informations, reportez-vous à Instruction de stratégie permettant aux utilisateurs OCI Functions d'accéder aux espaces de noms d'attribut de sécurité.
Si aucune stratégie IAM appropriée n'existe pour utiliser l'espace de noms d'attribut de sécurité, vous ne pouvez pas ajouter l'attribut de sécurité à l'application. L'attribut de sécurité n'est pas affiché dans la console et les tentatives d'ajout de l'attribut de sécurité à l'aide de l'interface de ligne de commande OCI ou de l'API renvoient un message d'erreur 404 - Introuvable.
Stratégie ZPR requise pour permettre aux applications (et aux fonctions) d'accéder à d'autres ressources
Lorsque vous ajoutez un attribut de sécurité à une application OCI Functions, les fonctions de cette application ne peuvent accéder à d'autres ressources que si une stratégie ZPR accorde à l'application l'accès à ces ressources.
Si une stratégie ZPR appropriée n'existe pas déjà, vous devez en créer une. Par exemple, en utilisant la syntaxe suivante :
in <vcn-security-attribute> VCN allow <application-security-attribute> endpoints to connect to <destination-security-attribute> endpoints
où :
<vcn-security-attribute>
est un attribut de sécurité (et une valeur) qui a été ajouté au VCN dans lequel réside le sous-réseau de l'application. Par exemple,VCN-Network:myVCN
.<application-security-attribute>
est l'attribut de sécurité (et la valeur) que vous avez ajouté à l'application. Par exemple,functions-app:myFuncAppA
<destination-security-attribute>
est un attribut de sécurité (et une valeur) qui a été ajouté à la ressource à laquelle les fonctions de l'application doivent accéder. Par exemple,DB-Server:App1
Par exemple :
in VCN-Network:myVCN VCN allow functions-app:myFuncAppA endpoints to connect to DB-Server:App1 endpoints
Pour plus d'informations sur les stratégies, la syntaxe et les exemples ZPR, reportez-vous à Stratégie Zero Trust Packet Routing dans la documentation ZPR.
Stratégie ZPR requise pour activer les images de fonction à extraire d'Oracle Cloud Infrastructure Registry
Pour appeler des fonctions dans une application à laquelle vous avez ajouté un attribut de sécurité, une stratégie ZPR doit exister pour permettre l'accès aux référentiels Oracle Cloud Infrastructure Registry contenant les images sur lesquelles les fonctions sont basées.
Si aucune stratégie ZPR appropriée n'existe déjà, vous devez créer une stratégie ZPR à l'aide de la syntaxe suivante :
in <vcn-security-attribute> VCN allow <application-security-attribute> endpoints to connect to 'osn-services-ip-addresses'
où :
<vcn-security-attribute>
est un attribut de sécurité (et une valeur) qui a été ajouté au VCN dans lequel réside le sous-réseau de l'application. Par exemple,VCN-Network:myVCN
<application-security-attribute>
est l'attribut de sécurité (et la valeur) que vous avez ajouté à l'application. Par exemple,functions-app:myFuncAppA
Par exemple :
in VCN-Network:myVCN VCN allow functions-app:myFuncAppA endpoints to connect to 'osn-services-ip-addresses'
Si aucune stratégie ZPR appropriée n'existe, lorsqu'une fonction est appelée, OCI Functions ne parvient pas à extraire l'image d'Oracle Cloud Infrastructure Registry et renvoie le message d'erreur suivant :
Fn: Error invoking function. status: 502 message: Failed to pull function image
Pour plus d'informations sur les stratégies, la syntaxe et les exemples ZPR, reportez-vous à Stratégie Zero Trust Packet Routing dans la documentation ZPR.
Pour ajouter ou enlever des attributs de sécurité dans ou à partir d'une application OCI Functions existante à l'aide de la console, procédez comme suit :
- Sur la page de liste Applications, sélectionnez l'application à laquelle ajouter ou enlever des attributs de sécurité. Si vous avez besoin d'aide pour trouver la page de liste ou l'application, reportez-vous à Liste des applications.
L'onglet Sécurité affiche les attributs de sécurité qui ont déjà été ajoutés à l'application (le cas échéant).
-
Pour ajouter un attribut de sécurité à l'application :
- Dans l'onglet Sécurité, sélectionnez Ajouter, puis dans la boîte de dialogue Ajouter des attributs de sécurité :
- Sélectionnez l'espace de noms d'attribut de sécurité qui contient l'attribut de sécurité.
- Sélectionnez l'attribut de sécurité.
- Entrez la valeur de l'attribut de sécurité.
- Pour ajouter plusieurs attributs de sécurité à l'application, sélectionnez Ajouter un attribut de sécurité et sélectionnez des attributs de sécurité supplémentaires (jusqu'à trois au maximum).
- Sélectionnez Ajout d'attributs de sécurité.
- Dans l'onglet Sécurité, sélectionnez Ajouter, puis dans la boîte de dialogue Ajouter des attributs de sécurité :
-
Pour supprimer un attribut de sécurité de l'application, procédez comme suit :
- Dans l'onglet Sécurité, sélectionnez Supprimer dans le menu en regard de l'attribut de sécurité à supprimer.
- Confirmez la suppression de l'attribut de sécurité.
Les attributs de sécurité affichés dans l'onglet Sécurité de l'application s'appliquent désormais à l'application.
- Sur la page de liste Applications, sélectionnez l'application à laquelle ajouter ou enlever des attributs de sécurité. Si vous avez besoin d'aide pour trouver la page de liste ou l'application, reportez-vous à Liste des applications.
Utilisez la commande oci fn application create et les paramètres requis pour créer une application :
oci fn application create --compartment-id <compartment-ocid> --display-name <app-name> --subnet-ids <subnet-ocids> [OPTIONS]
Utilisez la commande oci fn application update et les paramètres requis pour mettre à jour une application :
oci fn application update --application-id <application-ocid> [OPTIONS]
Afin d'obtenir la liste complète des indicateurs et d'options de variable pour les commandes d'interface de connexion OCI, reportez-vous à Référence de ligne de commandes.
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 les opérations d'API suivantes pour ajouter ou enlever des attributs de sécurité d'une application :