API-kérések küldése az Azure Stack Hub számára

Az Azure Stack Hub REST API-jaival automatizálhatja a műveleteket, például virtuális gépet (VM-et) adhat hozzá az Azure Stack Hub-felhőhöz.

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

Ez a cikk példákat tartalmaz, amelyek a cURL segédprogramot használják az Azure Stack Hub-kérelmek létrehozásához. A cURL egy parancssori eszköz, amely egy kódtárat tartalmaz az adatok átviteléhez. Ezek a példák az Azure Stack Hub API-k eléréséhez szükséges jogkivonatok lekérésének folyamatát ismertetik. A legtöbb programozási nyelv Oauth 2.0 kódtárakat biztosít, amelyek robusztus jogkivonat-kezeléssel rendelkeznek, és olyan feladatokat kezelnek, mint a token frissítése.

Tekintse át az Azure Stack Hub REST API-k általános REST-ügyféllel (például cURL) való használatának teljes folyamatát, hogy megismerhesse a mögöttes kéréseket, és hogy mire számíthat a válasz hasznos adataiban.

Ez a cikk nem vizsgálja meg a jogkivonatok lekéréséhez rendelkezésre álló összes lehetőséget, például az interaktív bejelentkezést vagy a dedikált alkalmazásazonosítók létrehozását. Ezekről a témakörökről az Azure REST API referenciájában talál további információt.

Jogkivonat lekérése az Azure-ból

Hozzon létre egy tartalomtípussal x-www-form-urlencoded formázott kérelemtörzset a hozzáférési jogkivonat beszerzéséhez. TEGYE KÖZZÉ a kérést az Azure REST-hitelesítésre és a bejelentkezési végpontra.

URI

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

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

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

Törzs közzététele

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 kívánt hitelesítési séma típusa. Ebben a példában az érték a következő password: .

  • erőforrás:
    A jogkivonat által elért erőforrás. Az erőforrást az Azure Stack Hub felügyeleti metaadat-végpontjának lekérdezésével találja meg. Tekintse 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, aki megpróbál hozzáférni a bérlői API-hoz, mindenképpen használja a bérlői végpontot; például: https://adminmanagement.{region}.{Azure Stack Hub domain}/metadata/endpoints?api-version=2015-01-011.

    Például az Azure Stack Development Kit (ASDK) végpontként való használatával:

    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 egy alapértelmezett értékre van kódolva:

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

    Alternatív lehetőségek állnak rendelkezésre adott forgatókönyvekhez:

    Alkalmazás ApplicationID
    LegacyPowerShell 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 az Azure Stack Hub Microsoft Entra fiók:

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

    Az Azure Stack Hub Microsoft Entra rendszergazdai jelszót.

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 megkapta a hozzáférési jogkivonatot, adja hozzá fejlécként az egyes API-kérésekhez. Ha fejlécként szeretné hozzáadni, hozzon létre egy engedélyezési fejlécet a következő értékkel: Bearer <access token>. 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

Az általános kérelem URI-ja a következőkből áll: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}

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

Az Azure Stack Hub kérési URI-felépíté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-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áról az Azure REST API-referenciában talál további információt.