Partager via


Point de terminaison de service CLI Azure DevOps

Azure DevOps Services

Une connexion de service permet à Azure DevOps de communiquer avec un service externe, tel qu’Azure, Bitbucket, Kubernetes, Maven et GitHub. Grâce à la commande az devops service-endpoint, vous pouvez créer et gérer différents types de connexions de service. Vous pouvez effectuer les tâches suivantes :

  • Créer un point de terminaison de service à l’aide d’un fichier de configuration
  • Mettre à jour un point de terminaison de service
  • Gérer les points de terminaison et les connexions de service GitHub
  • Gérer les points de terminaison et les connexions du service Azure Resource Manager
  • Répertorier les points de terminaison de service définis dans un projet
  • Obtenir les détails d’un point de terminaison de service

Pour obtenir une syntaxe de commande détaillée, consultez az devops service-endpoint. Pour obtenir une syntaxe sur l’API REST pour les points de terminaison de service, consultez Points de terminaison.

Vous pouvez utiliser des commandes Azure CLI pour obtenir des détails, répertorier, supprimer et mettre à jour un point de terminaison de service. Consultez les points de terminaison de service ou les connexions de service.

Pour utiliser le portail web afin de créer et de modifier des connexions de service, consultez Gérer les connexions de service.

Conseil

Les exemples de cet article utilisent des entités de service au lieu de l'authentification de base comme méthode d'authentification plus sécurisée. Pour plus d’informations, veuillez consulter la section Utiliser des principaux de service & identités managées dans Azure DevOps.

Créer un point de terminaison de service à l’aide d’un fichier de configuration

Pour créer un point de terminaison de service à l’aide d’un fichier de configuration, définissez d’abord le fichier de configuration. Le contenu du fichier de configuration varie en fonction du type de connexion, tel qu’Azure Classic, Azure Data Explorer, Bitbucket Cloud ou Chef.

Format des fichiers de configuration

La syntaxe suivante montre le format JSON du fichier de configuration.

{
  "data": {},
  "name": "MyNewServiceEndpoint",
  "type": "AzureRM",
  "url": "https://management.azure.com/",
  "authorization": {
    "parameters": {
      "tenantid": "your-tenant-id"
    },
    "scheme": "ManagedServiceIdentity"
  },
  "isShared": false,
  "isReady": true,
  "serviceEndpointProjectReferences": [
    {
      "projectReference": {
        "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        "name": "TestProject"
      },
      "name": "MyNewServiceEndpoint"
    }
  ]
}

La table ci-dessous décrit chaque paramètre. Le paramètre type prend en charge la création de n’importe quel type de point de terminaison de service.

Paramètre Type Descriptif
name ficelle Définit le nom convivial du point de terminaison.
type ficelle Définit le type du point de terminaison.
url ficelle Définit l’URL du point de terminaison.
authorization EndpointAuthorization Définit les données d’autorisation afin de communiquer avec le point de terminaison.
isShared boolean Indique si le point de terminaison de service est partagé avec d’autres projets.
isReady boolean Indicateur d’état EndPoint.
serviceEndpointProjectReferences Référence du projet Définit la référence du projet pour le point de terminaison de service.

Pour obtenir la liste des types pris en charge et leurs paramètres d’entrée requis, passez en revue l’entrée d’API REST suivante :

https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1

Pour obtenir une description des types et paramètres de connexion de service, consultez Types de connexion de service courants.

Exécutez la commande create.

Vous créez un point de terminaison de service avec la commande az devops service-endpoint create .

az devops service-endpoint create --service-endpoint-configuration 
                                  [--encoding {ascii, utf-16be, utf-16le, utf-8}]
                                  [--organization]
                                  [--project]

Parameters

  • service-endpoint-configuration : Obligatoire. Nom du fichier de configuration json contenant la configuration du point de terminaison de service.
  • encodage : Facultatif. Encodage du fichier d’entrée. La valeur par défaut est utf-8. Valeurs acceptées : ascii, utf-16be, utf-16le, utf-8.
  • organisation : URL de l’organisation Azure DevOps. Vous pouvez configurer l’organisation par défaut à l’aide de la commande az devops configure --defaults organization=ORG_URL. Obligatoire s’il n’est pas configuré en tant que valeur par défaut.
  • project : nom ou ID du projet. Vous pouvez configurer le projet par défaut à l’aide de la commande az devops configure --defaults project=NAME_OR_ID. Obligatoire s’il n’est pas configuré en tant que valeur par défaut.

Exemple

La commande suivante crée une connexion de service référençant le fichier ServiceConnectionGeneric.json .

az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json

Après la création, la commande affecte un Id au point de terminaison de service. Cet exemple retourne le résultat suivant.

{
  "administratorsGroup": null,
  "authorization": {
    "parameters": {
      "serviceprincipalid": "your-service-principal-id",
      "serviceprincipalkey": "your-service-principal-key",
      "tenantid": "your-tenant-id"
    },
    "scheme": "ServicePrincipal"
  },
  "createdBy": {
    "descriptor": "aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "directoryAlias": null,
    "displayName": "Jamal Hartnett",
    "id": "60c83423-4eb6-4c5e-8395-1e71cb4aef4c",
    "imageUrl": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "inactive": null,
    "isAadIdentity": null,
    "isContainer": null,
    "isDeletedInOrigin": null,
    "profileUrl": null,
    "uniqueName": "fabrikamfiber4@hotmail.com",
    "url": "https://spsprodwcus0.vssps.visualstudio.com/A0214b8cc-a36c-4b93-abbf-6348473c2f0a/_apis/Identities/60c83423-4eb6-4c5e-8395-1e71cb4aef4c"
  },
  "data": {},
  "description": null,
  "groupScopeId": null,
  "id": "3b6890ef-54b3-47ec-a907-a5d2f96237da",
  "isReady": true,
  "isShared": false,
  "name": "MyNewServiceEndpoint",
  "operationStatus": null,
  "owner": "library",
  "readersGroup": null,
  "serviceEndpointProjectReferences": [
    {
      "name": "MyNewServiceEndpoint",
      "projectReference": {
        "id": "677da0fb-b067-4f77-b89b-f32c12bb8617",
        "name": null
      }
    }
  ],
  "type": "Generic",
  "url": "https://myserver"
}

Créer un point de terminaison de service GitHub

Pour créer un point de terminaison de service GitHub, utilisez la commande az devops service-endpoint github create :

az devops service-endpoint github create --github-url
                                         --name 
                                         [--organization]
                                         [--project]

En mode interactif, la az devops service-endpoint github create commande vous invite à saisir le jeton GitHub PAT. À des fins d’automatisation, définissez le jeton PAT GitHub à l’aide de la variable d’environnement AZURE_DEVOPS_EXT_GITHUB_PAT . Pour plus d’informations, consultez Se connecter avec un jeton d’accès personnel.

Créer un point de terminaison de service Azure Resource Manager

Pour créer un point de terminaison de service Azure Resource Manager, utilisez la commande az devops service-endpoint azurerm create .

az devops service-endpoint azurerm create --azure-rm-service-principal-id
                                          --azure-rm-subscription-id
                                          --azure-rm-subscription-name
                                          --azure-rm-tenant-id
                                          --name
                                          [--azure-rm-service-principal-certificate-path] 
                                          [--organization]
                                          [--project]

Utiliser un secret client

En mode interactif, la az devops service-endpoint azurerm create commande vous invite à fournir un secret lié au principal de service. À des fins d’automatisation, définissez le secret du principal de service à l’aide de la variable d’environnement AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY.

export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>
$env:AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>

Utilisez un certificat client

Si l’application Microsoft Entra utilise un certificat pour l’authentification, créez un fichier .pem pour le certificat. Transmettez le chemin d’accès au fichier .pem à l’aide de l’argument --azure-rm-service-principal-certificate-path .

Vous pouvez créer un fichier .pem à l’aide d’OpenSSL :

openssl pkcs12 -in file.pfx -out file.pem -nodes -secret pass:<secret_here>