Les dépôts de connecteurs agissent comme des proxys pour les sources en amont et permettent de s'assurer que toutes les requêtes sont gérées par la source en amont. Contrairement aux dépôts distants, les dépôts de connecteurs ne mettent pas en cache les artefacts. Par conséquent, les dépôts de connecteurs sont utiles si vous avez besoin d'une auditabilité complète des sources en amont ou si vous devez respecter des règles tierces qui empêchent la mise en cache des artefacts.
Cette page explique comment créer des dépôts de connecteurs Artifact Registry.
Formats de connecteurs compatibles
Artifact Registry n'est compatible qu'avec les dépôts de connecteurs au format Docker.
Avant de commencer
- Activez l'API Artifact Registry, et installez Google Cloud CLI.
- Facultatif : configurez des valeurs par défaut pour les commandes gcloud CLI.
- Si vous avez besoin de clés de chiffrement gérées par le client (CMEK) pour chiffrer le contenu du dépôt, alors créez et activez une clé dans Cloud KMS pour le dépôt.
Activer l'API Secret Manager
gcloud services enable secretmanager.googleapis.com \ --project=PROJECT_IDSi Artifact Registry se trouve dans un périmètre de service VPC Service Controls, activez l'API Access Context Manager si elle n'est pas déjà activée.
gcloud services enable accesscontextmanager.googleapis.com \ --project=PROJECT_ID
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les dépôts, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Créer des dépôts de connecteurs et accorder l'accès à des dépôts individuels:
Administrateur Artifact Registry (
roles/artifactregistry.admin) sur le projet -
Enregistrer les identifiants de votre dépôt en amont dans une version secrète:
Administrateur Secret Manager (
roles/secretmanager.admin) sur le projet -
Accorder l'accès à des sources en amont en dehors d'un périmètre de service VPC Service Controls :
Éditeur Access Context Manager (
roles/accesscontextmanager.policyEditor) sur l'organisation de la ressource où la règle d'accès est appliquée
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un dépôt de connecteurs
Lorsque vous créez un dépôt de connecteurs, vous devez configurer les paramètres suivants, qui ne peuvent pas être modifiés une fois le dépôt créé :
- Le format d'artefact, qui ne peut être que Docker.
- Le mode de dépôt défini sur "connecteur".
- La source en amont du dépôt de connecteurs.
- Emplacement du dépôt .
- Le chiffrement avec Google Cloud-powered encryption keys ou des clés de chiffrement gérées par le client. Par défaut, Artifact Registry utilise Google Cloud-powered encryption keys .
Artifact Registry applique des contraintes de règles d'administration qui nécessitent que CMEK chiffre les ressources ou limite les clés Cloud KMS pouvant être utilisées pour la protection CMEK.
Console
Ouvrez la page Dépôts dans la Cloud de Confiance console.
Cliquez sur Créer un dépôt.
Spécifiez le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
Dans la section Format, sélectionnez Docker.
Dans la section Mode de dépôt, sélectionnez Connecteur.
Dans la section Source du dépôt de connecteurs, sélectionnez l'une des options suivantes :
- Docker Hub : le connecteur utilise Docker Hub (
https://docker.io) comme dépôt en amont. - Personnalisé : le connecteur utilise une autre URL Docker en amont pour le dépôt en amont.
- Docker Hub : le connecteur utilise Docker Hub (
Si vous sélectionnez Personnalisé, saisissez l'URL complète du dépôt dans le champ Dépôt personnalisé. L'URL ne peut pas être modifiée une fois le dépôt créé.
Pour obtenir des exemples d'URL en amont courantes, consultez la section Sources en amont personnalisées.
Dans la section Mode d'authentification du dépôt de connecteurs, saisissez les informations suivantes :
- Un nom d'utilisateur pour votre dépôt en amont.
- Un secret pour stocker vos identifiants dans Secret Manager.
Vous pouvez modifier ces valeurs après avoir créé le dépôt.
Dans la section Type d'emplacement, sélectionnez l'emplacement du dépôt :
Choisissez le type d'emplacement : régional ou multirégional. La liste des emplacements change pour refléter votre sélection.
Dans la liste Région ou Multirégional, sélectionnez un emplacement.
Pour en savoir plus sur les types d'emplacement et les emplacements compatibles, consultez la section Emplacements des dépôts.
Ajoutez une description pour le dépôt. Les descriptions vous aident à identifier l'objectif du dépôt et le type d'artefacts qu'il contient.
N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
Si vous souhaitez utiliser des libellés pour organiser vos dépôts, cliquez sur Ajouter un libellé et saisissez la paire clé-valeur du libellé. Vous pouvez ajouter, modifier ou supprimer des libellés après avoir créé le dépôt.
Dans la section Chiffrement, choisissez le mécanisme de chiffrement du dépôt.
- Google Cloud-powered encryption key : chiffre le contenu du dépôt à l'aide d'une clé Google Cloud-powered encryption key.
- Clé gérée par le client : chiffre le contenu du dépôt à l'aide d'une clé que vous contrôlez via Cloud Key Management Service. Pour obtenir des instructions sur la configuration de la clé, consultez la page Configurer des CMEK pour les dépôts.
Dans la section Artifact Analysis, choisissez les paramètres d'analyse des failles :
Activé : autorise l'analyse dans ce dépôt. L'API Container Scanning doit être activée dans votre projet.
La facturation commence immédiatement après l'activation de l'API Container Scanning. Une fois l'API Container Scanning activée dans un projet, l'analyse des failles est activée pour tous les dépôts nouveaux et existants. Lorsque vous transférez une image vers Artifact Registry, elle est automatiquement analysée par Artifact Analysis.
Désactivé : empêche l'analyse dans ce dépôt. Si l'API Container Scanning est activée dans votre projet, l'analyse se poursuit sur d'autres dépôts. Ce dépôt sera exclu.
Pour en savoir plus sur les options d'analyse des failles, consultez Activer et désactiver l'analyse automatique.
Cliquez sur Créer.
Artifact Registry crée le dépôt et l'ajoute à la liste des dépôts.
gcloud CLI
Pour créer un dépôt de connecteurs, exécutez la commande permettant de créer un dépôt de connecteurs Docker ou un dépôt de connecteurs personnalisé.
gcloud artifacts repositories create CONNECTOR-REPOSITORY-NAME \
--project=PROJECT_ID \
--location=LOCATION \
--description="DESCRIPTION" \
--repository-format=docker \
--mode=connector-repository \
--remote-docker-repo="UPSTREAM-NAME" \
--remote-username="USERNAME" \
--remote-password-secret-version="PASSWORD" \
L'option --mode=connector-repository est requise pour définir le dépôt comme dépôt de connecteurs. L'option --repository-format doit être docker.
Remplacez les éléments suivants :
CONNECTOR-REPOSITORY-NAME: nom du dépôt Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.PROJECT_ID: ID du projet Si cette option est ignorée, le projet en cours ou par défaut est utilisé.LOCATION: emplacement régional ou multirégional du dépôt Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commandegcloud artifacts locations list.DESCRIPTION: facultatif Description du dépôt de connecteurs N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.UPSTREAM-NAME: nom en amont prédéfini ou URL définie par l'utilisateur du dépôt en amontUSERNAME: facultatif Votre nom d'utilisateur pour vous authentifier auprès du dépôt en amontPASSWORD: facultatif Version secrète contenant le mot de passe de votre dépôt en amont
Par exemple, la commande suivante crée un dépôt de connecteurs nommé
my-connector-repo, qui connecte un dépôt Jfrog en amont à
le Cloud de Confiance projet my-project. L'URL complète du dépôt en amont est https://my-account.jfrog.io/scoped-repo.
gcloud artifacts repositories create my-connector-repo \
--project=my-project \
--location=us-east1 \
--repository-format=docker \
--mode=connector-repository \
--remote-docker-repo=https://my-account.jfrog.io/scoped-repo \
--remote-username=my-username \
--remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1
Pour en savoir plus sur l'authentification auprès des dépôts en amont, consultez Authentifier les dépôts de connecteurs auprès des sources en amont.
Terraform
Utilisez la ressource google_artifact_registry_repository
pour créer des dépôts.
terraform-provider-google version
5.0.0 ou ultérieure est requise.
Si vous débutez avec Terraform pour Cloud de Confiance by S3NS, consultez la page Premiers pas Cloud de Confiance by S3NS sur le site Web de HashiCorp.
L'exemple suivant définit le fournisseur et un dépôt de connecteurs avec le
Terra nom de ressource my-repo.
```hcl
provider "google" {
project = "PROJECT-ID"
}
resource "google_artifact_registry_repository" "NAME" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "docker"
mode = "REMOTE_REPOSITORY"
# Setting mode="REMOTE_REPOSITORY" and no_cache() together configures the repository as a connector-type repository.
remote_repository_config {
description = "CONFIG_DESCRIPTION"
docker_repository {
public_repository = "DOCKER_HUB"
}
no_cache {}
}
}
```
Replace the following:
* `PROJECT-ID`: the Cloud de Confiance project ID.
* `NAME`: the name of your repository.
* `LOCATION`: the repository location.
* `REPOSITORY_ID`: the repository ID.
* `DESCRIPTION`: optional. A description for the repository.
Do not include sensitive data. Repository descriptions are
not encrypted.
* `KEY`: the name of the Cloud Key Management Service key, if you are using
[customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
this argument to use the default setting, Google-managed encryption
keys.
* `CONFIG_DESCRIPTION`: optional. A description of the remote
source.
Une fois le dépôt créé, procédez comme suit :
- Accorder l'accès au dépôt.
- Configurez Docker, les gestionnaires de packages et d'autres clients tiers pour vous authentifier auprès des dépôts.
- Configurez les dépôts de connecteurs Artifact Registry pour vous authentifier auprès de leurs sources en amont.
Modifier les descriptions des dépôts
Vous pouvez modifier la description du dépôt à partir de Cloud de Confiance console ou de la gcloud CLI.
Console
Ouvrez la page Dépôts dans la Cloud de Confiance console.
Dans la liste des dépôts, sélectionnez le dépôt, puis cliquez sur Modifier le dépôt.
Modifiez la description du dépôt, puis cliquez sur Enregistrer.
gcloud
Pour mettre à jour la description du dépôt, exécutez la commande suivante :
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
Remplacez les éléments suivants :
REPOSITORY: nom du dépôt Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.PROJECT: ID du projet Cloud de Confiance by S3NS Si cette option est ignorée, le projet en cours ou par défaut est utilisé.-
LOCATIONest l'emplacement régional du dépôt. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut. DESCRIPTION: description du dépôt
Accès aux sources en amont dans un périmètre de service
Les services d'un périmètre de service VPC Service Controls ont un accès limité aux ressources en dehors du périmètre.
Vous pouvez autoriser ou refuser l'accès aux sources en amont dans un projet et un emplacement spécifiés Cloud de Confiance .
Par défaut, Artifact Registry refuse l'accès aux sources en amont si vous ne l'avez pas explicitement accordé.
Pour Artifact Registry, le rôle requis est Administrateur Artifact Registry (roles/artifactregistry.admin).
Afficher les paramètres des sources en amont
Pour afficher la configuration d'une combinaison spécifique de projet et d'emplacement, exécutez la commande suivante :
gcloud artifacts vpcsc-config describe \
--project=PROJECT_ID \
--location=LOCATION
Par exemple, utilisez la commande suivante pour afficher les paramètres des dépôts de connecteurs dans us-east1 du projet my-project :
gcloud artifacts vpcsc-config describe \
--project=my-project \
--location=us-east1
Autoriser l'accès aux sources en amont
Pour autoriser l'accès aux sources en amont dans un emplacement spécifié, exécutez la commande suivante :
gcloud artifacts vpcsc-config allow \
--project=PROJECT_ID \
--location=LOCATION
Par exemple, utilisez la commande suivante pour autoriser tous les dépôts de connecteurs de us-east1 dans le projet my-project à accéder à leurs sources en amont en dehors du périmètre :
gcloud artifacts vpcsc-config allow \
--project=my-project \
--location=us-east1
Refuser l'accès aux sources en amont
Pour refuser l'accès aux sources en amont dans un emplacement spécifié, exécutez la commande suivante :
gcloud artifacts vpcsc-config deny \
--project=PROJECT_ID \
--location=LOCATION
Par exemple, utilisez la commande suivante pour bloquer l'accès aux sources en amont en dehors du périmètre pour tous les dépôts de connecteurs de us-west1 dans le projet my-project :
gcloud artifacts vpcsc-config deny \
--project=my-project \
--location=us-west1
Étape suivante
- En savoir plus sur les dépôts de connecteurs Artifact Registry .
- Authentifier les dépôts de connecteurs auprès des sources en amont.