Tous les produits
Search
Centre de documentation

Resource Access Management:Create a custom policy

Dernière mise à jour :Aug 25, 2026

Créez une stratégie personnalisée pour mettre en œuvre une gestion fine des autorisations.

Méthodes de création

  • Utilisation de l'éditeur visuel

    RAM propose un éditeur visuel WYSIWYG. Générez une stratégie personnalisée en sélectionnant un effet, un service, une action, une ressource et une condition. Une fonctionnalité intégrée de validation intelligente garantit la validité et l'efficacité de votre stratégie. Cette méthode est simple d'utilisation.

  • Utilisation de l'éditeur de script

    RAM met à disposition un éditeur de script JSON. Rédigez la stratégie personnalisée en respectant la syntaxe et la structure des stratégies. Cette approche offre une plus grande flexibilité et constitue un excellent choix si vous maîtrisez la syntaxe des stratégies.

  • Importation d'une stratégie

    • Importer un modèle de stratégie : RAM fournit des modèles de stratégie pour des scénarios courants, tels que ceux destinés aux administrateurs système, au personnel financier et aux administrateurs réseau. Importez le modèle approprié et apportez quelques modifications mineures pour créer rapidement une stratégie personnalisée.

    • Importer une stratégie système : importez une stratégie système et adaptez-la à vos besoins métier. Il s'agit d'un moyen pratique et rapide de créer une stratégie personnalisée à partir d'un modèle standardisé.

Utilisation de l'éditeur visuel

  1. Connectez-vous à la console RAM en tant qu'administrateur RAM.

  2. Dans le volet de navigation de gauche, choisissez Permissions > Policies.

  3. Sur la page Policies , cliquez sur Create Policy.

  4. Sur la page Create Policy , cliquez sur l'onglet Visual Editor .

    L'éditeur visuel affiche un formulaire d'instruction comprenant les champs suivants : Effect (obligatoire, peut être défini sur Allow ou Deny, valeur par défaut : Allow), Service (obligatoire), Action (obligatoire), Resource (obligatoire) et Condition (facultatif). Sélectionnez un service avant de configurer Action, Resource et Condition. En bas de la page, cliquez sur Add Statement pour ajouter d'autres instructions.

  5. Configurez la stratégie.

    Pour en savoir plus sur les éléments de base d'une stratégie, consultez la rubrique Éléments de base d'une stratégie.

    1. Dans la section Effect , sélectionnez Allow ou Deny.

    2. Dans la section Service , sélectionnez un service.

      Remarque

      La console affiche les services compatibles avec l'éditeur visuel.

    3. Dans la section Action , sélectionnez All action(s) ou Select action(s).

      Le système liste automatiquement les actions disponibles en fonction du service sélectionné à l'étape précédente. Si vous sélectionnez Select action(s) , choisissez ensuite les actions spécifiques.

    4. Dans la section Resources , sélectionnez All Resources ou Specified resource(s).

      Le système liste automatiquement les types de ressources disponibles en fonction des actions sélectionnées. Si vous sélectionnez Specified resource(s) , cliquez sur Add Resource pour spécifier les ARN. Utilisez la fonctionnalité Match All pour sélectionner rapidement toutes les ressources d'un élément de configuration.

      Remarque

      L'interface utilisateur indique les ARN des actions associées comme étant Required . Spécifiez ces ARN pour garantir le bon fonctionnement de la stratégie.

    5. Dans la section Condition , cliquez sur Add Condition pour configurer les conditions.

      Les conditions incluent les conditions communes Alibaba Cloud et les conditions spécifiques au service. Le système liste automatiquement les conditions disponibles en fonction du service et des actions configurés. Sélectionnez une clé de condition et configurez sa valeur.

    6. Cliquez sur Add Statement et répétez les étapes précédentes pour configurer plusieurs instructions.

  6. En haut de la page, cliquez sur Optimize , puis sur Perform pour optimiser la stratégie de manière avancée.

    La fonctionnalité d'optimisation avancée des stratégies effectue les tâches suivantes :

    • Sépare les ressources ou les conditions pour les actions incompatibles.

    • Réduit la portée des ressources.

    • Supprime les instructions en double ou fusionne les instructions.

  7. Sur la page Create Policy , cliquez sur OK.

  8. Dans la boîte de dialogue Create Policy , saisissez un policy name et une Description , puis cliquez sur OK.

Utilisation de l'éditeur de script

  1. Connectez-vous à la console RAM en tant qu'administrateur RAM.

  2. Dans le volet de navigation de gauche, choisissez Permissions > Policies.

  3. Sur la page Policies , cliquez sur Create Policy.

  4. Sur la page Create Policy , cliquez sur l'onglet JSON Editor .

    La page affiche un éditeur JSON. Le modèle de stratégie par défaut comprend un élément Version (défini sur "1") et un tableau Statement . Chaque instruction inclut les éléments Effect (par défaut "Allow"), Action , Resource et Condition . Renseignez les éléments Action et Resource .

  5. Saisissez le contenu de la stratégie.

    Pour en savoir plus sur la syntaxe et la structure des stratégies, consultez la rubrique Syntaxe et structure des stratégies.

  6. En haut de la page, cliquez sur Optimize , puis sur Perform pour optimiser la stratégie de manière avancée.

    La fonctionnalité d'optimisation avancée des stratégies effectue les tâches suivantes :

    • Sépare les ressources ou les conditions pour les actions incompatibles.

    • Réduit la portée des ressources.

    • Supprime les instructions en double ou fusionne les instructions.

  7. Sur la page Create Policy , cliquez sur OK.

  8. Dans la boîte de dialogue Create Policy , saisissez un policy name et une Description , puis cliquez sur OK.

Exemples courants de stratégies personnalisées

Les exemples suivants illustrent la configuration de stratégies personnalisées pour des scénarios d'autorisation courants à l'aide de l'éditeur de script.

Autorisation des opérations au niveau du compte

Les opérations au niveau du compte, telles que la création d'utilisateurs RAM et de clés AccessKey, nécessitent de définir l'élément Resource sur "*" et d'établir l'étendue d'autorisation sur Entire Alibaba Cloud Account . Ces opérations ne peuvent pas être restreintes à un groupe de ressources spécifique.

L'exemple suivant accorde les autorisations nécessaires pour créer des utilisateurs RAM et des clés AccessKey :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateUser",
        "ram:CreateAccessKey"
      ],
      "Resource": "*"
    }
  ]
}
Important

Lorsque vous attachez cette stratégie à un utilisateur RAM, vous devez définir l'étendue d'autorisation sur Entire Alibaba Cloud Account . Si vous limitez l'étendue à un groupe de ressources spécifique, la stratégie ne prendra pas effet pour les opérations au niveau du compte.

Autoriser les utilisateurs RAM à modifier leur propre mot de passe

L'exemple suivant accorde à un utilisateur RAM les autorisations minimales requises pour modifier son propre mot de passe de connexion :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ram:ChangePassword",
      "Resource": "*"
    }
  ]
}
Important

N'accordez pas AliyunRAMFullAccess dans ce cas. AliyunRAMFullAccess fournit des autorisations administratives complètes sur toutes les ressources RAM, ce qui dépasse largement le principe du moindre privilège requis pour la modification des mots de passe.

Accès en lecture seule à des ressources spécifiques

L'exemple suivant accorde un accès en lecture seule à une instance ECS spécifique. Remplacez i-xxx par votre ID d'instance réel.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:Describe*",
      "Resource": "acs:ecs:*:*:instance/i-xxx"
    }
  ]
}
Important

Dans le format ARN, une barre oblique (/) est requise entre le type de ressource et l'ID de ressource. Par exemple, utilisez instance/i-xxx , et non instancei-xxx .

Autorisation fine pour Simple Log Service

L'exemple suivant accorde les autorisations nécessaires pour interroger les journaux et créer des vues de magasin dans Simple Log Service. Remplacez exampleproject et examplelogstore par les noms réels de votre projet et de votre Logstore.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:GetLogStoreLogs",
        "log:CreateStoreView"
      ],
      "Resource": [
        "acs:log:*:*:project/exampleproject/logstore/examplelogstore",
        "acs:log:*:*:project/exampleproject"
      ]
    }
  ]
}
Important

Si les appels SDK échouent avec des erreurs d'autorisation refusée après avoir accordé les autorisations précédentes, ajoutez les autorisations log:GetProject et log:GetLogStore . Il s'agit d'autorisations de dépendance implicite requises pour le bon fonctionnement des actions principales.

Actions spécifiques au produit non disponibles dans l'éditeur visuel

Certaines actions ne figurent pas dans l'éditeur visuel et ne peuvent être configurées qu'à l'aide de l'éditeur de script. Voici quelques exemples :

  • Security Center : yundun-sc:DescribeCdnIpList

  • Accès à la console Milvus : CreateConnection , DbmConnect et autres actions connexes

  • Operation Orchestration Service (OOS) : oos:StartExecution

L'exemple suivant accorde l'autorisation d'exécuter des exécutions OOS :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "oos:StartExecution",
      "Resource": "*"
    }
  ]
}

Pour les actions non disponibles dans l'éditeur visuel, cliquez sur l'onglet Script Editor et saisissez manuellement le nom de l'action.

Déploiement ECS (autorisations minimales)

Le déploiement d'une instance ECS nécessite une combinaison d'actions sur plusieurs services. L'exemple suivant accorde les autorisations minimales requises pour créer une instance ECS, y compris un accès en lecture seule aux ressources VPC et de groupe de sécurité nécessaires lors de la création de l'instance :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:RunInstances",
        "ecs:DescribeInstances",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches",
        "ecs:DescribeSecurityGroups"
      ],
      "Resource": "*"
    }
  ]
}
  • ecs:RunInstances : crée et démarre une instance ECS.

  • ecs:DescribeInstances : interroge les détails de l'instance.

  • vpc:DescribeVpcs et vpc:DescribeVSwitches : vous permettent de sélectionner un VPC et un vSwitch lors de la création de l'instance.

  • ecs:DescribeSecurityGroups : vous permet de sélectionner un groupe de sécurité lors de la création de l'instance.

Configuration réseau VPC (autorisations minimales)

L'exemple suivant accorde les autorisations minimales requises pour créer un VPC et un vSwitch :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vpc:CreateVpc",
        "vpc:CreateVSwitch",
        "vpc:CreateSecurityGroup",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches"
      ],
      "Resource": "*"
    }
  ]
}
  • vpc:CreateVpc : crée un VPC.

  • vpc:CreateVSwitch : crée un vSwitch.

  • vpc:CreateSecurityGroup : crée un groupe de sécurité.

  • vpc:DescribeVpcs et vpc:DescribeVSwitches : interrogent les ressources réseau.

Dépannage des erreurs d'autorisation refusée

Lorsqu'un utilisateur RAM reçoit une erreur AccessForbidden ou un message d'autorisation refusée dans la console, suivez ces étapes pour identifier et résoudre le problème :

Étape 1 : Utilisez l'outil API Troubleshoot pour identifier les autorisations manquantes

Utilisez l'outil Alibaba Cloud API Troubleshoot et saisissez le RequestID de la requête ayant échoué. L'outil identifie l'AuthAction exact qui manque, afin que vous puissiez ajouter l'autorisation requise à votre stratégie personnalisée.

Étape 2 : Vérifiez l'étendue d'autorisation

Assurez-vous que l'étendue d'autorisation correspond au type d'opération :

  • Opérations au niveau du compte (telles que ram:CreateUser ) : l'étendue d'autorisation doit être définie sur Entire Alibaba Cloud Account . La restriction de l'étendue à un groupe de ressources spécifique entraîne l'échec de ces opérations.

  • Opérations prenant en charge les groupes de ressources : vérifiez que la stratégie est attachée avec l'étendue de groupe de ressources correcte, ou définissez l'étendue sur Entire Alibaba Cloud Account .

Étape 3 : Vérifiez les autorisations de dépendance implicites

Certaines opérations nécessitent des autorisations supplémentaires au-delà de l'action principale. Par exemple :

  • Interrogations Simple Log Service : en plus de log:GetLogStoreLogs , vous pouvez avoir besoin des autorisations log:GetProject et log:GetLogStore .

  • Connexion à la console Milvus : en plus des actions de gestion principales, vous avez besoin des autorisations CreateConnection et DbmConnect .

Reportez-vous à la documentation d'autorisation RAM du service Alibaba Cloud correspondant pour identifier toutes les autorisations requises.

Optimiser une stratégie trop volumineuse

Le document de stratégie d'une stratégie personnalisée ne peut pas dépasser 6 144 octets. Lorsque cette limite est dépassée, l'opération CreatePolicy renvoie une erreur InvalidParameter.PolicyDocument.Length avec le message The policy document size is limited to 6144 bytes . Vous pouvez utiliser les méthodes suivantes pour réduire la taille d'une stratégie.

Réduire la taille de la stratégie avec des caractères génériques

Combinez plusieurs actions partageant le même préfixe en un caractère générique, ce qui peut réduire considérablement la taille d'une stratégie. Par exemple, modifiez la stratégie suivante :

{"Action": ["oss:GetBucket", "oss:GetObject", "oss:GetBucketAcl", "oss:GetBucketLogging"]}

en :

{"Action": ["oss:Get*"]}

Diviser une stratégie par fonction

Divisez une stratégie volumineuse couvrant plusieurs fonctions en stratégies distinctes, et attachez chacune d'elles à un utilisateur ou un groupe d'utilisateurs RAM différent. Par exemple, séparez les opérations de lecture et d'écriture en deux stratégies :

  • Stratégie en lecture seule : {"Action": ["oss:Get*", "oss:List*"]}

  • Stratégie d'écriture : {"Action": ["oss:Put*", "oss:Delete*"]}

Diviser une stratégie par ressource

Divisez les stratégies par ressource. Par exemple, séparez les autorisations pour différents buckets OSS dans des stratégies distinctes, afin que chaque stratégie n'accorde des autorisations que pour un bucket spécifique. Cela évite qu'une seule stratégie gère trop de ressources.

Notes d'utilisation

  • Lorsque vous configurez une stratégie dans l'éditeur visuel, ne sélectionnez pas toutes les actions. Choisissez l'ensemble d'actions offrant le moins de privilèges possible afin de maintenir le document de stratégie aussi petit que possible.

  • Après avoir divisé une stratégie, vous devez attacher chaque stratégie résultante séparément aux utilisateurs ou groupes d'utilisateurs RAM, ce qui augmente la complexité de gestion.

  • La combinaison d'actions avec des caractères génériques peut entraîner une surautorisation. Examinez attentivement l'étendue des autorisations pour éviter d'accorder plus de permissions que nécessaire pour votre activité.

  • Une stratégie prend effet immédiatement après son attachement. Aucune attente n'est requise.

Par importation d'une stratégie

  1. Connectez-vous à la console RAM en tant qu'administrateur RAM.

  2. Dans le volet de navigation de gauche, choisissez Permissions > Policies.

  3. Sur la page Policies , cliquez sur Create Policy.

  4. Sur la page Create Policy , cliquez sur Import Policy .

  5. Dans le coin supérieur droit de la boîte de dialogue Import Policy , sélectionnez Policy Template ou System Policy dans la liste déroulante.

    1. Sélectionnez un modèle de stratégie ou une stratégie système.

    2. Pour certains modèles de stratégie, vous devez configurer des paramètres en fonction de vos besoins métier.

    3. Sélectionnez une règle de remplacement pour la stratégie importée.

      Par défaut, le contenu de la stratégie importée remplace entièrement le contenu existant. Vous pouvez également sélectionner Do not overwrite, append new statements to the end .

    4. Cliquez sur Import .

  6. Dans l'éditeur visuel ou l'éditeur de script, consultez et modifiez le contenu de la stratégie importée.

  7. En haut de la page, cliquez sur Optimize , puis sur Perform pour optimiser la stratégie de manière avancée.

    La fonctionnalité d'optimisation avancée des stratégies effectue les tâches suivantes :

    • Sépare les ressources ou les conditions pour les actions incompatibles.

    • Réduit la portée des ressources.

    • Supprime les instructions en double ou fusionne les instructions.

  8. Sur la page Create Policy , cliquez sur OK.

  9. Dans la boîte de dialogue Create Policy , saisissez un policy name et une Description , puis cliquez sur OK.

FAQ

Pourquoi certaines autorisations sont-elles introuvables dans l'éditeur visuel ou pourquoi l'enregistrement d'une stratégie échoue-t-il ?

Ce problème peut survenir pour les raisons suivantes :

L'action n'est pas prise en charge ou n'est pas encore répertoriée dans l'éditeur visuel

Certaines actions API récemment publiées ou de bas niveau, telles que oos:StartExecution et les modèles avec caractères génériques comme swas-open:* , peuvent ne pas être disponibles dans l'éditeur visuel. L'éditeur visuel peut également ne pas gérer correctement les modèles avec caractères génériques sous certaines restrictions de ressources. Pour résoudre ce problème, cliquez sur l'onglet Script Editor et saisissez manuellement le nom de l'action.

Le nom de l'action est mal orthographié

Certains noms d'actions API présentent des différences entre le singulier et le pluriel. Par exemple, le nom d'action correct est ecs:ReInitDisks , et non ecs:ReInitDisk . Vérifiez le nom exact de l'action dans la référence API du service Alibaba Cloud correspondant.

La stratégie système n'est pas synchronisée

Si vous ne trouvez pas une stratégie système spécifique, telle que AliyunAccountCenterFullAccess , localisez le contenu JSON officiel de cette stratégie système et recréez-la en tant que stratégie personnalisée à l'aide de l'Script Editor .

Échec de la validation du format JSON

Vérifiez que votre syntaxe JSON est correcte. Les erreurs courantes incluent :

  • Définir le champ Resource plus d'une fois dans une seule instruction. Pour spécifier plusieurs ressources, listez-les sous forme de tableau JSON dans un seul champ Resource . Par exemple : "Resource": ["acs:ecs:*:*:instance/i-aaa", "acs:ecs:*:*:instance/i-bbb"] .

  • Utiliser des formats ARN incorrects. Assurez-vous que l'ARN suit le modèle acs:<service>:<region>:<account-id>:<resource-type>/<resource-id> .

Pourquoi l'accès à la console ou l'exécution d'opérations est-il impossible après avoir accordé FullAccess ou une stratégie personnalisée ?

Ce problème peut survenir pour les raisons suivantes :

Dépendance d'accès à la console

Certaines consoles de produits nécessitent des autorisations d'accès de base à la console, telles que PowerUserAccess , en plus des autorisations spécifiques au métier. Accorder uniquement une stratégie FullAccess spécifique au métier peut ne pas suffire pour charger la page de la console. Attachez la stratégie d'accès de base requise à l'utilisateur RAM.

Incompatibilité de l'étendue d'autorisation

Vérifiez que l'étendue d'autorisation sélectionnée lors de l'attachement de la stratégie correspond à la définition Resource de la stratégie. Par exemple, les opérations au niveau de l'instance pour des services tels qu'OceanBase nécessitent que l'étendue d'autorisation soit définie sur Entire Alibaba Cloud Account , la stratégie spécifiant l'ARN de l'instance.

Priorité et conflit de stratégies

Vérifiez si une instruction Deny dans une autre stratégie remplace l'autorisation Allow , ou s'il existe un conflit entre vos stratégies personnalisées et les stratégies système. Pour des scénarios complexes, tels que l'accès au réseau public MQTT, si une stratégie personnalisée ne prend pas effet, essayez la stratégie système officiellement recommandée (telle que AliyunMQFullAccess ) pour vérifier la connectivité avant de poursuivre le dépannage de votre stratégie personnalisée.