Freigeben über


Authentifizierungsschemas für Dienstendpunkte

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Erfahren Sie, wie Sie die Anmeldeinformationen im HTTP-Anforderungsheader festlegen, wenn Sie den externen Endpunkt aufrufen. Azure DevOps kann dann mithilfe der Anmeldeinformationen eine Verbindung mit dem externen Dienst herstellen. Azure DevOps unterstützt einen geschlossenen Satz von Authentifizierungsschemas, die von einem benutzerdefinierten Dienstendpunkttyp verwendet werden. Azure DevOps interpretiert das Authentifizierungsschema, das in jeder angepassten Endpunkt & Verbindung zur Unterstützung des externen Dienstes verwendet wird.

Sehen Sie sich die folgenden Authentifizierungsschemas an, die Teil des geschlossenen Satzes sind.

Tipp

Schauen Sie sich unsere neueste Dokumentation zur Erweiterungsentwicklung mithilfe des Azure DevOps Extension SDKan.

Standardauthentifizierung

Als Sicherheitsmaßnahme empfehlen wir die Verwendung von Dienstprinzipalen & verwalteter Identitäten gegenüber der Basisauthentifizierung. Weitere Informationen finden Sie unter Verwenden von Dienstprinzipalen & verwaltete Identitäten.

Tokenbasierte Authentifizierung

Dieses Schema akzeptiert eine Eingabe – API-Token (vertraulich)

Der standardmäßig verwendete Authentifizierungs-Header lautet: {{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
                        }
                    }
                ]
            }
        ]
    }
}

Zertifikatbasierte Authentifizierung

Dieses Schema benötigt eine Eingabe – Zertifikat (vertraulich)

Der Wert des Zertifikats muss im Textbereich angegeben werden.

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

Keine Authentifizierung

Dieses Schema wird verwendet, wenn für einen Endpunkttyp keine Eingabe erforderlich ist. Zum Beispiel externe Dienste, die einen anonymen Zugriff auf ihre Ressourcen unterstützen.

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