Delen via


Verificatieschema's voor service-eindpunten

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Informatie over het instellen van de referenties in de HTTP-aanvraagheader wanneer u het externe eindpunt aanroept. Azure DevOps kan vervolgens verbinding maken met de externe service met behulp van de referenties. Azure DevOps ondersteunt een gesloten set verificatieschema's die worden gebruikt door een aangepast service-eindpunttype. Azure DevOps interpreteert het authenticatieschema dat wordt gebruikt in een aangepast eindpunt & om verbinding te maken met de externe service.

Zie de volgende verificatieschema's die deel uitmaken van de gesloten set.

Fooi

Bekijk onze nieuwste documentatie over uitbreidingsontwikkeling met behulp van de Azure DevOps Extension SDK.

Basisverificatie

Als beveiligingsmaatregel raden we u aan om service-principals te gebruiken & beheerde identiteiten via basisverificatie. Zie Service-principals gebruiken & beheerde identiteitenvoor meer informatie.

Verificatie op basis van tokens

Dit schema heeft één invoer : API-token (vertrouwelijk)

De standaardverificatieheader die wordt gebruikt, is: {{endpoint.apitoken}}

{
    "id": "endpoint-auth-scheme-token",
    "description": "i18n:Token based endpoint authentication scheme",
    "type": "ms.vss-endpoint.service-endpoint-type",
    "targets": [
        "ms.vss-endpoint.endpoint-types"
    ],
    "properties": {
        "name": "Token",
        "displayName": "i18n:Token Based Authentication",
        "authenticationSchemes": [
            {
                "type": "ms.vss-endpoint.endpoint-auth-scheme-token",
                "headers": [
                    {
                        "name": "Authorization",
                        "value": "{{endpoint.apitoken}}"
                    }
                ],
                "inputDescriptors": [
                    {
                        "id": "apitoken",
                        "name": "i18n:API Token",
                        "description": "i18n:API Token for connection to endpoint",
                        "inputMode": "textbox",
                        "isConfidential": true,
                        "validation": {
                            "isRequired": true,
                            "dataType": "string",
                            "maxLength": 300
                        }
                    }
                ]
            }
        ]
    }
}

Verificatie op basis van certificaten

Dit schema heeft één invoer - Certificaat (vertrouwelijk)

De waarde van het certificaat moet worden opgegeven in het tekstgebied.

{
    "id": "endpoint-auth-scheme-cert",
    "description": "i18n:Creates a certificate-based endpoint authentication scheme",
    "type": "ms.vss-endpoint.service-endpoint-type",
    "targets": [
        "ms.vss-endpoint.endpoint-types"
    ],
    "properties": {
        "name": "Certificate",
        "displayName": "i18n:Certificate Based",
        "authenticationSchemes": [
            {
                "type": "ms.vss-endpoint.endpoint-auth-scheme-cert",
                "inputDescriptors": [
                    {
                        "id": "certificate",
                        "name": "i18n:Certificate",
                        "description": "Content of the certificate",
                        "inputMode": "TextArea",
                        "isConfidential": true,
                        "validation": {
                            "isRequired": true,
                            "dataType": "string"
                        }
                    }
                ]
            }
        ]
    }
}

Geen verificatie

Dit schema wordt gebruikt wanneer een eindpunttype geen invoer hoeft te gebruiken. Bijvoorbeeld externe services die anonieme toegang tot de resources ondersteunen.

{
    "id": "endpoint-auth-scheme-none",
    "description": "i18n:Creates an endpoint authentication scheme with no authentication.",
    "type": "ms.vss-endpoint.endpoint-auth-scheme-none",
    "targets": [
        "ms.vss-endpoint.endpoint-auth-schemes"
    ],
    "properties": {
        "name": "None",
        "displayName": "i18n:No Authentication"
    }
}