View a markdown version of this page

Restreindre l'accès réseau aux applications d' OpenSearch interface utilisateur - OpenSearch Service Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Restreindre l'accès réseau aux applications d' OpenSearch interface utilisateur

Par défaut, une application d' OpenSearch interface utilisateur expose un point de terminaison public qui accepte les demandes provenant de n'importe quel emplacement réseau. Vos utilisateurs sont toujours soumis à l'authentification (IAM ou AWS IAM Identity Center) et à l'autorisation, mais n'importe qui sur Internet public peut accéder à l'application et à ses API.

Si vous souhaitez que l'accès à l' OpenSearch interface utilisateur provienne uniquement d'un réseau approuvé, vous pouvez l'appliquer à l'aide des outils de politique Gestion des identités et des accès AWS (IAM) que vous utilisez déjà. Par exemple, vous pouvez exiger que l'accès arrive uniquement via une interface VPC endpoint (AWS PrivateLink) ou uniquement à partir d'une plage d'adresses IP d'entreprise. Étant donné que l' OpenSearch interface utilisateur évalue l'accès à l'aide de clés de condition de demande IAM standard, vous utilisez le même langage de politique et les mêmes clés de condition (aws:SourceVpceaws:SourceVpc, etaws:SourceIp) que vous utilisez déjà ailleurs dans. AWS Vous n'avez pas besoin d'apprendre un format de politique spécifique à un service.

Vous pouvez restreindre l'accès à trois niveaux, du plus ciblé au plus large :

  • Une politique basée sur l'identité restreint un principal spécifique (utilisateur ou rôle).

  • Une politique de point de terminaison VPC limite les applications auxquelles les utilisateurs peuvent accéder via un point de terminaison spécifique.

  • Une politique de contrôle des ressources (RCP) applique l'accès de manière uniforme à tous les comptes de votre organisation et peut bloquer les utilisateurs hors réseau avant qu'ils ne s'authentifient.

Cette rubrique décrit la manière dont l' OpenSearch interface utilisateur évalue l'accès au réseau et décrit la tâche la plus courante, à savoir le blocage de la page de connexion pour les utilisateurs ne faisant pas partie d'un réseau approuvé. Pour obtenir des exemples de politiques et des AWS CLI commandes pour chacun des trois types de contrôle, consultezRéférence de configuration du contrôle d'accès réseau pour les applications d' OpenSearch interface utilisateur. Pour plus d'informations sur la création de la connexion privée elle-même, consultezGestion de l'accès à l' OpenSearch interface utilisateur depuis un point de terminaison VPC.

Comment l' OpenSearch interface utilisateur évalue l'accès au réseau

OpenSearch L'interface utilisateur évalue l'accès en deux étapes, et chaque étape autorise une action IAM distincte sur la ressource de l'application.

  • opensearch:ViewLoginPage. Autorisé avant qu'un utilisateur ne se connecte, lorsque le navigateur demande pour la première fois la page de connexion de l'application. L'utilisateur n'a pas encore AWS d'informations d'identification, cette demande est donc anonyme. Étant donné que l' OpenSearch interface utilisateur évalue cette action avant l'authentification, une politique de contrôle des ressources qui la refuse pour les demandes hors réseau empêche les utilisateurs hors réseau d'accéder à la page de connexion. Ce refus s'applique de manière uniforme à la fois à IAM et AWS IAM Identity Center aux utilisateurs.

  • opensearch:ApplicationAccessAll. Autorisé après la connexion d'un utilisateur, pour accéder à l'application et à ses API. Vous pouvez restreindre cette action à l'aide d'une politique basée sur l'identité, d'une stratégie de point de terminaison VPC ou d'un RCP.

OpenSearch L'interface utilisateur autorise les deux actions sur l'ARN de la ressource de l'application :

arn:aws:opensearch:region:account-id:application/application-id

Lorsqu'une demande arrive, l' OpenSearch interface utilisateur remplit les clés de condition de demande IAM suivantes à partir des métadonnées réseau approuvées de la connexion, afin que vous puissiez les référencer dans les conditions de votre politique :

  • aws:SourceVpce. L'ID du point de terminaison VPC d'interface par lequel la demande est arrivée, le cas échéant.

  • aws:SourceVpc. L'ID du VPC par lequel la demande est arrivée, le cas échéant.

  • aws:SourceIp. Adresse IP source publique de la demande, pour les demandes qui n'arrivent pas via un point de terminaison VPC.

Conditions préalables

  • Pour restreindre un principal spécifique, vous devez être autorisé à gérer les politiques IAM pour les utilisateurs ou les rôles qui accèdent à l'application. Pour restreindre un point de terminaison, vous devez être autorisé à gérer la politique du point de terminaison VPC utilisé pour l'atteindre.

  • Pour appliquer l'accès à l'ensemble de votre organisation à l'aide d'une politique de contrôle des ressources, votre compte doit être membre d'une AWS organisation dont toutes les fonctionnalités sont activées et vous devez être autorisé à gérer les politiques de contrôle des ressources. Pour plus d'informations, consultez les politiques de contrôle des ressources (RCP) dans le Guide de l'utilisateur AWS des organisations.

    Note

    Une politique de contrôle des ressources n'a aucun effet sur les ressources du compte de gestion de l'organisation. Pour restreindre l'accès réseau à une application d' OpenSearch interface utilisateur dotée d'un RCP, l'application doit se trouver dans un compte membre.

  • Pour restreindre l'accès à un point de terminaison VPC, créez d'abord un point de terminaison VPC d'interface pour OpenSearch l'interface utilisateur. Pour de plus amples informations, veuillez consulter Gestion de l'accès à l' OpenSearch interface utilisateur depuis un point de terminaison VPC.

  • Pour exécuter les exemples AWS Command Line Interface (AWS CLI) de cette rubrique, installez et configurez le AWS CLI. Pour plus d’informations, consultez Mise en route avec le AWS Command Line Interface dans le AWS Command Line Interface Guide de l’utilisateur.

Blocage de l'accès à la page de connexion depuis l'extérieur d'un réseau approuvé

La procédure suivante bloque la page de connexion pour les utilisateurs extérieurs à votre réseau approuvé. Elle s'applique aux applications qui utilisent l'IAM ou AWS IAM Identity Center l'authentification, car l' OpenSearch interface utilisateur autorise opensearch:ViewLoginPage avant qu'un utilisateur ne se connecte, lorsque la demande est toujours anonyme.

Pour bloquer l'accès à la page de connexion depuis l'extérieur d'un réseau approuvé
  1. Vérifiez que votre application se trouve dans un AWS compte membre de votre organisation et que les politiques de contrôle des ressources sont activées pour votre organisation. Pour plus d'informations, consultez la section Activation d'un type de politique dans le Guide de l'utilisateur AWS des organisations.

  2. Déterminez le chemin réseau approuvé par lequel vos utilisateurs se connectent et choisissez la clé de condition correspondante. aws:SourceVpceÀ utiliser pour un point de terminaison VPC d'interface, aws:SourceVpc pour un VPC ou aws:SourceIp pour une plage d'adresses IP publiques, telle que la plage de sortie de votre réseau d'entreprise.

  3. Enregistrez une politique de contrôle des ressources qui refuse opensearch:ViewLoginPage et opensearch:ApplicationAccessAll à moins que la demande ne corresponde à votre réseau approuvé à un fichier local nommépolicy.json. L'exemple suivant approuve un point de terminaison VPC à interface unique. Pour les autres clés de condition, voirRéférence de configuration du contrôle d'accès réseau pour les applications d' OpenSearch interface utilisateur. Remplacez le placeholder value par votre propre ID de point de terminaison VPC.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideVpce", "Effect": "Deny", "Principal": "*", "Action": [ "opensearch:ViewLoginPage", "opensearch:ApplicationAccessAll" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpce": "vpc-endpoint-id" } } } ] }
  4. Créez la politique de contrôle des ressources. Exécutez la commande suivante depuis le compte de gestion de votre organisation ou depuis un compte d'administrateur délégué.

    aws organizations create-policy \ --name DenyOpenSearchUIOffNetwork \ --description "Denies OpenSearch UI access from outside the approved network" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json

    La réponse inclut l'ID de politique, qui commence parp-. Notez cette valeur pour l'étape suivante.

  5. Associez la politique à la racine de l'organisation, à une unité organisationnelle ou au compte qui contient l'application. Pour limiter la portée de votre première modification, associez-la à un seul compte et étendez-la après avoir vérifié le comportement.

    aws organizations attach-policy \ --policy-id p-example12345 \ --target-id 111122223333
  6. Attendez jusqu'à une minute pour que la politique entre en vigueur.

  7. Depuis l'extérieur du réseau approuvé, demandez la page de connexion de l'application à l'adressehttps://application-endpoint/_login/. Vous recevez une 403 forbidden réponse au lieu de la page de connexion.

    Note

    Demandez le /_login/ chemin pour confirmer que la politique refuse la page de connexion. Si vous ouvrez l'URL de l'application sans chemin, il est possible que votre navigateur soit redirigé pour vous connecter avant de demander la page de connexion. Dans ce cas, opensearch:ApplicationAccessAll refuse l'accès une fois que vous êtes connecté.

  8. Depuis le réseau approuvé, demandez la même URL. La page de connexion s'affiche et vous pouvez vous connecter normalement.

Note

Pour les applications qui utilisent AWS IAM Identity Center l'authentification, limitez le chemin réseau par lequel les utilisateurs se connectent. OpenSearch L'interface utilisateur effectue une évaluation opensearch:ViewLoginPage avant l'authentification pour chaque application. Le fait de la refuser empêche les utilisateurs hors réseau de se connecter. Pour limiter également les demandes émanant des utilisateurs d'IAM Identity Center qui possèdent déjà une session valide, demandez à ces utilisateurs d'accéder à l'application via un point de terminaison VPC.

Considérations

Lorsque vous configurez les contrôles d'accès réseau, tenez compte des points suivants :

  • Choisir une commande. Utilisez une politique basée sur l'identité pour restreindre un principal spécifique, une politique de point de terminaison VPC pour contrôler les applications auxquelles les utilisateurs peuvent accéder via un point de terminaison, et une politique de contrôle des ressources pour appliquer l'accès à l'ensemble de l'organisation. Vous pouvez les combiner pour une défense en profondeur.

  • Pre-authentication par rapport à un accès authentifié. Seulopensearch:ViewLoginPage, appliqué par un RCP, bloque les utilisateurs hors réseau avant qu'ils ne se connectent et s'applique de manière uniforme à la fois à IAM et aux utilisateurs. AWS IAM Identity Center Les conditions s'appliquaient uniquement pour opensearch:ApplicationAccessAll restreindre l'endroit depuis lequel un principal authentifié peut accéder à l'application.

  • Évaluation des politiques. Un explicite l'emporte Deny toujours sur unAllow. Une politique de contrôle des ressources définit les autorisations maximales disponibles pour les ressources de votre organisation, et une politique explicite Deny dans un RCP ne peut pas être remplacée par une politique basée sur l'identité. Testez votre politique par rapport à une application hors production avant de l'appliquer à grande échelle.

  • Surveillance. Utilisez AWS CloudTrail un analyseur d'accès IAM pour examiner l'effet des conditions de votre réseau sur l'accès.