Valider votre connexion

Ce document vous aide à vérifier que vos comptes de service et comptes AWS sont correctement activés pour accéder au service Assured Open Source Software.

Pour vérifier si vos comptes de service Google Cloud ou (pour le niveau sans frais uniquement) votre ID de compte AWS sont activés pour accéder au dépôt Assured OSS et au portefeuille de packages sélectionnés, listez les packages Java ou Python disponibles à l'aide d'une API. Pour ce faire, vous pouvez appeler directement les API ou utiliser Cloud Shell pour exécuter un appel de ligne de commande curl vers l'API.

Si vous utilisez le niveau sans frais, il est possible que vous rencontriez des erreurs d'autorisations refusées pendant une heure ou plus après l'envoi du formulaire d'activation du client.

Ce document s'applique aux niveaux premium et sans frais.

Avant de commencer

  1. Installez la dernière version de la Google Cloud CLI. Si vous avez déjà installé Google Cloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande suivante :

    gcloud components update
    
  2. Pour accéder à Assured OSS à l'aide de Google Cloud, activez l'API Artifact Registry pour le projet parent Google Cloud des comptes de service que vous avez activés pour Assured OSS. Si vous utilisez le niveau Premium, l'API est activée lors de la configuration.

  3. Ajoutez les URL suivantes à la liste d'autorisation de votre réseau :

    • *.pkg.dev
    • artifactregistry.googleapis.com

Configurer l'authentification

Pour Google Cloud

  1. Générez et téléchargez la clé du compte de service. Nous vous recommandons de suivre les bonnes pratiques de gestion des clés de compte de service.

  2. Si vous êtes déjà connecté à Google Cloud CLI, révoquez toute authentification existante :

    gcloud auth revoke
    
  3. S'authentifier auprès de Google Cloud :

    gcloud auth login --cred-file=FILEPATH.json
    

    FILEPATH est le chemin d'accès à la clé du compte de service.

  4. Mettez à jour les identifiants par défaut de l'application :

    export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.json
    

    FILEPATH est le chemin d'accès à la clé du compte de service.

Pour AWS

Ces étapes ne s'appliquent qu'au niveau sans frais d'Assured OSS.

  1. Configurez votre instance EC2 pour autoriser la demande d'identifiants temporaires.

    1. Connectez-vous à l'AWS Management Console.
    2. Dans la console AWS Management Console, accédez au tableau de bord EC2 et sélectionnez l'instance EC2 cible.
    3. Sélectionnez Actions > Sécurité > Modifier le rôle IAM.
    4. Sélectionnez Create New IAM Role > Create role (Créer un rôle IAM > Créer un rôle).
    5. Pour le type d'entité de confiance, sélectionnez Service AWS.
    6. Pour le cas d'utilisation, sélectionnez EC2.
    7. Ajoutez l'autorisation AmazonEC2ReadOnlyAccess, puis cliquez sur Suivant.
    8. Saisissez un nom explicite pour le rôle IAM, puis cliquez sur Suivant.
    9. Revenez à Modifier le rôle IAM. Sélectionnez le rôle que vous venez de créer, puis cliquez sur Mettre à jour le rôle IAM.
  2. Générez le fichier de configuration des identifiants :

    gcloud iam workload-identity-pools create-cred-config \
    projects/ASSIGNED_PROJECT_NUMBER/locations/global/workloadIdentityPools/aoss-wif-pool/providers/aws-AWS_ACCOUNT_ID-provider \
    --service-account=aoss-wif-aws-AWS_ACCOUNT_ID-sa@ASSIGNED_PROJECT_ID.iam.gserviceaccount.com \
    --aws \
    --output-file=FILEPATH.json
    

    Remplacez les éléments suivants :

    • AWS_ACCOUNT_ID : numéro à 12 chiffres de votre compte AWS (par exemple, 123456789012).
    • FILEPATH : fichier dans lequel enregistrer la configuration. + ASSIGNED_PROJECT_ID : ID du projet Google Cloud qui vous a été attribué, comme indiqué dans l'e-mail d'activation. + ASSIGNED_PROJECT_NUMBER : numéro de projet Google Cloud qui vous a été attribué, comme indiqué dans l'e-mail d'activation.

    Si vous utilisez AWS IMDSv2, ajoutez l'option --enable-imdsv2 à la commande précédente. Pour en savoir plus, consultez Créer une configuration d'identifiants.

  3. Si vous êtes déjà connecté à Google Cloud CLI, révoquez toute authentification existante :

    gcloud auth revoke
    
  4. S'authentifier auprès de Google Cloud :

    gcloud auth login --cred-file=FILEPATH.json
    

    FILEPATH est le chemin d'accès au fichier de configuration des identifiants.

  5. Mettez à jour les identifiants par défaut de l'application :

    export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.json
    

    FILEPATH est le chemin d'accès à la clé du compte de service ou au fichier de configuration des identifiants.

Pour résoudre les problèmes liés à l'authentification, consultez Résoudre les problèmes d'authentification.

Lister tous les packages Java disponibles dans Assured OSS

Vous pouvez utiliser une API REST pour lister tous les packages Java et leurs versions.

Pour le niveau sans frais d'Assured OSS, saisissez la requête HTTP suivante :

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"

Pour le niveau Premium d'Assured OSS, saisissez la requête HTTP suivante :

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages

Remplacez PROJECT_ID par l'ID du projet que vous avez sélectionné lors de la configuration d'Assured OSS.

Voici un exemple de commande curl permettant de se connecter au dépôt Java du niveau sans frais :

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"

La requête renvoie une réponse semblable à l'exemple suivant :

  {
    "mavenArtifacts": [
      {
        "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/com.alibaba:fastjson:1.2.83",
        "pomUri":
  "us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.pom",
        "groupId": "com.alibaba",
        "artifactId": "fastjson",
        "version": "1.2.83",