Tous les produits
Search
Centre de documentation

Container Compute Service:Pull ACR images without a password

Dernière mise à jour :Sep 29, 2026

Container Compute Service (ACS) permet de tirer des images depuis Container Registry (ACR) sans utiliser de mot de passe, afin d'améliorer l'efficacité et la sécurité. Cette rubrique explique comment tirer des images ACR sans mot de passe dans un cluster ACS.

Informations générales

Container Registry (ACR) offre un hébergement sécurisé et une distribution efficace des artefacts cloud native via plusieurs éditions, notamment ACR Personal Edition et ACR Enterprise Edition. Pour plus d'informations, consultez la page Présentation de Container Registry (ACR). ACS propose une méthode de configuration unifiée pour tirer des images ACR sans mot de passe, quelle que soit l'édition d'ACR utilisée.

En configurant l'accès sans mot de passe pour un cluster ACS, le service injecte automatiquement les informations d'authentification nécessaires aux images ACR lors de la création des instances. Cette approche simplifie le processus de création des instances et réduit les risques liés à l'exposition des mots de passe, renforçant ainsi la sécurité.

Remarque

Le tirage sans mot de passe n'est pas pris en charge pour les images Docker, les dépôts auto-hébergés ni pour les images autres que celles provenant d'ACR.

Prérequis

Avant de configurer le tirage sans mot de passe des images ACR dans un cluster ACS, effectuez les tâches suivantes :

  1. Créez un cluster ACS. Pour plus d'informations, consultez la page Créer un cluster ACS.

  2. Vous avez créé une instance ACR et configuré le dépôt d'images ainsi que les images.

  3. Si vous utilisez une instance ACR Enterprise Edition, configurez sa méthode d'accès.

    Les instances ACR Enterprise Edition nouvellement créées sont déconnectées par défaut. Vous devez configurer des politiques de contrôle d'accès appropriées avant d'accéder à l'instance via Internet ou un réseau privé virtuel (VPC).

    • Accès Internet : après avoir activé l'accès au réseau public, vous pouvez accéder directement aux images de l'instance ACR Enterprise Edition en utilisant le nom de domaine public (inter-domaines pris en charge). Pour plus d'informations, consultez la page Configurer le contrôle d'accès au réseau public.

    • Accès VPC : pour accéder à une instance ACR Enterprise Edition via un VPC, activez l'autorisation requise. Pour plus d'informations, consultez la page Configurer le contrôle d'accès VPC.

Fonctionnement

Le composant sans mot de passe tire les images privées en lisant votre configuration depuis la console. Une fois ce composant configuré, il crée automatiquement un Secret dans le cluster et l'associe au ServiceAccount spécifié dans la configuration. Tout pod utilisant ce ServiceAccount exploite alors automatiquement le Secret généré par le composant sans mot de passe pour tirer les images, permettant ainsi un tirage sans authentification explicite.

Installer et configurer le composant sans mot de passe

  1. Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, cliquez sur Add-ons.

  3. Sur la page Add-ons, sélectionnez l'onglet Security. Recherchez aliyun-acr-credential-helper et cliquez sur Install.

  4. Dans la boîte de dialogue Parameters, cliquez sur Add à côté de AcrInstanceInfo pour ajouter plusieurs entrées d'instances ACR. Utilisez l'exemple suivant pour la configuration, puis cliquez sur OK.

    1. Ajoutez AcrInstanceInfo.

      Remarque

      Le scénario par défaut est configuré comme suit :

      • Pour synchroniser une instance ACR Personal Edition, utilisez la configuration AcrInstanceInfo par défaut.

      • Pour synchroniser une instance ACR Enterprise Edition, saisissez l'instanceID et conservez les valeurs par défaut pour les autres champs.

      Clé de paramètre

      Description de la clé de l'élément de configuration

      Valeur

      instanceID

      ID de l'instance ACR.

      Trouvez votre instance dans Container Registry.

      • Enterprise Edition : dans Instance , trouvez l'Instance ID. La valeur est une chaîne commençant par cri-.

      • Personal Edition : laissez ce champ vide pour activer le tirage sans mot de passe pour Personal Edition.

      Valeur par défaut : vide (configure l'instance Personal Edition dans la région actuelle).

      regionID

      ID de la région de l'instance ACR.

      L'ID de la région où réside votre instance ACR. Par exemple, l'ID de la région pour Hangzhou est cn-hangzhou.

      Valeur par défaut : la région de votre cluster ACS. Laissez vide si l'instance ACR se trouve dans la même région.

      domains

      Noms de domaine utilisés pour accéder à l'instance ACR.

      Noms de domaine pour le tirage des images. Séparez plusieurs domaines par des virgules (,).

      Valeur par défaut : tous les domaines associés à l'instance ACR spécifiée par instanceID (registre de domaine public., registre de domaine VPC registry-vpc., registre de domaine interne registry-internal.*).

      assumeRoleARN

      (Facultatif) ARN du rôle RAM du propriétaire du dépôt d'images obtenu à l'étape 4 de Configurer le tirage d'images inter-comptes. Laissez vide si vous n'effectuez pas de tirage inter-comptes.

      Exemple : acs:ram::123456789012****:test-rrsa-acr

      Valeur par défaut : vide.

      expireDuration

      (Facultatif) Durée de validité des identifiants temporaires dans les scénarios inter-comptes. Laissez vide si vous n'effectuez pas de tirage inter-comptes.

      Important

      La valeur de expireDuration doit être inférieure ou égale à la Max Session Duration définie pour le rôle du propriétaire du dépôt d'images à l'étape 4 de Configurer le tirage d'images inter-comptes.

      Valeur par défaut : 3600.

      rrsaRoleARN

      (Facultatif) ARN du rôle RAM du cluster ACS obtenu à l'étape 3 de Configurer le tirage d'images inter-comptes. Laissez vide si vous n'effectuez pas de tirage inter-comptes.

      Exemple : acs:ram::987654321012****:demo-role-for-rrsa

      Valeur par défaut : vide.

      rrsaOIDCProviderRoleARN

      (Facultatif) ARN du fournisseur RRSA OIDC du cluster ACS obtenu à l'étape 2 de Configurer le tirage d'images inter-comptes. Laissez vide si vous n'effectuez pas de tirage inter-comptes.

      Exemple : acs:ram::987654321012:oidc-provider/ack-rrsa-abcd1234

      Valeur par défaut : vide.

    2. Configurez les autres paramètres.

      Clé de paramètre

      Description de la clé de l'élément de configuration

      Valeur de l'élément de configuration

      Activer RRSA

      Sélectionnez cette option pour activer RRSA (nécessite la complétion des configurations liées à RRSA).

      Non sélectionné par défaut. Après avoir configuré les paramètres RRSA et sélectionné cette option, vous pouvez tirer des images entre comptes.

      watchNamespace

      Namespaces où le tirage d'images sans mot de passe est activé.

      La valeur par défaut est default. Lorsque la valeur est définie sur all, cela indique que tous les Namespaces doivent prendre en charge le tirage d'images sans mot de passe. Pour configurer plusieurs Namespaces, séparez-les par des virgules (,).

      Remarque

      Nous vous recommandons de spécifier uniquement les namespaces de vos applications. Évitez de définir cette valeur sur all ou sur les namespaces des composants système pour prévenir les échecs de tirage des images des composants système.

      serviceAccount

      Appliquez le composant sans mot de passe au compte de service spécifié.

      Valeur par défaut : default.

      Remarque

      Pour spécifier plusieurs ServiceAccounts, séparez-les par des virgules (,). Utilisez * pour appliquer à tous les ServiceAccounts dans le ou les namespace(s) spécifié(s).

      expiringThreshold

      Seuil d'expiration pour les identifiants mis en cache localement.

      Valeur par défaut : 15m.

      Remarque

      Nous vous recommandons d'utiliser 15m, ce qui met à jour les identifiants 15 minutes avant leur expiration.

      notifyEmail

      Libellé e-mail dans le Secret généré par le composant sans mot de passe.

      Valeur par défaut : xxx@aliyun.com.

Configurer le tirage d'images inter-comptes

Utiliser RRSA pour le tirage inter-comptes

RAM Roles for Service Accounts (RRSA) permet l'isolation des autorisations au niveau des pods dans les clusters ACS. En activant RRSA pour votre cluster ACS et en partageant l'ARN du rôle autorisé avec les propriétaires des dépôts d'images, le composant sans mot de passe peut tirer des images ACR entre différents comptes.

RRSA prend actuellement en charge le tirage d'images uniquement depuis les instances ACR Enterprise Edition (Basic, Standard et Pro).

Important
  • Après avoir activé RRSA, les identifiants générés par le composant ne peuvent pas tirer d'images privées depuis Personal Edition ni utiliser d'autres méthodes d'authentification décrites dans cette rubrique.

  • Pour activer RRSA pour le plug-in sans mot de passe, activez d'abord RRSA, puis configurez les paramètres liés à RRSA pour le plug-in. Si vous inversez cet ordre, supprimez le pod du plug-in sans mot de passe après la configuration pour que RRSA prenne effet.

  1. Activez RRSA pour votre cluster ACS. Pour plus d'informations, consultez la page Activer RRSA.

  2. ACS crée automatiquement un fournisseur RRSA OIDC pour le cluster. Dans la console du cluster, accédez à Basic Information > Security and Audit > RRSA > OIDC pour afficher l'URL du fournisseur et l'ARN du fournisseur.

  3. Le propriétaire du cluster configure un rôle RAM en utilisant le fournisseur OIDC et accorde les autorisations d'assomption de rôle.

    1. Créez un rôle RAM en utilisant le fournisseur OIDC ou associez un rôle RAM existant au fournisseur OIDC afin que le composant sans mot de passe puisse utiliser le rôle pour accéder à OpenAPI.

      Créer un rôle RAM en utilisant le fournisseur OIDC

      1. Connectez-vous à la console Resource Access Management (RAM) avec votre compte Alibaba Cloud.

      2. Dans le volet de navigation de gauche, choisissez Identities > Roles. Sur la page Roles, cliquez sur Create Role.

      3. Sur la page Create Role, cliquez sur Switch to Policy Editor. Définissez Principal sur Identity Provider. Configurez le rôle comme suit, puis cliquez sur OK.

      4. Utilisez l'exemple de configuration suivant.

        Élément de configuration

        Description

        IdP Type

        OIDC.

        Select IdP

        acs-rrsa-<cluster_id>. Remplacez <cluster_id> par l'ID de votre cluster.

        Condition

        • oidc:iss : Conservez la valeur par défaut.

        • oidc:aud : Conservez la valeur par défaut.

        • oidc:sub : Définissez l'opérateur de condition sur StringEquals. Utilisez le format system:serviceaccount:<namespace>:<serviceAccountName>.

          • <namespace> : Namespace de votre application.

          • <serviceAccountName> : Nom du compte de service.

          Pour le plug-in sans mot de passe, vous devez utiliser system:serviceaccount:kube-system:aliyun-acr-credential-helper.

      5. Dans la boîte de dialogue Create Role, définissez Role Name sur demo-role-for-rrsa. Cliquez sur OK.

      Associer un rôle RAM existant au fournisseur OIDC

      1. Connectez-vous à la console Resource Access Management (RAM) avec votre compte Alibaba Cloud.

      2. Dans le volet de navigation de gauche, choisissez Identities > Roles. Cliquez sur le nom de votre rôle RAM cible.

      3. Sur l'onglet Trust Policy, cliquez sur Edit Trust Policy. Pour plus d'informations, consultez la page Modifier la politique de confiance d'un rôle RAM.

      4. Ajoutez l'entrée d'exemple suivante à la liste Statement de la politique de confiance.

        {
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "oidc:aud": "sts.aliyuncs.com",
                    "oidc:iss": "<oidc_issuer_url>",
                    "oidc:sub": "system:serviceaccount:kube-system:aliyun-acr-credential-helper"
                }
            },
            "Effect": "Allow",
            "Principal": {
                "Federated": [
                    "<oidc_provider_arn>"
                ]
            }
        }
        Important

        Remplacez <oidc_issuer_url> et <oidc_provider_arn> par l'URL du fournisseur et l'ARN du fournisseur obtenus à l'étape 2.

    2. Attachez la stratégie d'autorisation AliyunSTSAssumeRoleAccess au rôle RAM afin que le composant sans mot de passe puisse assumer le rôle. Pour plus d'informations, consultez la page Gérer les autorisations d'un rôle RAM.

    3. Sur la page Basic Information > ARN, affichez l'ARN du rôle RAM.

  4. Configurez un rôle RAM pour le propriétaire du dépôt d'images, faites confiance au rôle RAM du propriétaire du cluster et accordez les autorisations de tirage d'images.

    1. Créez un rôle RAM. Pour plus d'informations, consultez la page Créer un rôle RAM avec un compte Alibaba Cloud comme entité de confiance.

    2. Faites confiance au rôle RAM du cluster ACS pour lui permettre d'assumer le rôle du propriétaire du dépôt. Pour plus d'informations, consultez la page Modifier la politique de confiance d'un rôle RAM. Utilisez le document de politique d'exemple suivant :

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "<acs_role_arn>"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
      Important

      Remplacez <acs_role_arn> par l'ARN du rôle RAM du cluster ACS obtenu à l'étape 3.

    3. Accordez les autorisations de tirage d'images au rôle RAM.

      1. Créez une stratégie personnalisée en mode d'édition de script. Le contenu du document de stratégie est le suivant. Nous vous recommandons de nommer la stratégie Name AliyunACRBasicAccess. Pour plus d'informations, consultez la page Créer une stratégie personnalisée.

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "cr:GetAuthorizationToken",
                        "cr:ListInstanceEndpoint",
                        "cr:PullRepository"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      2. Accordez l'autorisation AliyunACRBasicAccess au rôle RAM. Pour plus d'informations, consultez la page Gérer les autorisations d'un rôle RAM.

    4. [Facultatif] Définissez la Max Session Duration pour le rôle RAM. Les valeurs valides vont de 3600 à 43200 secondes. Si vous définissez la Max Session Duration, définissez également le paramètre expireDuration lors de la configuration de AcrInstanceInfo à l'étape 5.

    5. Sur la page Basic Information > ARN, affichez l'ARN du rôle RAM.

  5. Dans la configuration du composant sans mot de passe, sélectionnez Activer RRSA et configurez AcrInstanceInfo.

    Modifiez AcrInstanceInfo comme suit.

    Clé de paramètre

    Description

    Valeur de l'élément de configuration

    Activer RRSA

    Sélectionnez cette option pour activer RRSA (nécessite la complétion des configurations liées à RRSA).

    Sélectionné

    rrsaRoleARN

    ARN du rôle RAM du cluster ACS obtenu à l'étape 3.

    <acs_role_arn>

    rrsaOIDCProviderRoleARN

    ARN du fournisseur RRSA OIDC du cluster ACS obtenu à l'étape 2.

    oidc_provider_arn

    assumeRoleARN

    ARN du rôle RAM du propriétaire du dépôt d'images obtenu à l'étape 4.

    <acr_role_arn>

    expireDuration

    Durée de validité des identifiants temporaires générés par le composant sans mot de passe.

    Important

    La valeur de expireDuration doit être inférieure ou égale à la Max Session Duration définie pour le rôle du propriétaire du dépôt d'images à l'étape 4.

    Par défaut : 3600. Plage valide : [3600, 43200]. Unité : secondes.

Références