Tous les produits
Search
Centre de documentation

Resource Access Management:Create a custom policy

Dernière mise à jour :Sep 29, 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 bon 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 un modèle adapté 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 modifiez-la selon 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 la stratégie d'autorisation.

    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 des conditions communes à Alibaba Cloud et des conditions spécifiques aux services. 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 (valeur 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 Structure et syntaxe 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 présentent des scénarios courants et le code JSON de stratégie correspondant pour la configuration de stratégies personnalisées en mode JSON Editor, afin de vous aider à rédiger rapidement des stratégies.

Scénario 1 : Accorder des autorisations de gestion des utilisateurs RAM (niveau compte)

Les API de gestion des utilisateurs RAM (telles que ram:CreateUser, ram:CreateAccessKey et ram:ListUsers) sont des opérations au niveau du compte. L'élément Resource doit être défini sur "*" et, lors de l'attribution de l'autorisation, vous devez définir l'étendue d'autorisation sur Entire Alibaba Cloud Account. Ces opérations ne peuvent pas être restreintes à un groupe de ressources.

Exemple de stratégie : permet de créer des utilisateurs RAM et des clés AccessKey.


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

Si vous définissez l'étendue d'autorisation de cette stratégie sur un groupe de ressources spécifique, la stratégie ne prendra pas effet. Les opérations de gestion des utilisateurs RAM prennent uniquement en charge l'étendue d'autorisation Entire Alibaba Cloud Account.

Scénario 2 : Autoriser les utilisateurs RAM à modifier uniquement leur propre mot de passe

Pour permettre à un utilisateur RAM de modifier uniquement son propre mot de passe de connexion, accordez l'autorisation ram:ChangePassword. N'accordez pas l'autorisation AliyunRAMFullAccess (autorisations d'accès complètes à RAM), car des autorisations excessives posent des risques de sécurité.

Exemple de stratégie : permet de modifier uniquement son propre mot de passe.


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

Scénario 3 : Accorder un accès en lecture seule à une ressource spécifique (exemple avec une instance ECS)

Pour permettre à un utilisateur RAM d'afficher uniquement une instance ECS spécifique, spécifiez l'ARN de l'instance dans l'élément Resource. Le format de l'ARN est acs:ecs:{region}:{account-id}:instance/{instance-id}. Notez que instance doit être suivi d'une barre oblique /.

Exemple de stratégie : permet d'afficher uniquement l'instance ECS spécifiée.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeInstances",
        "ecs:DescribeInstanceAttribute",
        "ecs:DescribeInstanceStatus"
      ],
      "Resource": [
        "acs:ecs:*:*:instance/i-bp1xxxxxxxxxxxxxxxxx"
      ]
    }
  ]
}
Remarque

Remplacez i-bp1xxxxxxxxxxxxxxxxx par l'ID réel de l'instance ECS. Pour accorder l'accès à plusieurs instances, ajoutez plusieurs ARN au tableau Resource, séparés par des virgules.

Scénario 4 : Autorisation fine pour Simple Log Service (SLS)

Les opérations de requête dans Simple Log Service nécessitent des ARN aux niveaux du projet et du Logstore. Si les appels SDK renvoient toujours des erreurs d'autorisation refusée, ajoutez les autorisations log:GetProject et log:GetLogStore.

Exemple de stratégie : permet d'interroger les données de journal d'un Logstore spécifique.


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

Remplacez exampleproject et examplelogstore par le nom réel du projet et du Logstore.

Scénario 5 : Configurer des actions spécifiques non prises en charge dans l'éditeur visuel

Certaines actions de produits ne peuvent pas être sélectionnées en mode Visual Editor et doivent être configurées manuellement en mode JSON Editor. Voici les actions courantes de ce type :

Product

Action

Description

Server Guard (Security Center)

yundun-sc:DescribeCdnIpList

Interroge la liste des adresses IP CDN

Milvus

CreateConnection, DbmConnect, etc.

Autorisations requises pour se connecter à la console Milvus

Scénario 6 : Autorisations minimales pour le déploiement ECS

La création d'une instance ECS implique une combinaison d'actions entre plusieurs services. La stratégie du moindre privilège doit inclure à la fois les autorisations d'opération sur les instances et les autorisations de requête pour le réseau et les groupes de sécurité.

Exemple de stratégie : les autorisations minimales requises pour créer et déployer une instance ECS.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:RunInstances",
        "ecs:DescribeInstances",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches",
        "ecs:DescribeSecurityGroups"
      ],
      "Resource": ["*"]
    }
  ]
}

Descriptions des actions : ecs:RunInstances (crée et démarre une instance), ecs:DescribeInstances (interroge les informations sur l'instance), vpc:DescribeVpcs et vpc:DescribeVSwitches (permettent de sélectionner le VPC et le vSwitch lors de la création de l'instance), ecs:DescribeSecurityGroups (sélectionne le groupe de sécurité).

Scénario 7 : Autorisations minimales pour la configuration réseau VPC

Voici la stratégie d'autorisation minimale requise pour créer un cloud privé virtuel (VPC) et un vSwitch.

Exemple de stratégie : 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": ["*"]
    }
  ]
}

Descriptions des actions : 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 existantes).

Dépannage des erreurs d'accès refusé

Lorsqu'un utilisateur RAM appelle une API et reçoit une erreur AccessForbidden, ou que la console affiche un message d'accès refusé, procédez au dépannage comme suit :

  1. Utilisez l'outil de dépannage des API pour identifier les autorisations manquantes

    Saisissez le RequestID renvoyé avec l'erreur dans l'outil de dépannage des API Alibaba Cloud. L'outil affiche l'AuthAction spécifique manquante, ce qui vous permet d'ajouter les autorisations requises selon les indications.

  2. Vérifiez la correspondance de l'étendue d'autorisation

    Pour les opérations au niveau du compte (telles que ram:CreateUser), l'étendue d'autorisation doit être Entire Alibaba Cloud Account. Pour les API compatibles avec les groupes de ressources, assurez-vous que la stratégie est attribuée au groupe de ressources correct ou à Entire Alibaba Cloud Account. Si l'étendue d'autorisation ne correspond pas à la définition Resource de la stratégie, les autorisations ne prennent pas effet.

  3. Vérifiez les autorisations de dépendance implicite

    Outre l'action principale, certaines opérations nécessitent des autorisations de base associées, telles que Describe, List ou Connect, pour fonctionner correctement. Par exemple :

    • Simple Log Service (SLS) : outre log:GetLogStoreLogs pour interroger les journaux, vous avez également besoin des autorisations log:GetProject et log:GetLogStore.

    • Milvus : outre les autorisations d'opération principales pour se connecter à la console, vous avez également besoin d'autorisations de connexion telles que CreateConnection et DbmConnect.

    Consultez la documentation d'autorisation RAM du service Alibaba Cloud correspondant pour ajouter les autorisations requises.

Optimiser une stratégie de taille excessive

Le contenu JSON 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 »). Utilisez les méthodes suivantes pour réduire la longueur de la stratégie.

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 RAM ou à un groupe d'utilisateurs 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 en é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 ne gère trop de ressources.

Notes d'utilisation

  • Lorsque vous configurez une stratégie dans l'éditeur visuel, évitez de sélectionner toutes les actions. Sélectionnez d'abord l'ensemble d'actions correspondant au principe du moindre privilège.

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

  • Les caractères génériques peuvent entraîner une surautorisation. Examinez attentivement l'étendue des autorisations avant de les utiliser.

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

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 la boîte de dialogue Import Policy, sélectionnez un modèle de stratégie ou une System Policy dans la liste déroulante en haut à droite, puis importez la stratégie.

    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 les 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 nouvellement importée remplace complètement le contenu existant. Vous pouvez également sélectionner Do NOT overwrite but append new statements. pour ajouter le contenu de la stratégie nouvellement importée à la fin du contenu existant.

    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 ne puis-je pas trouver certaines autorisations dans l'éditeur visuel, ou pourquoi l'enregistrement d'une stratégie échoue-t-il ?

Ce problème peut survenir pour les raisons suivantes :

  • Certaines actions ne sont pas mises à jour dans la liste visuelle : certaines API récemment publiées ou de bas niveau peuvent ne pas encore être synchronisées avec la liste des actions en mode Visual Editor, ou un caractère générique (tel que swas-open:*) peut présenter des conflits d'analyse sous certaines restrictions de ressources. Nous vous recommandons de passer en mode JSON Editor et de saisir l'action manuellement.

  • Le nom de l'action est mal orthographié : certains noms d'actions API présentent des différences entre singulier et pluriel (par exemple, l'opération ECS pour réinitialiser un disque est ecs:ReInitDisks et non ecs:ReInitDisk). Vérifiez le nom exact de l'action dans la documentation 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), vous pouvez afficher le contenu JSON officiel de cette stratégie système et créer une stratégie personnalisée ayant le même effet en mode JSON Editor.

  • Échec de la validation du format JSON : vérifiez si la syntaxe JSON est correcte. Portez une attention particulière aux erreurs courantes suivantes :

    • Resource ne peut pas être défini plus d'une fois. Pour spécifier plusieurs ressources, listez-les dans un seul tableau, séparées par des virgules.

    • Le format ARN doit respecter le modèle suivant : acs:<service>:<region>:<account-id>:<resource-type>/<resource-id>.

Pourquoi ne puis-je pas accéder à la console ou effectuer des opérations après avoir accordé FullAccess ou une stratégie personnalisée ?

Ce problème peut survenir pour les raisons suivantes :

  • L'accès à la console nécessite des autorisations de base supplémentaires : outre les autorisations métier, certaines consoles de produit (telles que les services à valeur ajoutée ICP filing) nécessitent également des autorisations d'accès de base à la console, telles que PowerUserAccess. Une stratégie FullAccess spécifique à un métier peut ne pas suffire à charger la page de la console. Consultez la documentation du produit pour confirmer la combinaison complète des autorisations requises pour l'accès à la console.

  • L'étendue d'autorisation ne correspond pas à la ressource dans la stratégie : l'étendue d'autorisation que vous sélectionnez lors de l'attribution de l'autorisation (Entire Alibaba Cloud Account ou un groupe de ressources spécifique) doit être cohérente avec la définition Resource de la stratégie. Par exemple, les opérations au niveau de l'instance telles qu'OceanBase nécessitent que l'étendue d'autorisation soit Entire Alibaba Cloud Account, avec l'ARN de l'instance spécifique défini dans la stratégie.

  • Conflit de stratégie ou priorité Deny : vérifiez si une instruction Deny remplace une instruction Allow, ou s'il existe un conflit entre vos stratégies personnalisées et les stratégies système. La logique d'évaluation des stratégies de RAM est la suivante : Deny explicite > Allow > Deny par défaut. Pour les scénarios complexes (tels que l'accès au réseau public MQTT), si une stratégie personnalisée ne prend pas effet, nous vous recommandons d'utiliser d'abord la stratégie système officiellement recommandée (telle que AliyunMQFullAccess) pour vérifier la connectivité, puis d'affiner les autorisations étape par étape.