API-kérések kérésének Azure Stack Hub

A rest Azure Stack Hub REST API-k használatával automatizálhatja a műveleteket, például virtuális gépeket adhat hozzá a Azure Stack Hub felhőhöz.

Az API-k megkövetelik, hogy az ügyfél hitelesítést Microsoft Azure bejelentkezési végponton. A végpont egy jogkivonatot ad vissza, amely az API-knak küldött összes kérelem fejlécében Azure Stack Hub használ. Microsoft Azure Oauth 2.0-t használ.

Ez a cikk olyan példákat mutat be, amelyek a cURL segédprogrammal hoznak létre Azure Stack Hub kéréseket. A cURL egy parancssori eszköz, amely egy kódtárat tartalmaz az adatok átviteléhez. Ezek a példák a jogkivonatok leolvasásának folyamatát írják le a Azure Stack Hub API-k eléréséhez. A legtöbb programozási nyelv Oauth 2.0-kódtárakat biztosít, amelyek robusztus jogkivonat-kezelésekkel és olyan feladatok kezelésével, mint a token frissítése.

Tekintse át a Azure Stack Hub REST API-k általános REST-ügyféllel , például a cURL-selvaló használatának teljes folyamatát, hogy segítsen megérteni a mögöttes kéréseket, és hogy mire számíthat a válasz hasznos adatokban.

Ez a cikk nem vizsgálja meg a jogkivonatok leolvasásának összes elérhető beállítását, például az interaktív bejelentkezést vagy a dedikált alkalmazás-azonosítók létrehozását. További információ ezekről a témakörökről: Azure REST API referencia.

Jogkivonat lekérte az Azure-ból

Hozzon létre egy tartalomtípussal formázott kérelem törzsét x-www-form-urlencoded a hozzáférési jogkivonat beszerzéséhez. Tegye közzé kérését az Azure REST-hitelesítés és -bejelentkezési végpont számára.

URI

POST https://login.microsoftonline.com/{tenant id}/oauth2/token

A bérlőazonosító a következő lehet:

  • Az Ön bérlői tartománya, például fabrikam.onmicrosoft.com
  • Az Ön bérlőazonosítója, például 8eaed023-2b34-4da1-9baa-8bc8c9d6a491
  • Bérlőtől független kulcsok alapértelmezett értéke: common

Törzs utáni

grant_type=password
&client_id=1950a258-227b-4e31-a9cf-717495945fc2
&resource=https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155
&username=admin@fabrikam.onmicrosoft.com
&password=Password123
&scope=openid

Minden értékhez:

  • grant_type:
    A használni fogja a hitelesítési séma típusát. Ebben a példában az érték password .

  • erőforrás:
    Az erőforrás, amelyhez a jogkivonat hozzáfér. Az erőforrást a felügyeleti metaadatok végpontjának lekérdezésével Azure Stack Hub találhatja meg. Nézze meg a célközönségek szakaszt.

  • Azure Stack Hub felügyeleti végpont:

    https://management.{region}.{Azure Stack Hub domain}/metadata/endpoints?api-version=2015-01-01
    

    Megjegyzés

    Ha Ön rendszergazda, és megpróbál hozzáférni a bérlői API-hoz, mindenképpen a bérlői végpontot használja; például: https://adminmanagement.{region}.{Azure Stack Hub domain}/metadata/endpoints?api-version=2015-01-011 .

    Például ha a Azure Stack Development Kit (ASDK) végpontként van megszabadva:

    curl 'https://management.local.azurestack.external/metadata/endpoints?api-version=2015-01-01'
    

    Válasz:

    {
    "galleryEndpoint":"https://adminportal.local.azurestack.external:30015/",
    "graphEndpoint":"https://graph.windows.net/",
    "portalEndpoint":"https://adminportal.local.azurestack.external/",
    "authentication":{
       "loginEndpoint":"https://login.windows.net/",
       "audiences":["https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155"]
       }
    }
    

1\. példa

https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155
  • client_id

    Ez az érték szoftveres kóddal van kódolva az alapértelmezett értékre:

    1950a258-227b-4e31-a9cf-717495945fc2
    

    Adott forgatókönyvekhez alternatív lehetőségek érhetők el:

    Alkalmazás ApplicationID
    ÖrököltPowerShell 0a7bdc5c-7b57-40be-9939-d4c5fc7cd417
    PowerShell 1950a258-227b-4e31-a9cf-717495945fc2
    WindowsAzureActiveDirectory 00000002-0000-0000-c000-00000000000
    VisualStudio 872cd9fa-d31f-45e0-9eab-6e460a02d1f1
    AzureCLI 04b07795-8ddb-461a-bbee-02f9e1bf7b46
  • Felhasználónév

    Például a Azure Stack Hub Azure AD-fiók:

    azurestackadmin@fabrikam.onmicrosoft.com
    
  • alaphelyzetbe állítása

    Az Azure Stack Hub Azure AD rendszergazdai jelszava.

2\. példa

Kérés:

curl -X "POST" "https://login.windows.net/fabrikam.onmicrosoft.com/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "client_id=1950a258-227b-4e31-a9cf-717495945fc2" \
--data-urlencode "grant_type=password" \
--data-urlencode "username=admin@fabrikam.onmicrosoft.com" \
--data-urlencode 'password=Password12345' \
--data-urlencode "resource=https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155"

Válasz:

{
  "token_type": "Bearer",
  "scope": "user_impersonation",
  "expires_in": "3599",
  "ext_expires_in": "0",
  "expires_on": "1512574780",
  "not_before": "1512570880",
  "resource": "https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155",
  "access_token": "eyJ0eXAiOi...truncated for readability..."
}

API-lekérdezések

Miután lekérte a hozzáférési jogkivonatot, adja hozzá fejlécként az egyes API-kérelmekhez. Fejlécként való hozzáadásához hozzon létre egy engedélyezési fejlécet a következő értékkel: . Például:

Kérés:

curl -H "Authorization: Bearer eyJ0eXAiOi...truncated for readability..." 'https://adminmanagement.local.azurestack.external/subscriptions?api-version=2016-05-01'

Válasz:

offerId : /delegatedProviders/default/offers/92F30E5D-F163-4C58-8F02-F31CFE66C21B
id : /subscriptions/800c4168-3eb1-406b-a4ca-919fe7ee42e8
subscriptionId : 800c4168-3eb1-406b-a4ca-919fe7ee42e8
tenantId : 9fea4606-7c07-4518-9f3f-8de9c52ab628
displayName : Default Provider Subscription
state : Enabled
subscriptionPolicies : @{locationPlacementId=AzureStack}

URL-struktúra és lekérdezési szintaxis

Általános kérés URI, amely a következőkből áll: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}

  • URI-séma:
    Az URI a kérés elküldését használt protokollt jelzi. Például http vagy https.
  • URI-gazdagép:
    A gazdagép határozza meg annak a kiszolgálónak a tartománynevét vagy IP-címét, ahol a REST-szolgáltatásvégpont található, például graph.microsoft.com vagy adminmanagement.local.azurestack.external .
  • Erőforrás elérési útja:
    Az elérési út megadja az erőforrást vagy erőforrás-gyűjteményt, amely több, a szolgáltatás által az erőforrások kiválasztásához használt szegmenst is tartalmazhat. Például a használatával lekérdezhető egy adott alkalmazás tulajdonosainak listája az beta/applications/00003f25-7e1f-4278-9488-efc7bac53c4a/owners alkalmazásgyűjteményen belül.
  • Lekérdezési sztring:
    A sztring további egyszerű paramétereket is tartalmaz, például az API-verziót vagy az erőforrás-kiválasztási feltételeket.

Azure Stack Hub kérés URI-szerkezetének lekérése

{URI-scheme} :// {URI-host} / {subscription id} / {resource group} / {provider} / {resource-path} ? {OPTIONAL: filter-expression} {MANDATORY: api-version}

URI-szintaxis

https://adminmanagement.local.azurestack.external/{subscription id}/resourcegroups/{resource group}/providers/{provider}/{resource-path}?{api-version}

Példa lekérdezési URI-azonosítóra

https://adminmanagement.local.azurestack.external/subscriptions/800c4168-3eb1-406b-a4ca-919fe7ee42e8/resourcegroups/system.local/providers/microsoft.infrastructureinsights.admin/regionhealths/local/Alerts?$filter=(Properties/State eq 'Active') and (Properties/Severity eq 'Critical')&$orderby=Properties/CreatedTimestamp desc&api-version=2016-05-01"

Következő lépések

Az Azure REST-végpontok használatával kapcsolatos további információkért tekintse meg az Azure REST API referenciáját.