Tous les produits
Search
Centre de documentation

Elastic Container Instance:Extraire des images ACR sans secrets

Dernière mise à jour :Aug 11, 2026

Elastic Container Instance (ECI) permet d'extraire des images depuis Container Registry (ACR) sans utiliser de secrets, ce qui améliore l'efficacité et la sécurité. Cette rubrique explique comment activer cet accès sans secret.

Informations générales

Alibaba Cloud Container Registry (ACR) est disponible en éditions Personnelle et Entreprise. L'édition Entreprise est une plateforme de niveau entreprise destinée à la gestion des artefacts d'applications cloud-native. Elle assure la gestion du cycle de vie des images de conteneurs, des charts Helm et des artefacts conformes à OCI. Cette édition convient aux déploiements commerciaux à grande échelle et aide les entreprises à réduire la complexité de livraison. Pour plus d'informations, consultez la page Présentation de Container Registry (ACR).

Lorsque vous créez une instance ECI ou un cache d'image à partir d'une image ACR, vous pouvez configurer l'accès sans secret. Cette approche simplifie le processus, améliore l'efficacité et renforce la sécurité en évitant toute fuite d'identifiants.

Remarque

L'extraction sans secret n'est pas prise en charge pour les images autres que celles d'ACR, telles que les images Docker.

Prérequis

Avant de pouvoir extraire des images ACR sans secrets, effectuez les tâches suivantes :

  1. Créez une instance ACR et configurez ses référentiels d'images ainsi que les images elles-mêmes.

  2. Si vous utilisez une instance ACR Édition Entreprise, vous devez configurer les contrôles d'accès réseau.

    Par défaut, les nouvelles instances ACR Édition Entreprise sont déconnectées de tous les réseaux. Vous devez configurer une liste de contrôle d'accès (ACL) pour autoriser l'accès depuis Internet ou un Virtual Private Cloud (VPC).

Configuration

La prise en charge de l'extraction d'images sans secret varie selon le type d'instance ACR et selon que l'instance et la ressource ECI appartiennent au même compte Alibaba Cloud.

Scénario de compte

Type ACR

Prise en charge

Même compte

  • Édition Personnelle

  • Édition Entreprise (nom de domaine par défaut)

Activé par défaut. Vous pouvez configurer un rôle RAM pour restreindre la portée de l'accès sans secret.

Même compte

Édition Entreprise (nom de domaine personnalisé)

Non activé par défaut. Vous devez spécifier l'instance ACR pour activer l'accès sans secret.

Comptes différents

  • Édition Personnelle

  • Édition Entreprise

Non activé par défaut. Vous devez configurer un rôle RAM pour activer l'accès sans secret.

Choisissez la configuration correspondant à votre compte et à la configuration de votre instance ACR.

Restreindre l'accès avec un rôle RAM

Lorsqu'une instance ACR et une ressource ECI appartiennent au même compte Alibaba Cloud, l'accès sans secret est activé par défaut pour les instances Édition Personnelle et pour les instances Édition Entreprise utilisant un nom de domaine par défaut. Vous pouvez éventuellement configurer un rôle Resource Access Management (RAM) afin de restreindre cet accès, par exemple pour autoriser les extractions uniquement depuis une instance ACR spécifique.

Remarque

Par défaut, ECI utilise le rôle lié au service AliyunServiceRoleForECI pour accéder aux autres services cloud lors de la création de ressources ECI. Ce rôle inclut les autorisations nécessaires pour extraire des images depuis toutes les instances ACR Édition Personnelle et toutes les instances ACR Édition Entreprise utilisant un nom de domaine par défaut au sein du même compte, mais il ne permet pas un contrôle fin.

Cette configuration s'effectue en deux étapes.

Étape 1 : Créer et autoriser un rôle RAM

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

    Tenez compte des paramètres suivants :

    • Type de principal : Service Cloud

    • Nom du principal : Elastic Container Instance

    • Nom du rôle : acr-test (exemple)

  2. Créez une stratégie d'autorisation personnalisée. Pour plus d'informations, consultez la page Créer une stratégie d'autorisation personnalisée.

    La stratégie suivante autorise l'extraction d'images uniquement depuis l'instance ACR spécifiée. Pour plus d'informations sur la rédaction d'une stratégie d'autorisation, consultez la page Éléments de stratégie.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:Get*",
                    "cr:List*"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "cr:Pull*"
                ],
                "Resource": [
                    "acs:cr:cn-hangzhou:1609982529******:instance/cri-nwj395hgf6f3****"
                ]
            }
        ]
    }
  3. Attachez la stratégie d'autorisation personnalisée au rôle RAM. Pour plus d'informations, consultez la page Accorder des autorisations à un rôle RAM.

  4. Recherchez le nouveau rôle acr-test et cliquez sur son nom pour ouvrir la page des détails. Vérifiez les autorisations et récupérez l'ARN.

    Dans la section Informations de base, repérez le champ ARN (formaté comme acs:ram::<AccountID>:role/acr-test) et cliquez sur le bouton de copie situé à côté. Dans l'onglet Permissions, vérifiez que la stratégie personnalisée acr est bien attachée.

Étape 2 : Spécifier le rôle RAM

Lors de l'appel de l'opération CreateContainerGroup pour créer une instance ECI ou de l'opération CreateImageCache pour créer un cache d'image, définissez le paramètre AcrRegistryInfo.N.ArnService afin de spécifier le rôle RAM à utiliser pour la création de la ressource. Le tableau suivant décrit ce paramètre. Pour plus d'informations, consultez les pages CreateContainerGroup et CreateImageCache.

Paramètre

Type

Exemple

Description

AcrRegistryInfo.N.ArnService

string

acs:ram::1609982529:role/acr-test

L'ARN du rôle RAM dans le compte Alibaba Cloud propriétaire de la ressource ECI.

L'exemple suivant montre comment transmettre les paramètres via l'OpenAPI pour créer une instance ECI :

ContainerGroupName=test-acr
#Container
Container.1.Name=test
Container.1.Image=test****-registry.cn-hangzhou.cr.aliyuncs.com/eci_test/nginx:1.0
#AcrRegistryInfo
AcrRegistryInfo.1.ArnService=acs:ram::1609982529******:role/acr-test

Spécifier une instance ACR Édition Entreprise

Si une instance ACR Édition Entreprise utilise un nom de domaine personnalisé et appartient au même compte Alibaba Cloud que la ressource ECI, vous devez spécifier l'instance ACR pour activer l'accès sans secret.

API

Lors de l'appel de l'API CreateContainerGroup pour créer une instance ECI ou de l'API CreateImageCache pour créer un cache d'image, vous pouvez définir les paramètres liés à AcrRegistryInfo afin de spécifier une instance ACR. Le tableau suivant décrit ces paramètres. Pour plus d'informations, consultez les pages CreateContainerGroup et CreateImageCache.

Paramètre

Type

Exemple

Description

AcrRegistryInfo.N.RegionId

string

cn-beijing

La région de l'instance ACR Édition Entreprise.

Ce paramètre est requis si l'instance ACR Édition Entreprise et la ressource ECI se trouvent dans des régions différentes.

AcrRegistryInfo.N.InstanceId

string

cri-nwj395hgf6f3****

L'ID de l'instance ACR Édition Entreprise.

Ce paramètre est requis si l'instance ACR Édition Entreprise utilise un nom de domaine personnalisé.

Les exemples suivants montrent comment transmettre les paramètres via l'OpenAPI pour créer une instance ECI :

  • Exemple 1 : Spécifier uniquement l'ID de l'instance ACR

    ContainerGroupName=test
    #Container
    Container.1.Name=c1
    Container.1.Image=test****-registry.example.com/eci_test/nginx:1.0
    #AcrRegistryInfo
    AcrRegistryInfo.1.InstanceId=cri-nwj395hg********
  • Exemple 2 : Spécifier la région et l'ID de l'instance ACR

    ContainerGroupName=test
    #Container
    Container.1.Name=c1
    Container.1.Image=test****-registry.example.com/eci_test/nginx:1.0
    Container.2.Name=c2
    Container.2.Image=test****-registry.example.com/eci_test/busybox:1.0
    Container.2.Command=sleep
    Container.2.Arg=3600
    #AcrRegistryInfo
    AcrRegistryInfo.1.RegionId=cn-beijing
    AcrRegistryInfo.1.InstanceId=cri-nwj395hg********

Console

Lors de la création d'une instance ECI depuis la page d'achat ECI, accédez à la section Container Configuration. Sélectionnez ensuite une image pour un conteneur et utilisez l'onglet Enterprise Image pour spécifier une image provenant d'une instance ACR Édition Entreprise.

Dans la boîte de dialogue Enterprise Image, configurez les informations relatives à l'instance Container Registry (CRI), y compris la Region et le Instance Name. Sélectionnez ensuite le Image Repository et le Domain Name, puis cliquez sur OK.

Remarque

Vous ne pouvez pas spécifier une image provenant d'une instance ACR Édition Entreprise lors de la création d'un cache d'image dans la console.

Accès entre comptes avec des rôles RAM

Si l'instance ACR et la ressource ECI appartiennent à des comptes Alibaba Cloud différents, vous devez configurer et autoriser des rôles RAM dans les deux comptes pour activer l'accès sans secret.

Étape 1 : Créer et autoriser des rôles RAM

  1. Dans le Compte A, qui possède la ressource ECI, créez et autorisez un rôle RAM.

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

      Tenez compte des paramètres suivants :

      • Type de principal : Service Cloud

      • Nom du principal : Elastic Container Instance

      • Nom du rôle : role-assume (exemple)

    2. Accordez au rôle role-assume les autorisations nécessaires pour appeler l'opération AssumeRole du Security Token Service (STS). Pour plus d'informations, consultez la page Accorder des autorisations à un rôle RAM.

      Attachez la stratégie système AliyunSTSAssumeRoleAccess.

    3. Recherchez le rôle role-assume nouvellement créé, cliquez sur son nom pour accéder à la page des détails, puis vérifiez les autorisations et la stratégie de confiance, et récupérez l'ARN.

      • Autorisations et ARN

        L'ARN du rôle RAM est acs:ram::<AccountID>:role/role-assume. Le rôle bénéficie de la stratégie système AliyunSTSAssumeRoleAccess, qui lui permet d'appeler l'opération STS AssumeRole.

      • Stratégie de confiance

        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "eci.aliyuncs.com"
                ]
              }
            }
          ],
          "Version": "1"
        }
  2. Dans le Compte B, qui possède l'instance ACR, créez et autorisez un rôle RAM.

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

      Tenez compte des paramètres suivants :

      • Type de principal : Compte Alibaba Cloud

      • Nom du principal : Autre compte Alibaba Cloud. Saisissez l'ID du Compte A, qui possède la ressource ECI.

      • Nom du rôle : role-acr (exemple)

    2. Accordez au rôle role-acr les autorisations nécessaires pour extraire des images ACR. Pour plus d'informations, consultez la page Accorder des autorisations à un rôle RAM.

      Attachez la stratégie système AliyunContainerRegistryFullAccess.

    3. Modifiez la stratégie de confiance pour permettre au rôle role-assume d'endosser le rôle role-acr. Pour plus d'informations, consultez la page Modifier la stratégie de confiance d'un rôle RAM.

      Par défaut, le rôle role-acr peut être endossé par tout utilisateur RAM ou rôle RAM autorisé du Compte A. Nous vous recommandons de modifier la stratégie de confiance pour une autorisation précise.

      Dans la section Principal, remplacez la valeur du champ RAM par l'ARN du rôle role-assume. Cela garantit que seul le rôle role-assume peut endosser le rôle role-acr. Exemple :

      "Principal": {
      	"RAM": [
      		"acs:ram::1609982529******:role/role-assume"
      	]
      }
    4. Vérifiez les autorisations et la stratégie de confiance, et récupérez l'ARN.

      • Autorisations et ARN

        L'ARN du rôle role-acr est acs:ram::<AccountID>:role/role-acr. Vous pouvez cliquer sur le bouton de copie pour récupérer la valeur. Dans l'onglet Permissions, vérifiez que la stratégie système AliyunContainerRegistryFullAccess est attachée et que la portée des ressources est au niveau du compte.

      • Stratégie de confiance

        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "RAM": ["acs:ram::10051309xxxx:role/role-assume"]
              }
            }
          ],
          "Version": "1"
        }

Étape 2 : Spécifier les rôles RAM

Lors de l'appel de l'opération CreateContainerGroup ou CreateImageCache, vous pouvez définir les paramètres AcrRegistryInfo pour spécifier une instance ACR appartenant à un autre compte Alibaba Cloud. Tenez compte des points suivants :

  • Si l'instance ACR appartient à un autre compte Alibaba Cloud, vous devez définir les paramètres ArnService et ArnUser pour spécifier les rôles RAM nécessaires à la configuration des autorisations.

  • Si l'instance ACR Édition Entreprise utilise un nom de domaine personnalisé, vous devez également définir le paramètre InstanceId.

Pour plus d'informations, consultez les pages CreateContainerGroup et CreateImageCache.

Paramètre

Type

Exemple

Description

AcrRegistryInfo.N.ArnService

string

acs:ram::1609982529:role/role-assume

L'ARN du rôle RAM dans le compte propriétaire de la ressource ECI.

AcrRegistryInfo.N.ArnUser

string

acs:ram::1298452580:role/role-acr

L'ARN du rôle RAM dans le compte propriétaire de l'instance ACR.

AcrRegistryInfo.N.RegionId

string

cn-beijing

La région de l'instance ACR Édition Entreprise.

Ce paramètre est requis si l'instance ACR Édition Entreprise et la ressource ECI se trouvent dans des régions différentes.

AcrRegistryInfo.N.InstanceId

string

cri-nwj395hgf6f3****

L'ID de l'instance ACR Édition Entreprise.

Ce paramètre est requis si l'instance ACR Édition Entreprise utilise un nom de domaine personnalisé.

L'exemple suivant montre comment transmettre les paramètres via l'OpenAPI pour créer une instance ECI :

ContainerGroupName=test-acr
#Container
Container.1.Name=test
Container.1.Image=test****-registry.cn-hangzhou.cr.aliyuncs.com/eci_test/nginx:1.0
#AcrRegistryInfo
AcrRegistryInfo.1.ArnService=acs:ram::1609982529******:role/role-assume
AcrRegistryInfo.1.ArnUser=acs:ram::1298452580******:role/role-acr