サービス エンドポイント認証スキーム
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
外部エンドポイントを呼び出すときに HTTP 要求ヘッダーで資格情報を設定する方法について説明します。 その後、Azure DevOps は資格情報を使用して外部サービスに接続できます。 Azure DevOps では、カスタム サービス エンドポイントの種類によって利用される、閉じた認証スキームのセットがサポートされています。 Azure DevOps は、外部サービスへの接続をサポート & カスタム エンドポイントで使用される認証スキームを解釈します。
閉じたセットの一部である次の認証スキームを参照してください。
ヒント
Azure DevOps Extension SDKを使用した拡張機能開発に関する最新のドキュメントをご覧ください。
基本認証
セキュリティ対策として、基本認証よりもサービス プリンシパル & マネージド ID を使用することをお勧めします。 詳細については、「サービス プリンシパル & マネージド ID を使用する」を参照してください。
トークン ベースの認証
このスキームは 1 つの入力を受け取ります - API トークン (機密)
使用される既定の認証ヘッダー: {{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
}
}
]
}
]
}
}
証明書ベースの認証
このスキームは 1 つの入力を受け取ります - 証明書 (社外秘)
証明書の値は、テキスト領域に指定する必要があります。
{
"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"
}
}
]
}
]
}
}
認証なし
このスキームは、エンドポイントの種類が入力を受け取る必要がない場合に使用されます。 たとえば、リソースへの匿名アクセスをサポートする外部サービスなどです。
{
"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"
}
}