Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Create and authorize users in ACK One GitOps

Dernière mise à jour :Aug 11, 2026

Créez des utilisateurs locaux ou des utilisateurs RAM et configurez le contrôle d'accès RBAC Argo CD pour gérer les autorisations au niveau des applications.

Types d'utilisateurs

ACK One GitOps prend en charge la collaboration multi-utilisateurs. Les administrateurs peuvent créer ou supprimer des utilisateurs et configurer, pour chaque utilisateur, les autorisations RBAC Argo CD ainsi que les autorisations Application Argo CD. Deux types d'utilisateurs sont pris en charge :

Type d'utilisateur Description Idéal pour
Utilisateur local Créé dans Argo CD. Prend en charge la connexion via l'interface utilisateur et la génération de clés API. Petites équipes ou pipelines CI/CD automatisés ne nécessitant pas de SSO, d'historique de connexion ou d'accès basé sur des groupes
Utilisateur RAM ou rôle RAM Identité Alibaba Cloud. Les utilisateurs RAM se connectent via le SSO, sans informations d'identification distinctes. Équipes utilisant RAM pour la gestion des identités, ou nécessitant un accès basé sur des groupes, un historique de connexion ou des autorisations granulaires

Créer un utilisateur local

Prérequis

Assurez-vous que les conditions suivantes sont remplies :

Ajouter un utilisateur local

  1. Modifiez le ConfigMap argocd-cm.

    kubectl edit cm argocd-cm -n argocd
  2. Ajoutez l'utilisateur local sous le champ data. Cet exemple ajoute un utilisateur nommé localuser1.

    data:
      accounts.localuser1: login,apiKey    # Grants UI login and API key generation
      accounts.localuser1.enabled: "true"  # Enables the user

    Chaque compte prend en charge deux fonctionnalités :

    • login — se connecter à l'interface utilisateur et à l'CLI Argo CD

    • apiKey — générer des jetons d'authentification pour l'accès API

  3. Vérifiez que l'utilisateur a bien été créé.

    argocd account list

    Résultat attendu :

    NAME        ENABLED  CAPABILITIES
    admin       true     login
    localuser1  true     login,apiKey
  4. Définissez un mot de passe et générez un jeton.

    # Set a password
    argocd account update-password \
      --account localuser1 \
      --current-password <admin-password> \
      --new-password <localuser1-password>
    
    # Generate an API key token
    argocd account generate-token --account localuser1
    eyJhb......

Configurer les autorisations RBAC Argo CD

Le contrôle d'accès RBAC Argo CD gère l'accès des utilisateurs et des groupes aux ressources. Les politiques sont définies dans le ConfigMap argocd-rbac-cm.

Rôles prédéfinis

Pour accorder des autorisations, attribuez d'abord les permissions à un rôle, puis associez un groupe SSO ou un utilisateur local à ce rôle. Les rôles personnalisés sont pris en charge et les rôles intégrés suivants sont disponibles :

Rôle Autorisations
role:readonly Accès en lecture seule (get) à toutes les ressources Argo CD
role:admin Accès complet à toutes les ressources Argo CD

Les rôles personnalisés avec des autorisations granulaires sont également pris en charge.

Syntaxe des politiques

Toutes les politiques sont définies dans le champ .data.policy.csv du ConfigMap argocd-rbac-cm.

Attribuer une autorisation (règle p) :

p, <role/user/group>, <resource>, <action>, <object>

Pour les ressources au sein d'un projet :

p, <role/user/group>, <resource>, <action>, <appproject>/<object>

Où :

  • <role/user/group> — nom de rôle, nom d'utilisateur local ou groupe/UID SSO

  • <resource> — type de ressource Argo CD

  • <action> — opération à autoriser

  • <object> — instance de ressource spécifique, ou * pour toutes les instances

Associer un utilisateur ou un groupe à un rôle (règle g) :

g, <user/group>, <role>

Ressources et actions prises en charge

Argo CD prend en charge les ressources suivantes : clusters, projects, applications, applicationsets, repositories, certificates, accounts, gpgkeys, logs, exec et extensions.

Les actions suivantes sont prises en charge : get, create, update, delete, sync, override et action/<api-group>/<Kind>/<action-name>.

Les actions sync, override et action/<api-group>/<Kind>/<action-name> sont valides uniquement pour la ressource applications.

Accorder des autorisations à un utilisateur local

  1. Modifiez le ConfigMap argocd-rbac-cm.

    kubectl edit cm argocd-rbac-cm -n argocd
  2. Ajoutez une règle g pour mapper l'utilisateur local à un rôle. Cet exemple mappe localuser1 à role:admin.

    • Mappez localuser1 à role:admin pour un accès complet à toutes les ressources Argo CD.

    • Mappez localuser1 au rôle personnalisé project-admin (commenté) pour un accès limité au projet.

    Important

    Ne modifiez pas les autres configurations existantes dans le ConfigMap.

    data:
      policy.csv: |
    ##  p, role:project-admin, applications, *, */*, allow
    ##  p, role:project-admin, projects, *, *, allow
    
          g, "14***01", role:admin          # Keep the current setting.
          g, localuser1, role:admin         # Map localuser1 to role:admin.
    ##    g, localuser1, role:project-admin # Alternative: map to a custom role.
        scopes: '[uid]'                     # Keep the current setting.

    Cet exemple couvre deux scénarios :

Accorder des autorisations aux utilisateurs RAM ou aux rôles RAM

ACK One GitOps intègre par défaut l'interface utilisateur Argo CD et l'CLI Argo CD avec l'authentification SSO RAM d'Alibaba Cloud. Une fois connecté à la console Alibaba Cloud, vous pouvez accéder à l'interface utilisateur Argo CD ou à l'CLI Argo CD via le SSO sans ressaisir vos informations d'identification. Les administrateurs d'instance Fleet reçoivent automatiquement les autorisations d'administrateur Argo CD. L'administrateur du fleet doit accorder des autorisations aux utilisateurs RAM ordinaires.

Pour un utilisateur RAM ordinaire, accordez à la fois :

  1. Les autorisations RBAC Argo CD dans argocd-rbac-cm

  2. Les autorisations au niveau de l'application via les projets Argo CD

Accorder des autorisations RBAC Argo CD

  1. Modifiez le ConfigMap argocd-rbac-cm.

    kubectl edit cm argocd-rbac-cm -n argocd
  2. Ajoutez une règle g pour mapper l'UID de l'utilisateur RAM à un rôle. Cet exemple accorde le rôle role:admin à l'utilisateur 27***02.

    data:
      policy.csv: |
    ##  p, role:project-admin, applications, *, */*, allow
    ##  p, role:project-admin, projects, *, *, allow
    
          g, "14***01", role:admin          # Keep the current setting.
          g, "27***02", role:admin          # Grant role:admin to RAM user 27***02.
    ##    g, "27***02", role:project-admin  # Alternative: map to a custom role.
        scopes: '[uid]'                     # Keep the current setting.

Accorder des autorisations d'application Argo CD

Chaque application appartient à un projet. Utilisez les projets pour attribuer des autorisations d'application à différents utilisateurs ou rôles RAM.

Les projets prennent en charge ces contrôles d'accès :

  • Limite de référentiel Git — restreint les référentiels Git autorisés pour le déploiement

  • Limite de cluster et d'espace de noms — restreint les clusters cibles et les espaces de noms pour le déploiement

  • Limite de type d'objet — restreint les types de ressources Kubernetes déployables (par exemple, RBAC, CRD, DaemonSets et NetworkPolicies)

  • RBAC au niveau de l'application — accorde des autorisations par application aux utilisateurs ou rôles RAM en liant les rôles de projet aux groupes OpenID Connect (OIDC) et aux jetons Web JSON (JWT)

Pour accorder des autorisations d'application à un utilisateur RAM :

  1. Connectez-vous à la console RAM à l'aide du compte racine RAM ou d'un compte administrateur d'autorisations. Cliquez sur Users ou Roles, ouvrez l'utilisateur ou le rôle cible et copiez l'UID ou l'ID de rôle.

  2. Connectez-vous à la console ACK One. Choisissez Fleet > Multi-cluster GitOps, puis cliquez sur GitOps Console.

  3. Accédez à Settings > Projects. Cliquez sur + NEW PROJECT ou ouvrez un projet existant.

  4. Cliquez sur + ADD ROLE, configurez les éléments suivants et cliquez sur CREATE.

    • GENERAL — paramètres de base du rôle

    • POLICY RULES — configurez les autorisations de l'application

    • GROUPS — saisissez l'UID ou l'ID de rôle copié à l'étape 1, puis cliquez sur ADD GROUP

Cet exemple crée un rôle roletest qui accorde à l'utilisateur 27***02 un accès en lecture seule (get) à toutes les applications du projet test. Après avoir créé le rôle, cliquez sur LOG IN VIA ALIYUN SSO pour vous connecter et vérifier les autorisations.

image