Tous les produits
Search
Centre de documentation

OpenSearch:Règles de contrôle d'accès

Dernière mise à jour :Aug 10, 2026

Les applications OpenSearch que vous créez avec votre compte Alibaba Cloud appartiennent à ce compte. Par défaut, votre compte dispose de toutes les autorisations nécessaires pour gérer ces ressources. Utilisez le service Alibaba Cloud Resource Access Management (RAM) pour autoriser les utilisateurs RAM à accéder à vos ressources OpenSearch et à les gérer.

Remarque

Remarque :

  • La nouvelle console propose des autorisations RAM plus granulaires que l'ancienne. Si vous utilisez des utilisateurs RAM dans la nouvelle console, vous devez créer de nouvelles stratégies d'autorisation RAM.

  • La fonctionnalité d'utilisateur RAM n'est prise en charge que par les versions V3 ou ultérieures de l'API et du SDK.

  • Les produits de source de données tiers doivent utiliser le système d'autorisations RAM. Accordez les autorisations correspondantes aux utilisateurs RAM au sein du produit tiers. L'attribution d'autorisations pour le service ODPS aux utilisateurs RAM n'est pas prise en charge. En effet, une fois qu'un compte Alibaba Cloud a autorisé un projet pour un utilisateur RAM, ce dernier ne peut pas lister tous les projets du compte en raison des limitations du cloud. L'utilisateur RAM ne peut donc pas utiliser le projet comme source de données pour OpenSearch. Nous vous recommandons de vous connecter d'abord à ODPS avec votre compte Alibaba Cloud, puis d'utiliser un utilisateur RAM pour gérer les applications OpenSearch.

  • Lorsque vous configurez une source de données RDS dans la console avec un utilisateur RAM, accordez également à cet utilisateur les autorisations requises pour la source de données. Sinon, la connexion au service RDS échouera. Pour plus d'informations, consultez la section sur l'autorisation d'accès RDS.

  • Les actions commençant par Search, telles que SearchApp et SearchSuggest, ne prennent pas actuellement en charge les vérifications de condition basées sur l'IP pour l'autorisation. L'utilisation de conditions IP avec ces actions provoquera des erreurs.

Délai de prise d'effet

Les modifications apportées aux autorisations d'un utilisateur RAM prennent effet après un délai de 5 minutes.

Ensemble minimal d'autorisations communes

Un utilisateur RAM a besoin d'un ensemble minimal d'autorisations communes pour se connecter à la console OpenSearch. Cela inclut généralement les autorisations pour rechercher dans une application, afficher la liste des applications, consulter les détails d'une application, accéder à la surveillance et aux alertes, ainsi qu'autoriser l'accès RDS. Les exemples suivants sont fournis à titre indicatif.

Autorisations minimales pour rechercher dans une application

Pour tester la fonctionnalité de récupération de documents en envoyant des requêtes de recherche à une application via un SDK, vous avez besoin d'autorisations pour rechercher dans cette application. L'exemple suivant présente une stratégie pour un test de recherche sur une application nommée app_schema_demo.

{
    "Statement": [
    {
            "Effect": "Allow",
            "Action": "opensearch:SearchApp",
            "Resource": "acs:opensearch:*:*:apps/app_schema_demo"
        }
    ],
    "Version": "1"
}

Autorisations pour afficher la liste des applications

Après la connexion d'un utilisateur RAM, celui-ci a besoin d'une autorisation pour afficher la liste des applications dans la console.

{
    "Statement": [
        {
            "Action": [
                "opensearch:ListAppGroup",
                "opensearch:DescribeAppStatistics",
                "opensearch:ListAppGroupErrors"
            ],
            "Effect": "Allow",
            "Resource": "acs:opensearch:*:*:app-groups/*"
        }
    ],
    "Version": "1"
}

Autorisations pour afficher les détails de l'application

La fonctionnalité de surveillance et d'alertes est intégrée à la page des détails de l'application. Par conséquent, l'utilisateur RAM nécessite une autorisation pour afficher les détails de l'application. L'exemple suivant montre la stratégie permettant d'afficher les détails d'une application nommée app_schema_demo.

{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "opensearch:DescribeAppGroup",
                "opensearch:ListApp",
                "opensearch:DescribeApp"
            ],
            "Resource": "acs:opensearch:*:*:app-groups/app_schema_demo"
        },
        {
            "Action": "opensearch:ListUserAnalyzers",
            "Effect": "Allow",
            "Resource": "acs:opensearch:*:*:user-analyzers/*"
        }
    ],
    "Version": "1"
}

Autorisations pour la surveillance et les alertes

La fonctionnalité de surveillance et d'alertes utilise le service Alibaba Cloud CloudMonitor. Recherchez AliyunCloudMonitorReadOnlyAccess dans les modèles de stratégie RAM pour afficher la stratégie en lecture seule pour CloudMonitor.

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "cms:Get*",
                "cms:List*",
                "cms:Query*",
                "cms:BatchQuery*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": "opensearch:DescribeApp",
            "Resource": "acs:opensearch:*:*:app-groups/*",
            "Effect": "Allow"
        }
    ]
}

Autorisation d'accès RDS

L'accès à RDS implique deux opérations API : tables et champs. Étant donné que l'accès à RDS nécessite l'ajout de son adresse IP à une liste d'autorisation, vous devez également accorder à l'utilisateur RAM l'autorisation de configurer la liste d'autorisation IP. (Sans cette autorisation, la connexion à RDS échouera avec une erreur indiquant que la liste d'autorisation IP n'a pas pu être définie). Configurez l'autorisation RDS directement dans la console RAM. Sur la page de présentation, créez une stratégie d'autorisation personnalisée ou un rôle, puis accordez des autorisations à l'utilisateur RAM sur la page de gestion des utilisateurs (référence d'autorisation RDS). L'ensemble minimal d'autorisations pour qu'OpenSearch utilise RDS est le suivant :

  • Pour plus d'informations, consultez Signification des variables dans Resource (par exemple, $regionid, $accountid et $dbinstanceid).

  • Vous pouvez également utiliser le caractère générique * pour les valeurs de paramètre dans Resource.

    {
      "Version": "1",
      "Statement": [
          {
              "Action": "rds:DescribeDBInstanceAttribute",
              "Resource": "acs:rds:$regionid:$accountid:dbinstance/$dbinstanceid",
              "Effect": "Allow"
          },
          {
              "Action": "rds:ModifySecurityIps",
              "Resource": "acs:rds:$regionid:$accountid:dbinstance/$dbinstanceid",
              "Effect": "Allow"
          },
          {
              "Action": "rds:DescribeDBInstanceIPArrayList",
              "Resource": "acs:rds:$regionid:$accountid:dbinstance/$dbinstanceid",
              "Effect": "Allow"
          },
          {
              "Action": "rds:DescribeDBInstanceNetInfoForChannel",
              "Resource": "acs:rds:$regionid:$accountid:dbinstance/$dbinstanceid",
              "Effect": "Allow"
          }
      ]
    }

Autorisations d'accès API

Pour rechercher, pousser des données ou accéder aux modèles de suggestion via les API, accordez les autorisations suivantes.

{
	"Statement": [
	 {
	  "Effect": "Allow",
	  "Action": [
	   "opensearch:PushDoc",
	   "opensearch:SearchApp"
	  ],
	  "Resource": [
	   "acs:opensearch:$regionId:*:apps/$appGroupName",
	   "acs:opensearch:$regionId:*:app-groups/$appGroupName"
	  ]
	 },
	 {
	  "Action": "opensearch:SearchSuggest",
	  "Effect": "Allow",
	  "Resource": "acs:opensearch:$regionId:*:suggestions/$suggestionIdentity"
	 }
	],
	"Version": "1"
   }

Référence d'autorisation

Une fois que vous avez déterminé quelles applications un utilisateur RAM doit gérer, une combinaison de plusieurs autorisations action est souvent requise pour se connecter à la console. Accordez à l'utilisateur RAM les autorisations Describe* et List*, ou attribuez une combinaison spécifique d'autorisations en fonction de votre cas d'utilisation.

Référence (1)

Cette stratégie accorde à un utilisateur RAM du compte Alibaba Cloud 1234 l'intégralité des autorisations pour gérer toutes les applications dans toutes les régions. Après avoir créé cette stratégie dans la console du compte Alibaba Cloud, attribuez-la à l'utilisateur RAM dans la console RAM ou via le SDK RAM.

{
  "Statement": [
    {
      "Action": "opensearch:*",
      "Effect": "Allow",
      "Resource": "acs:opensearch:*:1234:apps/*"
    }
  ],
  "Version": "1"
}

1. Créez une stratégie.

2. Accordez cette stratégie à l'utilisateur RAM spécifié.

Référence (2)

Cette stratégie accorde à un utilisateur RAM du compte Alibaba Cloud 1234 l'intégralité des autorisations pour gérer toutes les applications dans la région Chine (Hangzhou). Après avoir créé cette stratégie dans la console du compte Alibaba Cloud, attribuez-la à l'utilisateur RAM dans la console RAM ou via le SDK RAM.

1. Créez une stratégie.

{
  "Statement": [
    {
      "Action": "opensearch:*",
      "Effect": "Allow",
      "Resource": "acs:opensearch:cn-hangzhou:1234:apps/*"
    }
  ],
  "Version": "1"
}

2. Accordez cette stratégie à l'utilisateur RAM spécifié.

Remarque

Remarque :

  • Dans le format de ressource, l'utilisation du caractère générique * correspond à tous les types de ressources.

  • Si vous spécifiez un nom d'application dans le format de ressource, même si vous spécifiez opensearch:* dans l'Action de la stratégie, celle-ci n'inclura que les actions pour le type de ressource d'application spécifié et n'inclura pas opensearch:ListApp ni opensearch:CreateApp.

  • Chaque Action doit correspondre au format de resource dans la même instruction. Par exemple, opensearch:ListApp et opensearch:CreateApp s'appliquent à toutes les applications et doivent utiliser * pour la ressource. Notez que ces deux actions nécessitent un format de ressource différent des autres actions.

  • Si votre stratégie d'autorisation accorde des permissions uniquement à une application spécifique, mais que vous avez également besoin des autorisations opensearch:ListApp et opensearch:CreateApp, vous devez créer une autre stratégie. Cette nouvelle stratégie doit inclure ces deux actions avec le format de resource défini sur *. Ensuite, attachez les deux stratégies à l'utilisateur RAM spécifié.

Dépannage des problèmes d'authentification de la console

Lorsqu'un utilisateur RAM accède à la console, un message « Échec de l'authentification de l'utilisateur RAM » peut apparaître. Si cette erreur se produit, cliquez d'abord sur le lien Error Details. Ensuite, dans la section PARAMS, repérez le champ action. Sa valeur correspond à l'action POP demandée. Suivez ces étapes :

  • Identifiez l'action POP demandée, par exemple ListAppGroups. Si l'action possède un suffixe DryRun, l'action correspondante est le nom sans ce suffixe. Par exemple, CreateAppDryRun correspond à l'action CreateApp.

  • Accédez à la liste des règles d'autorisation d'application pour trouver l'action RAM et le modèle de ressource correspondants pour ListAppGroups. (Remarque : l'

    action RAM peut ne pas être identique à l'action POP.)

  • Enfin, créez une stratégie d'autorisation qui accorde les autorisations requises à l'utilisateur RAM.