Ajout d'attributs de sécurité aux applications et application de politiques ZPR

Découvrez comment ajouter des attributs de sécurité aux applications et comment appliquer des politiques ZPR (Zero Trust Packet Routing) avec OCI Functions

L'utilisation du routage ZPR (Zero Trust Packet Routing) avec OCI Functions vous permet de mettre en oeuvre un contrôle d'accès détaillé et avec privilèges minimes sur les interactions entre les fonctions et les autres ressources OCI. ZPR est particulièrement utile dans les environnements où des données sensibles ou des opérations critiques sont réparties sur plusieurs ressources OCI, et où une séparation et un contrôle stricts 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 à vous assurer que seuls les flux de trafic explicitement autorisés entre les ressources protégées prennent en charge les besoins de conformité et les politiques de sécurité organisationnelles.

Vous pouvez utiliser le routage ZPR (Zero Trust Packet Routing) avec ou à la place des groupes de sécurité de réseau pour gérer l'accès réseau aux ressources OCI. Pour ce faire, définissez des politiques ZPR qui régissent la façon dont les ressources communiquent entre elles, puis ajoutez des attributs de sécurité à ces ressources. Pour plus d'informations, voir Routage de paquets Zéro confiance.

Attention

Si un point d'extrémité a un attribut de sécurité ZPR (Zero Trust Packet Routing), le trafic vers le point d'extrémité doit satisfaire aux politiques ZPR ainsi qu'à toutes les règles de groupe de sécurité de réseau et de liste de sécurité. Par exemple, si vous utilisez déjà des groupes de sécurité de réseau et que vous ajoutez un attribut de sécurité à un point d'extrémité, tout le trafic vers ce point d'extrémité est bloqué. À partir de là, une politique ZPR doit autoriser explicitement le trafic vers le point d'extrémité.

Pour utiliser ZPR avec OCI Functions, vous ajoutez des attributs de sécurité à une application dans une location activée pour ZPR. Après avoir ajouté un attribut de sécurité à une application, les fonctions de l'application ne peuvent accéder à d'autres ressources OCI que si l'accès est autorisé par une politique 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 politique 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, voir Politique IAM requise pour l'ajout d'attributs de sécurité aux applications.

Pour activer les fonctions d'une application à laquelle vous avez ajouté un attribut de sécurité pour accéder à d'autres ressources OCI, une politique ZPR appropriée doit exister. Si une telle politique 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 politique 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 point d'extrémité pour créer une politique ZPR plus permissive. Sans une politique ZPR appropriée, l'accès des fonctions à d'autres ressources est bloqué au niveau du réseau et des erreurs de connexion peuvent se produire dans le code de fonction. Pour plus d'informations, voir Politique ZPR requise pour permettre aux applications (et aux fonctions) d'accéder à d'autres ressources.

Important

Pour appeler avec succès des fonctions dans une application à laquelle vous avez ajouté un attribut de sécurité, une politique 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 une politique ZPR appropriée n'existe pas, les fonctions ne peuvent pas être appelées avec succès car les images ne peuvent pas être extraites des référentiels.

Pour plus d'informations sur la politique ZPR à créer, voir Politique ZPR requise pour permettre l'extraction des images de fonction à partir d'Oracle Cloud Infrastructure Registry.

Notez les points suivants :

  • Pour voir les applications auxquelles des attributs de sécurité ont été ajoutés, utilisez la page Console ZPR (voir Liste des ressources protégées dans la documentation ZPR). La page de la console ZPR affiche également les cartes VNIC créées par le service des fonctions pour OCI, le nom d'affichage de chaque carte VNIC étant réglé à l'OCID de l'application responsable.
  • Après avoir ajouté des attributs de sécurité à une application, vous pouvez utiliser Network Path Analyzer 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 politiques ZPR pour restreindre l'accès aux ressources du service des fonctions pour OCI à partir d'autres services OCI au niveau du réseau n'est pas prise en charge actuellement.
  • Si vous avez ajouté un attribut de sécurité à une application et que la console ZPR, l'interface de ligne de commande ou l'API est ensuite utilisée pour supprimer l'attribut de sécurité de l'espace de noms d'attribut de sécurité, vous devez supprimer 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 supprimer des attributs de sécurité dans des applications ou à partir de celles-ci à l'aide de la console, de l'interface de ligne de commande OCI et de l'API.

Politique IAM requise pour ajouter des attributs de sécurité aux applications

Avant de pouvoir ajouter un attribut de sécurité à une application, une politique IAM doit accorder au groupe auquel vous appartenez l'autorisation d'utiliser 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, voir Énoncé de politique permettant aux utilisateurs du service des fonctions pour OCI d'accéder aux espaces de noms d'attribut de sécurité.

Notez que si une politique IAM appropriée pour utiliser l'espace de noms d'attribut de sécurité n'existe pas, 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 tente d'ajouter l'attribut de sécurité à l'aide de l'interface de ligne de commande OCI ou de l'API, retourne un message d'erreur 404 - Introuvable.

Politique 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 du service des fonctions pour OCI, les fonctions de cette application ne peuvent accéder à d'autres ressources que si une politique ZPR accorde à l'application l'accès à ces ressources.

Si une politique 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 vous voulez que les fonctions de l'application accèdent. 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 politiques, la syntaxe et les exemples ZPR, voir Politique de routage de paquets Zero Trust dans la documentation ZPR.

Politique ZPR requise pour permettre l'extraction d'images de fonction à partir d'Oracle Cloud Infrastructure Registry

Pour appeler avec succès des fonctions dans une application à laquelle vous avez ajouté un attribut de sécurité, une politique 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 une politique ZPR appropriée n'existe pas déjà, vous devez créer une politique 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 politique ZPR appropriée n'existe, lorsqu'une fonction est appelée, OCI Functions ne peut pas extraire l'image d'Oracle Cloud Infrastructure Registry et retourne le message d'erreur suivant :

Fn: Error invoking function. status: 502 message: Failed to pull function image

Pour plus d'informations sur les politiques, la syntaxe et les exemples ZPR, voir Politique de routage de paquets Zero Trust dans la documentation ZPR.

  • Pour ajouter ou supprimer des attributs de sécurité dans ou à partir d'une application OCI Functions existante à l'aide de la console :

    1. Dans la page de liste Applications, sélectionnez l'application à laquelle vous souhaitez ajouter ou supprimer des attributs de sécurité. Si vous avez besoin d'aide pour trouver la page de liste ou l'application, voir 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).

    2. Pour ajouter un attribut de sécurité à l'application :

      1. Dans l'onglet Sécurité, sélectionnez Ajouter et 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é.
      2. 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).
      3. Sélectionnez Ajouter des attributs de sécurité.
    3. Pour supprimer un attribut de sécurité de l'application :

      1. Dans l'onglet Sécurité, sélectionnez Supprimer dans le menu Actions (trois points) à côté de l'attribut de sécurité à supprimer.
      2. Vérifiez que vous voulez supprimer 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.

  • 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]

    Pour une liste complète des indicateurs et options de variable pour les commandes de l'interface de ligne de commande OCI, voir Informations de référence sur la ligne de commande.

  • Pour plus d'informations sur l'utilisation de l'API et sur les demandes de signature, voir la documentation de l'API REST et Données d'identification de sécurité. Pour plus d'informations sur les trousses SDK, voir Trousses SDK et interface de ligne de commande.

    Utilisez ces opérations d'API pour ajouter ou supprimer des attributs de sécurité dans ou à partir d'une application :