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 le 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 de plus amples informations, veuillez consulter 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 AWS KMS key KMS clé. 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 le CreateRepositoryAPIpour créer un dépôt, 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 de domaine dans la console CLI et dans la console. Consultez les CLI exemples 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 contenus dans my_repo dépôt dans le my_domain domaine appartenant à 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 contenus dans other-repo dépôt dans le other-domain domaine appartenant à un compte sur lequel 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 supporte uniquement les KMStouches symétriques. Vous ne pouvez pas utiliser de KMSclé asymétrique pour chiffrer vos CodeArtifact domaines. Pour plus d'informations, consultez la section Identification des clés symétriques et asymétriques KMS. Pour savoir comment créer une nouvelle clé gérée par le client, consultez la section Création de KMS clés de chiffrement symétriques dans le guide du AWS Key Management Service développeur.

CodeArtifact prend en charge les magasins 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 associées aux XKS clés, ce qui peut affecter la disponibilité, la durabilité et la latence CodeArtifact. Voici quelques exemples des effets de l'utilisation de XKS touches 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 construction peut être considérablement augmentée en augmentant la latence des XKS opérations.

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

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