Tous les produits
Search
Centre de documentation

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

Dernière mise à jour :Aug 10, 2026

Par défaut, votre compte Alibaba Cloud dispose de toutes les autorisations nécessaires pour gérer vos applications OpenSearch. Utilisez Resource Access Management (RAM) pour permettre aux utilisateurs RAM d'accéder à vos ressources OpenSearch et de les gérer.

Remarque

Remarque :

  • La nouvelle console propose des autorisations RAM plus granulaires que la version précédente. Pour utiliser des utilisateurs RAM avec la nouvelle console, créez de nouvelles politiques d'autorisation RAM.

  • Les fonctionnalités des utilisateurs RAM sont prises en charge uniquement par les versions 3.0 et ultérieures de l'API et du SDK, et non par la version V2.

  • Les produits de sources de données tierces doivent respecter le modèle d'autorisation RAM. Accordez à l'utilisateur RAM les autorisations requises dans chaque produit tiers. Vous ne pouvez pas accorder à un utilisateur RAM des autorisations pour les services ODPS, car une limitation de la plateforme l'empêche de lister tous les projets du compte principal, même après autorisation. Par conséquent, l'utilisateur RAM ne peut pas référencer le projet comme source de données dans OpenSearch. Connectez-vous d'abord à ODPS avec votre compte principal, puis utilisez un utilisateur RAM pour travailler avec l'application OpenSearch.

  • Pour configurer une source de données RDS dans la console via un utilisateur RAM, accordez également à cet utilisateur les autorisations pour la source de données. Sinon, la connexion au service RDS échouera. Pour plus d'informations, consultez la section relative à l'autorisation d'accès RDS ci-dessous.

  • *Les actions commençant par Search (principalement SearchApp et SearchSuggest) ne prennent pas actuellement en charge l'authentification conditionnelle basée sur les adresses IP. La configuration de telles conditions entraînera un échec de l'authentification.*

Prise d'effet des autorisations

Les autorisations accordées à un utilisateur RAM prennent effet environ 5 minutes après la création ou la mise à jour de la politique d'autorisation.

Ensembles d'autorisations minimales courants

Un utilisateur RAM a besoin d'une combinaison d'autorisations pour accéder à la console OpenSearch. Les sections suivantes répertorient les ensembles d'autorisations minimales courants, notamment les autorisations permettant de rechercher une application, lister les applications, afficher les détails des applications, accéder à la surveillance et aux alertes, et autoriser l'accès RDS.

Autorisations de recherche minimales

Pour tester la récupération de documents en recherchant une application via le SDK, l'utilisateur RAM doit disposer d'autorisations de recherche pour cette application. L'exemple suivant accorde des autorisations 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 de liste d'applications

Un utilisateur RAM a besoin des autorisations suivantes 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 de détail des applications

Les fonctionnalités de surveillance et d'alerte étant intégrées à la page des détails de l'application, un utilisateur RAM doit disposer de l'autorisation d'afficher ces détails. L'exemple suivant accorde des autorisations pour l'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 de surveillance et d'alerte

La fonctionnalité de surveillance et d'alerte repose sur CloudMonitor. Recherchez AliyunCloudMonitorReadOnlyAccess dans les modèles de politiques RAM pour trouver la politique en lecture seule correspondante.

{
    "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 à une source de données RDS implique les API tables et fields. La connexion à RDS nécessite l'ajout d'une adresse IP à la liste d'autorisation ; vous devez donc également accorder à l'utilisateur RAM l'autorisation de modifier cette liste. Sans cette autorisation, la connexion à RDS échouera avec une erreur indiquant l'impossibilité de définir la liste d'autorisation d'adresses IP RDS. Configurez les autorisations RDS dans la console RAM. Sur la page Vue d'ensemble, créez une politique d'autorisation personnalisée ou attribuez un rôle, puis attachez la politique à l'utilisateur RAM sur la page Gestion des utilisateurs (consultez la documentation sur l'autorisation RDS). La politique suivante présente les autorisations minimales requises pour qu'OpenSearch accède à RDS :

  • Consultez Signification des variables pour comprendre les variables, telles que $regionid, $accountid et $dbinstanceid, dans l'élément Resource.

  • Vous pouvez également utiliser le caractère générique * pour les valeurs de paramètre dans l'élément 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'API d'exécution

Pour appeler les API de recherche, d'envoi de données et de suggestions, ajoutez 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"
   }

Exemples d'autorisation

Un utilisateur RAM a généralement besoin d'une combinaison d'autorisations Action pour effectuer des tâches dans la console. Vous pouvez accorder des autorisations larges telles que Describe* et List*, ou créer un ensemble plus spécifique adapté à vos besoins.

Exemple 1

Accordez à un utilisateur RAM du compte principal 1234 toutes les autorisations pour toutes les applications dans toutes les régions. Après avoir créé cette politique, attachez-la à l'utilisateur RAM dans la console RAM ou via le SDK RAM. 1. Créez une politique.

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

2. Attachez la politique à l'utilisateur RAM spécifié.

Exemple 2

Accordez à un utilisateur RAM du compte principal 1234 toutes les autorisations pour toutes les applications dans la région Chine (Hangzhou) (cn-hangzhou). Après avoir créé cette politique, attachez-la à l'utilisateur RAM dans la console RAM ou via le SDK RAM.

1. Créez une politique.

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

2. Attachez la politique à l'utilisateur RAM spécifié.

Remarque

Remarque :

  • Si vous utilisez le caractère générique (*) dans le format de ressource, il correspond à tous les types de ressources.

  • Si vous spécifiez un nom d'application particulier dans le format de ressource, une Action de opensearch:* accorde des autorisations uniquement pour les actions liées à cette application. Cela n'inclut pas les autorisations pour opensearch:ListApp ou opensearch:CreateApp.

  • Chaque Action doit correspondre au format de ressource correct. Par exemple, opensearch:ListApp et opensearch:CreateApp s'appliquent à toutes les applications et nécessitent que la ressource soit spécifiée comme *. Notez que ces deux actions utilisent un format de ressource différent des autres actions.

  • Si votre politique d'autorisation inclut uniquement des ressources pour des applications spécifiques, mais que vous avez également besoin des autorisations opensearch:ListApp et opensearch:CreateApp, créez une politique supplémentaire incluant ces deux actions avec le format de ressource défini sur * et attachez-la à l'utilisateur RAM.

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 s'afficher. Cliquez sur Détails de l'erreur dans la boîte de dialogue pour afficher les informations de la requête, y compris les champs REQUEST_ID, METHOD, URL, PARAMS, BODY et RESPONSE. Pour résoudre le problème :

  • Dans le champ PARAMS des détails de l'erreur, identifiez l'action POP demandée, par exemple ListAppGroups. Si l'action possède un suffixe DryRun, tel que CreateAppDryRun, l'action correspondante est celle sans le suffixe (CreateApp).

  • Dans la liste des règles d'autorisation des applications, trouvez l'action RAM et le modèle de ressource correspondants pour ListAppGroups. (Remarque : l'action RAM peut différer de l'action POP.)

  • Créez une politique d'autorisation avec les autorisations requises et attachez-la à l'utilisateur RAM.