Sécurité à plusieurs niveaux avec des restrictions basées sur le contexte

Réduisez votre surface d'attaque grâce à des restrictions contextuelles. Ajoutez l'emplacement du réseau, le type de terminal et les exigences MFA à vos politiques basées sur l'identité pour une gestion fine de l'accès.

Les restrictions basées sur le contexte permettent aux propriétaires de comptes et aux administrateurs de définir et d'appliquer des restrictions d'accès aux ressources IBM Cloud® en fonction des critères d'une règle. Les critères comprennent la localisation réseau des demandes d'accès, le type de point de terminaison à partir duquel la demande est envoyée, le niveau d'authentification multifactorielle d'une identité et parfois l'API à laquelle la demande tente d'accéder. Ces restrictions s'ajoutent aux politiques IAM traditionnelles, qui sont basées sur l'identité, afin de fournir un niveau de protection supplémentaire. Étant donné que les politiques IAM et les restrictions basées sur le contexte imposent l'accès, les restrictions basées sur le contexte offrent une protection même en cas de compromission ou de mauvaise gestion des informations d'identification.

Un diagramme qui montre comment fonctionnent les restrictions basées sur le contexte.
Un diagramme qui montre comment fonctionnent les restrictions basées sur le contexte.

Pour un exemple de scénario sur la création de restrictions basées sur le contexte, suivez le tutoriel intitulé Optimisation des restrictions basées sur le contexte pour sécuriser les ressources.

Pour plus d'informations sur la mise en œuvre de restrictions basées sur le contexte dans votre stratégie de sécurité, consultez le didacticiel Améliorer la sécurité du cloud en appliquant des restrictions basées sur le contexte.

Rules

Une règle associe une ressource IBM Cloud à un ensemble de contextes :

  • La ressource de cloud est spécifiée par des attributs de ressource similaires aux règles d'accès IAM.
  • Un contexte est une combinaison de zones réseau et de types de noeud final.

Les contextes que vous configurez définissent les limites des ressources associées.

Les attributs de ressources nécessaires dans les règles de restriction basées sur le contexte sont accountId et serviceName. Les règles doivent avoir une portée incluant un compte et un service spécifique.

Les règles de restriction basée sur le contexte sont appliquées selon la logique suivante :

  • L'accès est accordé par une règle uniquement lorsqu'au moins l'un des contextes de la règle autorise l'accès.
  • Si plusieurs règles sont applicables à une ressource particulière, l'accès est accordé uniquement lorsque toutes les règles applicables autorisent l'accès.
  • Si aucune règle n'est applicable à une ressource particulière, l'accès est déterminé exclusivement par les politiques IAM.

Contrairement aux politiques IAM, les restrictions basées sur le contexte n'affectent pas d'accès. Elles permettent de vérifier qu'une demande d'accès provient d'un contexte autorisé que vous configurez.

L'interface que vous utilisez pour accéder à une ressource, telle que la console, la CLI ou l'API, n'affecte pas la manière dont une règle s'applique à cette ressource. La règle s'applique de la même manière à toutes les interfaces et est basée sur l'adresse IP du client.

Application des règles

Vous pouvez décider de la manière dont vous souhaitez appliquer une règle lors de sa création et mettre à jour l'application de la règle à tout moment.

Activé
Faire respecter la règle. Selon le service choisi, il est possible de surveiller les tentatives d'accès refusées à l'adresse Activity Tracker Event Routing. Consultez la documentation de chaque service pour savoir comment ils s'intègrent aux restrictions basées sur le contexte.
Désactivé
Aucune restriction ne s'applique aux ressources de votre compte. Sélectionnez cette option si vous n'êtes pas prêt à activer la règle.
Rapport uniquement
Selon le service sélectionné, vous pouvez contrôler l'impact d'une règle sur l'accès sans l'appliquer. En mode rapport uniquement, toutes les tentatives d'accès aux ressources du compte sont enregistrées sur Activity Tracker Event Routing. Si elle est disponible, la surveillance est recommandée pendant 30 jours avant d'appliquer une règle.

Le mode rapport seul n'étant pas disponible pour tous les services, il convient de consulter la documentation de chaque service pour savoir comment ils s'intègrent aux restrictions basées sur le contexte.

Vous pouvez contrôler l'impact de vos règles activées et de vos règles de rapport uniquement. Pour plus d'informations, voir Surveillance des restrictions basées sur le contexte.

Définir le champ d'application d'une règle

Définissez les API que vous souhaitez protéger afin de limiter la portée des restrictions d'une règle. De cette façon, vous pouvez spécifier des protections granulaires pour différentes API qui ont des exigences d'accès distinctes.

Par exemple, vous pouvez créer une règle qui cible une API de plan de données afin qu'elle ne soit accessible qu'à partir d'un cluster Kubernetes, ou de n'importe quel endroit où se trouve votre infrastructure informatique. Ensuite, vous pouvez créer une règle qui cible votre API de plan de contrôle et toutes les API de plateforme pour protéger les interactions avec la console en nuage afin qu'elle ne soit accessible que derrière le VPN de votre organisation.

Seuls certains services permettent de définir l'étendue d'une règle par API.

Avec certains services, vous pouvez restreindre par défaut les actions de toutes les API du service sur vos ressources, ce qui inclut toutes les API actuelles et futures que le service pourrait prendre en charge. Ou sélectionnez des API spécifiques. Par exemple, Kubernetes possède des API de services personnalisés dont vous pouvez restreindre l'accès en fonction du contexte de la demande. Consultez la documentation de chaque service pour en savoir plus sur la façon dont ils s'intègrent aux restrictions basées sur le contexte.

Certains services permettent d'étendre une règle à la protection de toutes les API de la plateforme, c'est-à-dire toutes les API actuelles et futures qu'un service pourrait prendre en charge. L'ajout d'API de plateforme à la portée d'une règle garantit que les opérations de plateforme telles que l'approvisionnement en ressources, la gestion des justificatifs de service et l'attachement de balises ne sont accessibles qu'à partir des emplacements que vous définissez.

Les restrictions basées sur le contexte protègent par défaut toutes les API du service et de la plateforme que le service cible prend en charge.

Contextes

Les contextes définissent l'emplacement depuis lequel vos ressources sont accessibles. Un contexte est constitué des types de noeud final et des zones réseau autorisés que vous configurez.

  • Si un contexte inclut des zones réseau, l'accès est accordé uniquement lorsque la demande est créée à partir de l'une de ces zones.
  • Si un contexte inclut des types de noeud final de service, l'accès est accordé uniquement lorsque la demande est reçue via une connexion correspondant à l'un de ces types.
  • Si un contexte inclut l'authentification multifactorielle (AMF), l'accès n'est accordé que si l'identité requérante a un niveau d'AMF égal ou supérieur au niveau d'AMF requis.
  • Si un contexte inclut plusieurs restrictions, par exemple à la fois des zones et des types de noeud final, toutes les restrictions doivent être satisfaites pour que l'accès soit accordé.

Zone réseau

Une zone réseau représente une liste d'adresses IP autorisées dans laquelle une demande d'accès est créée. Elle définit un ou plusieurs emplacements réseau qui sont spécifiés par les attributs suivants :

  • Des adresses IP (adresses individuelles, plages ou sous-réseaux).
  • Clouds privés virtuels
  • Des références de service, qui autorise l'accès à partir d'autres services IBM Cloud®.

Adresses IP

Les clients peuvent spécifier les adresses IP à partir desquels ils souhaitent envoyer du trafic. Tout ce qui ne provient pas des adresses IP spécifiées est refusé.

Clouds privés virtuels

Si des applications sont déployées dans un cloud privé virtuel requérant l'accès à une ressource restreinte en fonction du contexte, vous pouvez inclure les adresses IP du cloud privé virtuel dans votre zone réseau. Pour ce faire, sélectionnez le VPC cible dans votre zone réseau et ajoutez cette zone réseau à votre règle. De cette façon, vous n'avez pas besoin de trouver les adresses IP utilisées par le VPC. Les ressources contactées voient que la demande provient d'un ensemble d'adresses IP autorisées.

Références de service

Une référence de service représente les emplacements réseau d'un service ou d'une instance de service. L'inclusion d'une référence de service dans une zone réseau ajoute les adresses IP associées au service à votre liste d'autorisations sans qu'il soit nécessaire de connaître les adresses IP sous-jacentes du service. Les références des services sont utiles car les emplacements des services en nuage sont inconnus de l'administrateur des restrictions contextuelles et peuvent changer au fil du temps.

Voici une liste de services que vous pouvez ajouter à une zone de réseau en tant que référence de service :

Services compatibles avec les références de services.
Service Type de service service_name
Tous les services de gestion de comptes Gestion de comptes iam-access-management
Service de groupes d'accès IAM Gestion des comptes iam-groups
Gestion des utilisateurs IAM Gestion des comptes user-management
Activity Tracker Event Routing IAM-enabled logdnaat
App Configuration IAM-enabled apprapp
Service de gestion de catalogue IAM-enabled globalcatalog-collection
Cloud Block Storage for VPC IAM-activé
Cloud Object Storage IAM-enabled cloud-object-storage
Code Engine IAM-enabled codeengine
Databases for DataStax IAM-enabled databases-for-cassandra
Databases for EnterpriseDB IAM-enabled databases-for-enterprisedb
Databases for Elasticsearch IAM-enabled databases-for-elasticsearch
Databases for etcd IAM-enabled databases-for-etcd
Databases for MongoDB IAM-enabled databases-for-mongodb
Databases for MySQL IAM-enabled databases-for-mysql
Databases for PostgreSQL IAM-enabled databases-for-postgresql
Databases for Redis IAM-enabled databases-for-redis
Direct Link IAM-enabled directlink
Event Notifications IAM-enabled event-notifications
Event Streams IAM-enabled messagehub
Kubernetes Service / Red Hat OpenShift IAM-enabled containers-kubernetes
Messages for RabbitMQ IAM-enabled messages-for-rabbitmq
Secrets Manager IAM-enabled secrets-manager
IAM-enabled Services d'infrastructure VPC IAM-enabled
Schematics IAM-enabled schematics
Chaîne d'outils IAM-enabled toolchain
Watsonx.data IAM-enabled lakehouse

Dans le tableau 1, l'expression "tous les services de gestion de comptes " fait référence au regroupement des services de type "gestion de comptes" énumérés dans le tableau. Par exemple, s'il existe deux services de gestion de compte énumérés dans le tableau 1, tous les services de gestion de compte incluent ces deux services. Au fur et à mesure que d'autres services de gestion de compte deviennent disponibles en tant que références de service, les zones de réseau qui spécifient Tous les services de gestion de compte comme référence de service incluent automatiquement les services de gestion de compte nouvellement ajoutés.

Reportez-vous à la documentation de chaque offre de service pour plus d'informations sur les services à ajouter en tant que référence de service pour l'offre de service que vous ciblez dans une règle.

Type de nœud final

Un type de noeud final représente la connexion via laquelle une demande d'accès est reçue. Il correspond au noeud final qui reçoit la connexion. Vous pouvez autoriser l'accès depuis tous les types de noeud final pris en charge ou depuis des types de noeud final de services spécifiques.

Voici les trois types de noeud final courants :

  • Les noeuds finaux publics peuvent accepter des demandes de n'importe quel emplacement.
  • Des points d'accès privés sont disponibles pour la plupart des demandes émanant de IBM Cloud®.
  • Les points d'extrémité directs sont utilisés dans les scénarios "Bring-Your-Own-IP", généralement pour les demandes provenant de ressources situées dans des VPC.

Certains types de noeud final peuvent ne pas être pris en charge par le service sélectionné.

Pour accéder aux points d'extrémité privés virtuels, les utilisateurs de la CLI doivent se connecter à l'aide de la commande ibmcloud login -a private.cloud.ibm.com --vpc. Pour plus d'informations, voir Création d'une passerelle de point d'extrémité privé(nécessaire pour l'utilisation de VPC).

Authentification multi-facteur

L'authentification multifactorielle (MFA) exige que les identités soient authentifiées en utilisant un autre facteur d'authentification que l'identifiant et le mot de passe. En définissant un niveau d'exigence MFA moins strict, vous permettez aux utilisateurs qui atteignent ou dépassent ce niveau de s'authentifier. Par exemple, si votre règle exige que les utilisateurs s'authentifient avec l'AFM LEVEL1, les utilisateurs qui ont l'AFM LEVEL2 sont toujours conformes puisque LEVEL2 dépasse les critères de sécurité de LEVEL1. Les niveaux d'AMF suivants indiquent le facteur d'AMF minimum pour chaque niveau. Pour plus d'informations, voir IBM Cloud authentification multifactorielle.

  • LEVEL1: AMF par courrier électronique
  • LEVEL2: TOTP AMF
  • LEVEL3: Clé de sécurité MFA

En plus de LEVEL1, LEVEL2, et LEVEL3 MFA, la règle de restriction basée sur le contexte prend également en charge la valeur IAM_ACCOUNT_SETTING, ce qui signifie que la valeur MFA de la règle correspond à ce que vous définissez comme l'exigence MFA pour votre compte. Ainsi, toute modification des paramètres MFA de votre compte s'applique automatiquement à la règle. Pour plus d'informations, voir les options d'AMF.

Si une option est sélectionnée dans la section MFA pour les utilisateurs avec IBMid dans les paramètres d'authentification IAM, la valeur MFA d'IAM est mappée à LEVEL2 MFA dans les restrictions basées sur le contexte. L'AMF est appliquée aux utilisateurs fédérés et non fédérés, même si l'utilisateur non fédéré est sélectionné.

Seuls certains services permettent de spécifier l'AMF dans une règle.

Conditions d'accès

Pour effectuer des actions de règles, vous devez disposer d'une politique IAM sur le service cible. Pour effectuer des actions sur la zone réseau, vous devez disposer d'une politique IAM sur le service de restrictions contextuelles.

Pour créer une restriction contextuelle pour un service, vous devez vous voir attribuer une politique IAM avec le rôle d'administrateur du service pour lequel vous créez une règle. Par exemple, si vous souhaitez créer une règle pour protéger une instance de Key Protect vous devez avoir le rôle d'administrateur sur le service Key Protect et le rôle de visualiseur ou un rôle plus élevé sur le service de restrictions basées sur le contexte.

Le rôle de visualiseur du service de restrictions contextuelles vous autorise à ajouter des zones réseau à votre règle.

Restrictions basées sur le contexte, les rôles et les actions

Pour gérer les zones du réseau, vous devez disposer d'une stratégie IAM avec un rôle spécifique pour le service de gestion des comptes de restrictions contextuelles. Le tableau suivant présente les rôles d'accès et les actions possibles pour la gestion des comptes.

Rôles et actions pour le service de restrictions contextuelles
Rôles Actions
Afficheur Afficher les zones réseau
Editeur Afficher des zones réseau

Créer des zones de réseau

Mettre à jour des zones réseau

Supprimer des zones réseau

Administrateur Afficher des zones réseau

Créer des zones de réseau

Mettre à jour des zones réseau

Supprimer des zones réseau

Pour plus d'informations, voir Actions et rôles pour les services de gestion des comptes.

Vous pouvez également utiliser des zones réseau pour restreindre l'accès au niveau du compte. Pour définir des restrictions au niveau des comptes en utilisant des zones de réseau, allez dans Gérer > IAM > Paramètres dans la console IBM Cloud et entrez le nom de votre zone de réseau.

Rôles et actions des services cibles

Pour gérer les règles, vous devez disposer d'une stratégie IAM avec le rôle d'administrateur pour le service pour lequel vous créez la règle. Le tableau suivant présente les rôles d'accès et les actions possibles pour les services.

Rôles et exemples d'actions pour le service cible
Rôles Actions
Afficheur Afficher les règles
Editeur Afficher les règles
Administrateur Afficher les règles

Créer des règles

Mettre à jour les règles

Supprimer les règles

Services intégrés avec des restrictions basées sur le contexte

Des services IBM Cloud spécifiques sont intégrés avec des restrictions basées sur le contexte, et seuls ces services peuvent appliquer des règles à leurs ressources. La manière dont les règles s'appliquent aux services individuels est déterminée par le service, il faut donc veiller à consulter la documentation de chaque service pour comprendre comment les restrictions basées sur le contexte s'appliquent.

Vous pouvez créer des restrictions basées sur le contexte pour les services suivants si vous disposez de l'accès correct au service :

Services compatibles avec les restrictions contextuelles.
Service Type de service Champ d'application des API service_name
Activity Tracker Event Routing Gestion des comptes Non atracker
App Configuration Activé par IAM Non apprapp
service de gestion des catalogues Activé par IAM Oui globalcatalog-collection
IBM Cloud Logs Activé par IAM Non logs
IBM Cloud Monitoring Activé par IAM Non sysdig-monitor
Sauvegarde et récupération Activé par IAM Oui backup-recovery
Nuage Object Storage Activé par IAM Non cloud-object-storage
Code Engine Activé par IAM Non codeengine
Container Registry Activé par IAM Non container-registry
Restrictions basées sur le contexte Service Gestion des comptes Non context-based-restrictions
Databases for DataStax Activé par IAM Oui databases-for-cassandra
Databases for EnterpriseDB Activé par IAM Oui databases-for-enterprisedb
Databases for Elasticsearch Activé par IAM Oui databases-for-elasticsearch
Databases for etcd Activé par IAM Oui databases-for-etcd
Databases for MongoDB Activé par IAM Oui databases-for-mongodb
Databases for MySQL Activé par IAM Oui databases-for-mysql
Databases for PostgreSQL Activé par IAM Oui databases-for-postgresql
Databases for Redis Activé par IAM Oui databases-for-redis
Direct Link Activé par IAM Non directlink
DNS Services Activé par IAM Non dns-svcs
Enterprise Application Service Activé par IAM Non enterprise-app-java
Event Notifications Activé par IAM Non event-notifications
Event Streams Activé par IAM Non messagehub
Hyper Protect Crypto Services Activé par IAM Oui hs-crypto
Service des groupes d'accès IAM Gestion des comptes Non iam-groups
Service de gestion des accès IAM Gestion des comptes Non iam-access-management
IAM Identity Service Gestion des comptes Non iam-identity
Gestion des utilisateurs IAM Gestion des comptes Non user-management
IBM Cloud® Virtual Private Cloud Activé par IAM Non is
Key Protect Activé par IAM Non kms
Kubernetes Service / Red Hat OpenShift Activé par IAM Oui containers-kubernetes
MQ Activé par IAM Oui mqcloud
Messages for RabbitMQ Activé par IAM Oui messages-for-rabbitmq
Schematics Activé par IAM Non schematics
Secrets Manager Activé par IAM Non secrets-manager
IBM Cloud Security and Compliance Center Workload Protection Activé par IAM Non sysdig-secure
Service de balisage Gestion des comptes Non ghost-tags
Transit Gateway Activé par IAM Non transit
Watsonx.data Activé par IAM Non lakehouse

Les restrictions basées sur le contexte qui sont définies pour les services IAM ne s'appliquent pas aux actions de la plate-forme telles que la création ou la suppression. Pour plus d'informations, voir Rôles et actions IAM.

Consultez régulièrement ce site pour connaître les services ajoutés au fur et à mesure que d'autres services intègrent les restrictions basées sur le contexte.

Limites de restrictions basées sur le contexte

Le tableau suivant répertorie les limites maximales pour les restrictions basées sur le contexte. Ces limites s'appliquent à tout utilisateur qui peut créer des règles de restriction basées sur le contexte ou des zones réseau. Pour plus d'informations, voir Quelles sont les restrictions liées au contexte?.

Si vous avez un cas d'utilisation spécifique qui requiert une limite étendue, vous pouvez demander une augmentation. Pour plus d'informations, voir Augmentation des limites de compte.

Limites de restrictions basées sur le contexte
Ressource Max
Règles de restriction basée sur le contexte par compte [1] 4020
Zones réseau par compte 500
Adresses IP par zone réseau 1000
Adresses IP par règle 1000

Une règle de restriction basée sur le contexte qui inclut plusieurs zones réseau peut avoir un maximum de 1000 adresses IP indirectement associées. Par exemple, dans une règle qui comprend deux zones de réseau, l'une des zones peut avoir 800 adresses IP et l'autre un maximum de 200 adresses IP.

Si vous souhaitez vérifier le nombre de règles dans votre compte, voir Affichage du nombre total de règles par compte. Pour demander une augmentation de la limite du compte, voir Demande d'augmentation de la limite partagée des polices et des règles.

Cohérence à terme

Les restrictions basées sur le contexte suivent un modèle finalement cohérent qui est commun à de nombreux services natifs de l'informatique en nuage. Par conséquent, les restrictions contextuelles demeurent hautement disponibles et performantes dans plusieurs régions du monde. Les modifications apportées aux règles de restrictions contextuelles et aux zones réseau sont enregistrées et propagées dans le monde entier. Les modifications d'accès peuvent ne pas prendre effet tant que le processus de propagation n'est pas terminé, généralement en quelques minutes.


  1. Les politiques IAM et les règles de restriction basées sur le contexte partagent une limite combinée de 4020. ↩︎