Delen via


Azure DevOps CLI-service-eindpunt

Azure DevOps Services

Met een serviceverbinding kan Azure DevOps communiceren met een externe service, zoals Azure, Bitbucket, Kubernetes, Maven en GitHub. Met de az devops service-endpoint opdracht kunt u verschillende typen serviceverbindingen maken en beheren. U kunt de volgende taken uitvoeren:

  • Een service-eindpunt maken met behulp van een configuratiebestand
  • Een service-eindpunt bijwerken
  • GitHub-service-eindpunten en -verbindingen beheren
  • Azure Resource Manager-service-eindpunten en -verbindingen beheren
  • Service-eindpunten weergeven die zijn gedefinieerd voor een project
  • De details van een service-eindpunt ophalen

Zie az devops service-endpoint voor gedetailleerde opdrachtsyntaxis. Raadpleeg Eindpunten voor informatie over de syntaxis van de REST API met betrekking tot service-eindpunten.

U kunt Azure CLI-opdrachten gebruiken om details, lijsten, verwijderen en een service-eindpunt bij te werken. Zie Service-eindpunten of serviceverbindingen.

Zie Serviceverbindingen beheren als u de webportal wilt gebruiken om serviceverbindingen te maken en te bewerken.

Aanbeveling

In de voorbeelden in dit artikel worden service-principals gebruikt in plaats van basisverificatie als een veiligere methode voor verificatie. Voor meer informatie, zie Service-principals gebruiken & beheerde identiteiten in Azure DevOps.

Service-eindpunt maken met behulp van een configuratiebestand

Als u een service-eindpunt wilt maken met behulp van een configuratiebestand, definieert u eerst het configuratiebestand. De inhoud van het configuratiebestand verschilt, afhankelijk van het type verbinding, zoals Azure Classic, Azure Data Explorer, Bitbucket Cloud of Chef.

Indeling van configuratiebestand

De volgende syntaxis toont de JSON-indeling voor het configuratiebestand.

{
  "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"
    }
  ]
}

In de volgende tabel wordt elke parameter beschreven. De type parameter ondersteunt het maken van elk type service-eindpunt.

Kenmerk Typologie Omschrijving
name tekenreeks Hiermee stelt u de vriendelijke naam van het eindpunt in.
type tekenreeks Hiermee stelt u het type van het eindpunt in.
url tekenreeks Hiermee stelt u de URL van het eindpunt in.
authorization EindpuntAutorisatie Hiermee stelt u de autorisatiegegevens in voor het praten met het eindpunt.
isShared booleaan Geeft aan of het service-eindpunt wordt gedeeld met andere projecten.
isReady booleaan Eindpuntstatusindicator.
serviceEndpointProjectReferences Projectreferentie Hiermee stelt u de projectreferentie van het service-eindpunt in.

Bekijk de volgende REST API-vermelding voor een lijst met ondersteunde typen en de vereiste invoerparameters:

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

Zie Algemene serviceverbindingstypen voor een beschrijving van serviceverbindingstypen en -parameters.

De opdracht create uitvoeren

U maakt een service-eindpunt met de opdracht az devops service-endpoint create .

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

Parameterwaarden

  • service-eindpuntconfiguratie: vereist. Naam van het json configuratiebestand met de configuratie van het service-eindpunt.
  • codering: Optioneel. Codering van het invoerbestand. Standaard is utf-8. Geaccepteerde waarden: ascii, utf-16be, utf-16le, . utf-8
  • organisatie: URL van Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure --defaults organization=ORG_URL. Vereist als deze niet als standaard is geconfigureerd.
  • project: naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure --defaults project=NAME_OR_ID. Vereist als deze niet als standaard is geconfigureerd.

Voorbeeld

Met de volgende opdracht maakt u een serviceverbinding die verwijst naar het ServiceConnectionGeneric.json-bestand .

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

Na het maken wijst de opdracht een Id toe aan het service-eindpunt. In dit voorbeeld wordt het volgende resultaat geretourneerd.

{
  "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"
}

Een GitHub-service-eindpunt maken

Als u een GitHub-service-eindpunt wilt maken, gebruikt u de opdracht az devops service-endpoint github create :

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

In de interactieve modus vraagt de az devops service-endpoint github create opdracht u om een GitHub PAT-token. Voor automatiseringsdoeleinden stelt u het GitHub PAT-token in met behulp van de AZURE_DEVOPS_EXT_GITHUB_PAT omgevingsvariabele. Zie Aanmelden met een persoonlijk toegangstoken voor meer informatie.

Een Azure Resource Manager-service-eindpunt maken

Als u een Azure Resource Manager-service-eindpunt wilt maken, gebruikt u de opdracht 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]

Een clientgeheim gebruiken

In de interactieve modus vraagt de az devops service-endpoint azurerm create opdracht u om een geheim van de service-principal. Voor automatiseringsdoeleinden stelt u het geheim van de service-principal in met behulp van de omgevingsvariabele 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>

Een clientcertificaat gebruiken

Als de Microsoft Entra-toepassing gebruikmaakt van een certificaat voor verificatie, maakt u een PEM-bestand voor het certificaat. Geef het pad door naar het PEM-bestand met behulp van het --azure-rm-service-principal-certificate-path argument.

U kunt een PEM-bestand maken met Behulp van OpenSSL:

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