Vue d'ensemble du domaine - CodeArtifact

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vue d'ensemble du domaine

Lorsque vous travaillez avec CodeArtifact, les domaines sont utiles pour les raisons suivantes :

  • Stockage dédupliqué : un actif ne doit être stocké qu'une seule fois dans un domaine, même s'il est disponible dans 1 ou 1 000 référentiels. Cela signifie que vous ne payez qu'une seule fois pour le stockage.

  • Copie rapide : lorsque vous extrayez des packages d'un CodeArtifact référentiel en amont vers un référentiel en aval ou que vous utilisez l'CopyPackageVersions API, seuls les enregistrements de métadonnées doivent être mis à jour. Aucune ressource n'est copiée. Cela permet de configurer rapidement un nouveau référentiel à des fins de test ou de test. Pour plus d’informations, consultez Utilisation de référentiels en amont dans CodeArtifact.

  • Partage aisé entre les référentiels et les équipes : tous les actifs et métadonnées d'un domaine sont chiffrés à l'aide d'une seule clé AWS KMS key (clé KMS). Il n'est pas nécessaire de gérer une clé pour chaque référentiel ni d'accorder à plusieurs comptes l'accès à une seule clé.

  • Appliquer une politique à plusieurs référentiels : l'administrateur du domaine peut appliquer une politique à l'ensemble du domaine. Cela inclut la restriction des comptes ayant accès aux référentiels du domaine et des personnes autorisées à configurer les connexions aux référentiels publics à utiliser comme sources de packages. Pour plus d'informations, consultez la section Politiques de domaine.

  • Noms de référentiels uniques : le domaine fournit un espace de noms pour les référentiels. Les noms de référentiels doivent uniquement être uniques au sein du domaine. Vous devez utiliser des noms significatifs et faciles à comprendre.

Les noms de domaine doivent être uniques au sein d'un compte.

Vous ne pouvez pas créer de référentiel sans domaine. Lorsque vous utilisez l'CreateRepositoryAPI pour créer un référentiel, vous devez spécifier un nom de domaine. Vous ne pouvez pas déplacer un dépôt d'un domaine vers un autre.

Un référentiel peut appartenir au même AWS compte qui possède le domaine, ou à un autre compte. Si les comptes propriétaires sont différents, le compte propriétaire du référentiel doit être CreateRepository autorisé à accéder à la ressource du domaine. Vous pouvez le faire en ajoutant une politique de ressources au domaine à l'aide de la PutDomainPermissionsPolicycommande.

Bien qu'une organisation puisse avoir plusieurs domaines, il est recommandé de disposer d'un seul domaine de production contenant tous les artefacts publiés afin que les équipes de développement puissent trouver et partager des packages au sein de leur organisation. Un deuxième domaine de pré-production peut être utile pour tester les modifications apportées à la configuration du domaine de production.

Domaines multi-comptes

Les noms de domaine doivent uniquement être uniques au sein d'un compte, ce qui signifie que plusieurs domaines peuvent porter le même nom au sein d'une même région. Pour cette raison, si vous souhaitez accéder à un domaine appartenant à un compte auprès duquel vous n'êtes pas authentifié, vous devez fournir l'ID du propriétaire du domaine ainsi que le nom du domaine dans la CLI et dans la console. Consultez les exemples de CLI suivants.

Accédez à un domaine appartenant à un compte sur lequel vous êtes authentifié :

Lorsque vous accédez à un domaine dans le compte auprès duquel vous êtes authentifié, il vous suffit de spécifier le nom de domaine. L'exemple suivant répertorie les packages du référentiel my_repo du domaine my_domain qui appartient à votre compte.

aws codeartifact list-packages --domain my_domain --repository my_repo

Accédez à un domaine appartenant à un compte pour lequel vous n'êtes pas authentifié :

Lorsque vous accédez à un domaine appartenant à un compte sur lequel vous n'êtes pas authentifié, vous devez spécifier le propriétaire du domaine ainsi que le nom de domaine. L'exemple suivant répertorie les packages du référentiel other-repo du domaine other-domain qui appartient à un compte auprès duquel vous n'êtes pas authentifié. Notez l'ajout du --domain-owner paramètre.

aws codeartifact list-packages --domain other-domain --domain-owner 111122223333 --repository other-repo

Types de AWS KMS clés pris en charge dans CodeArtifact

CodeArtifact ne prend en charge que les clés KMS symétriques. Vous ne pouvez pas utiliser de clé KMS asymétrique pour chiffrer vos CodeArtifact domaines. Pour plus d'informations, consultez la section Identification des clés KMS symétriques et asymétriques. Pour savoir comment créer une nouvelle clé gérée par le client, consultez la section Création de clés KMS de chiffrement symétriques dans le guide du AWS Key Management Service développeur.

CodeArtifact prend en charge les stockages de clés AWS KMS externes (XKS). Vous êtes responsable de la disponibilité, de la durabilité et de la latence des opérations clés avec les clés XKS, ce qui peut affecter la disponibilité, la durabilité et la latence. CodeArtifact Voici quelques exemples des effets de l'utilisation des touches XKS avec CodeArtifact :

  • Étant donné que chaque actif d'un package demandé et toutes ses dépendances sont soumis à une latence de déchiffrement, la latence de compilation peut être considérablement augmentée en augmentant la latence des opérations XKS.

  • Étant donné que tous les actifs sont chiffrés CodeArtifact, la perte des éléments clés XKS entraînera la perte de tous les actifs associés au domaine utilisant la clé XKS.

Pour plus d'informations sur les clés XKS, consultez la section Stockages de clés externes dans le manuel du AWS Key Management Service développeur.