Ověřování v Partnerském centru

Platí pro: Partnerské centrum | Partnerské centrum provozovaný společností 21Vianet | Partnerské centrum pro Microsoft Cloud Germany | Partnerské centrum pro Microsoft Cloud for US Government

Partnerské centrum k ověřování využívá Azure Active Directory. Při práci s rozhraním API, sadou SDK nebo modulem PowerShellu Partnerského centra musíte správně nakonfigurovat aplikaci Azure AD a pak požádat o přístupový token. Přístupové tokeny získané pouze pomocí aplikace nebo ověřování aplikací a uživatelů je možné použít s Partnerské centrum. Je však potřeba zvážit dvě důležité položky.

  • Vícefaktorové ověřování použijte při přístupu k rozhraní PARTNERSKÉ CENTRUM API pomocí ověřování aplikací a uživatelů. Další informace o této změně najdete v tématu Povolení zabezpečeného aplikačního modelu.

  • Ne všechny operace, které rozhraní API Partnerské centrum podporuje pouze ověřování aplikací. Existují určité scénáře, ve kterých budete muset použít ověřování aplikací a uživatelů. Pod nadpisem Požadavky v každém článku najdetedokumentaci, která uvádí, jestli se podporuje jenom ověřování aplikací, ověřování aplikací a uživatelů nebo obojí.

Počáteční nastavení

  1. Nejprve se musíte ujistit, že máte primární účet Partnerské centrum i účet sandboxu pro integraci Partnerské centrum účet. Další informace najdete v tématu Nastavení účtů Partnerské centrum přístup přes rozhraní API. Poznamenejte si ID registrace aplikace Azure AAD a tajný klíč (tajný kód klienta se vyžaduje jenom pro identifikaci aplikace) pro primární účet i účet sandboxu pro integraci.

  2. Přihlaste se k Azure AD z Azure Portal. V části Oprávnění k jiným aplikacím nastavte oprávnění pro Windows Azure Active Directory na Delegovaná oprávnění a vyberte Přístup k adresáři jako přihlášený uživatel a Přihlásit se a Číst profil uživatele.

  3. V Azure Portal přidat aplikaci. Vyhledejte "Microsoft Partnerské centrum", což je aplikace Microsoft Partnerské centrum. Delegovaná oprávnění nastavte na Access Partnerské centrum API. Pokud používáte nástroj pro Partnerské centrum Microsoft Cloud Germany nebo Partnerské centrum pro Microsoft Cloud for US Government, je tento krok povinný. Pokud používáte globální instanci Partnerské centrum, je tento krok volitelný. Partneři CSP mohou pomocí funkce Správa aplikací na Partnerské centrum Portal obejít tento krok pro Partnerské centrum instanci.

Ověřování pouze na základě aplikace

Pokud chcete pro přístup k modulu Partnerské centrum REST API, .NET API, Java API nebo PowerShellu použít ověřování jenom pro aplikace, můžete to udělat podle následujících pokynů.

.NET (ověřování pouze na základě aplikace)

public static IAggregatePartner GetPartnerCenterTokenUsingAppCredentials()
{
    IPartnerCredentials partnerCredentials =
        PartnerCredentials.Instance.GenerateByApplicationCredentials(
            PartnerApplicationConfiguration.ApplicationId,
            PartnerApplicationConfiguration.ApplicationSecret,
            PartnerApplicationConfiguration.ApplicationDomain);

    // Create operations instance with partnerCredentials.
    return PartnerService.Instance.CreatePartnerOperations(partnerCredentials);
}

Java (ověřování pouze na základě aplikace)

Partnerská sada Java SDK se běžně používá pro partnery ke správě prostředků partnerského centra. Je to open source projekt udržovaný partnerskou komunitou. Vzhledem k tomu, že tento modul udržuje Partnerská komunita, společnost Microsoft je oficiálně Nepodporovaná. pokud se setkáte s problémem, můžete získat pomoc od komunity nebo otevřít problém v GitHub .

public IAggregatePartner getAppPartnerOperations()
{
    IPartnerCredentials appCredentials =
        PartnerCredentials.getInstance().generateByApplicationCredentials(
        PartnerApplicationConfiguration.getApplicationId(),
        PartnerApplicationConfiguration.getApplicationSecret(),
        PartnerApplicationConfiguration.getApplicationDomain());

    return PartnerService.getInstance().createPartnerOperations( appCredentials );
}

REST (ověřování pouze na základě aplikace)

Požadavek REST

POST https://login.microsoftonline.com/{tenantId}/oauth2/token HTTP/1.1
Accept: application/json
return-client-request-id: true
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: login.microsoftonline.com
Content-Length: 194
Expect: 100-continue

resource=https%3A%2F%2Fgraph.windows.net&client_id={client-id-here}&client_secret={client-secret-here}&grant_type=client_credentials

Odpověď REST

HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Content-Length: 1406

{"token_type":"Bearer","expires_in":"3600","ext_expires_in":"3600","expires_on":"1546469802","not_before":"1546465902","resource":"https://graph.windows.net","access_token":"value-has-been-removed"}

Ověřování aplikací a uživatelů

V minulosti se k vyžádání přístupového tokenu pro použití s modulem Partnerské centrum REST API, .NET API, Java API nebo PowerShell použilo udělení přihlašovacích údajů vlastníka prostředku. Tato metoda se použila k vyžádání přístupového tokenu od Azure Active Directory pomocí identifikátoru klienta a přihlašovacích údajů uživatele. Tento přístup ale už nebude fungovat, protože Partnerské centrum vyžaduje vícefaktorové ověřování při použití ověřování aplikací a uživatelů. Pro splnění tohoto požadavku společnost Microsoft zavedla zabezpečenou a škálovatelnou rozhraní pro ověřování partnerů Cloud Solution Provider (CSP) a dodavatelů ovládacích panelů (CPV) pomocí vícefaktorového ověřování. Tato rozhraní se označuje jako Model zapezpečených aplikací a skládá se z procesu souhlasu a žádosti o přístupový token pomocí obnovovacího tokenu.

Proces souhlasu partnera je interaktivní proces, ve kterém se partner ověřuje pomocí vícefaktorového ověřování, souhlasí s aplikací a obnovovací token je uložený v zabezpečeném úložišti, jako je Azure Key Vault. Pro tento proces doporučujeme použít vyhrazený účet pro účely integrace.

Důležité

Pro účet služby použitý v procesu souhlasu partnera by mělo být povolené vhodné řešení vícefaktorového ověřování. Pokud tomu tak není, výsledný obnovovací token nebude splňovat požadavky na zabezpečení.

Ukázky ověřování aplikací a uživatelů

Proces souhlasu partnera je možné provést několika způsoby. Aby partneři pochopili, jak provést jednotlivé požadované operace, vyvinuli jsme následující ukázky. Při implementaci vhodného řešení ve vašem prostředí je důležité vyvinout řešení, které je v souladu s vašimi standardy kódování a zásadami zabezpečení.

.NET (ověřování aplikací a uživatelů)

Ukázkový projekt souhlasu partnera ukazuje, jak využít web vyvinutý pomocí ASP.NET k zachycení souhlasu, vyžádání obnovovacího tokenu a jeho bezpečnému uložení v Azure Key Vault. Provedením následujících kroků vytvořte požadované součásti pro tuto ukázku.

  1. Vytvořte instanci služby Azure Key Vault pomocí Azure Portal nebo následujících příkazů PowerShellu. Před spuštěním příkazu nezapomeňte odpovídajícím způsobem upravit hodnoty parametrů. Název trezoru musí být jedinečný.

    Login-AzureRmAccount
    
    # Create a new resource group
    New-AzureRmResourceGroup -Name ContosoResourceGroup -Location EastUS
    
    New-AzureRmKeyVault -Name 'Contoso-Vault' -ResourceGroupName 'ContosoResourceGroup' -Location 'East US'
    

    Další informace o vytvoření Azure Key Vault najdete v tématu Rychlý start: Nastavení a načtení tajného klíče ze služby Azure Key Vault pomocí Azure Portal nebo Rychlý start: Nastavení a načtení tajného klíče z Azure Key Vault pomocí PowerShellu. Potom nastavte a načtěte tajný kód.

  2. Vytvořte aplikaci Azure AD a klíč pomocí Azure Portal nebo následujících příkazů.

    Connect-AzureAD
    
    $SessionInfo = Get-AzureADCurrentSessionInfo
    
    $app = New-AzureADApplication -DisplayName 'My Vault Access App' -IdentifierUris 'https://$($SessionInfo.TenantDomain)/$((New-Guid).ToString())'
    $password = New-AzureADApplicationPasswordCredential -ObjectId $app.ObjectId
    
    Write-Host "ApplicationId       = $($app.AppId)"
    Write-Host "ApplicationSecret   = $($password.Value)"
    

    Nezapomeňte si poznamenat hodnoty identifikátoru a tajného kódu aplikace, protože je použijete v následujících krocích.

  3. Udělte nově vytvořené aplikaci Azure AD oprávnění ke čtení tajných kódů pomocí Azure Portal nebo následujících příkazů.

    $app = Get-AzureADApplication -Filter {AppId -eq 'ENTER-APP-ID-HERE'}
    
    Set-AzureRmKeyVaultAccessPolicy -VaultName ContosoVault -ObjectId $app.ObjectId -PermissionsToSecrets get
    
  4. Vytvořte aplikaci Azure AD, která je nakonfigurovaná pro Partnerské centrum. K dokončení tohoto kroku proveďte následující akce.

    Nezapomeňte zdokumentovat *hodnoty ID aplikace,ID účtu a Klíč, protože je použijete v následujících krocích.

  5. Naklonovat úložiště Partner-Center-DotNet-Samples Visual Studio nebo následujícím příkazem.

    git clone https://github.com/Microsoft/Partner-Center-DotNet-Samples.git
    
  6. Otevřete projekt PartnerConsent v Partner-Center-DotNet-Samples\secure-app-model\keyvault adresáři .

  7. Vyplňte nastavení aplikace nalezená v web.config

    <!-- AppID that represents CSP application -->
    <add key="ida:CSPApplicationId" value="" />
    <!--
        Please use certificate as your client secret and deploy the certificate to your environment.
        The following application secret is for sample application only. please do not use secret directly from the config file.
    -->
    <add key="ida:CSPApplicationSecret" value="" />
    
    <!--
        Endpoint address for the instance of Azure KeyVault. This is
        the DNS Name for the instance of Key Vault that you provisioned.
     -->
    <add key="KeyVaultEndpoint" value="" />
    
    <!-- App ID that is given access for KeyVault to store refresh tokens -->
    <add key="ida:KeyVaultClientId" value="" />
    
    <!--
        Please use certificate as your client secret and deploy the certificate
        to your environment. The following application secret is for sample
        application only. please do not use secret directly from the config file.
    -->
    <add key="ida:KeyVaultClientSecret" value="" />
    

    Důležité

    Citlivé informace, jako jsou tajné kódy aplikací, by neměly být uložené v konfiguračních souborech. Bylo to tady, protože se jedná o ukázkovou aplikaci. U produkční aplikace důrazně doporučujeme používat ověřování pomocí certifikátů. Další informace najdete v tématu Přihlašovací údaje certifikátu pro ověřování aplikací.

  8. Při spuštění tohoto ukázkového projektu se zobrazí výzva k ověření. Po úspěšném ověření se z Azure AD vyžádá přístupový token. Informace vrácené z Azure AD zahrnují obnovovací token, který je uložený v nakonfigurované instanci Azure Key Vault.

Java (ověřování aplikací a uživatelů)

Ukázkový projekt souhlasu partnera ukazuje, jak využít web vyvinutý pomocí JSP k zachycení souhlasu, vyžádání obnovovacího tokenu a zabezpečeného úložiště v Azure Key Vault. Následujícím způsobem vytvořte požadované součásti pro tuto ukázku.

  1. Vytvořte instanci služby Azure Key Vault pomocí Azure Portal nebo následujících příkazů PowerShellu. Před spuštěním příkazu nezapomeňte odpovídajícím způsobem upravit hodnoty parametrů. Název trezoru musí být jedinečný.

    Login-AzureRmAccount
    
    # Create a new resource group
    New-AzureRmResourceGroup -Name ContosoResourceGroup -Location EastUS
    
    New-AzureRmKeyVault -Name 'Contoso-Vault' -ResourceGroupName 'ContosoResourceGroup' -Location 'East US'
    

    Další informace o vytvoření Azure Key Vault najdete v tématu Rychlý start: Nastavení a načtení tajného klíče ze služby Azure Key Vault pomocí Azure Portal nebo Rychlý start: Nastavení a načtení tajného klíče z Azure Key Vault pomocí PowerShellu.

  2. Vytvořte aplikaci Azure AD a klíč pomocí Azure Portal nebo následujících příkazů.

    Connect-AzureAD
    
    $SessionInfo = Get-AzureADCurrentSessionInfo
    
    $app = New-AzureADApplication -DisplayName 'My Vault Access App' -IdentifierUris 'https://$($SessionInfo.TenantDomain)/$((New-Guid).ToString())'
    $password = New-AzureADApplicationPasswordCredential -ObjectId $app.ObjectId
    
    Write-Host "ApplicationId       = $($app.AppId)"
    Write-Host "ApplicationSecret   = $($password.Value)"
    

    Nezapomeňte zdokumentovat hodnoty identifikátoru a tajného kódu aplikace, protože je použijete v následujících krocích.

  3. Udělte nově vytvořené aplikaci Azure AD oprávnění ke čtení tajných kódů pomocí Azure Portal nebo následujících příkazů.

    $app = Get-AzureADApplication -Filter {AppId -eq 'ENTER-APP-ID-HERE'}
    
    Set-AzureRmKeyVaultAccessPolicy -VaultName ContosoVault -ObjectId $app.ObjectId -PermissionsToSecrets get
    
  4. Vytvořte aplikaci Azure AD, která je nakonfigurovaná pro Partnerské centrum. K dokončení tohoto kroku proveďte následující kroky.

    Nezapomeňte zdokumentovat *hodnoty ID aplikace,ID účtu a Klíč, protože je použijete v následujících krocích.

  5. Naklonování úložiště Partner-Center-Java-Samples pomocí následujícího příkazu

    git clone https://github.com/Microsoft/Partner-Center-Java-Samples.git
    
  6. Otevřete projekt PartnerConsent v Partner-Center-Java-Samples\secure-app-model\keyvault adresáři .

  7. Naplnění nastavení aplikace nalezených v web.xml souboru

    <filter>
        <filter-name>AuthenticationFilter</filter-name>
        <filter-class>com.microsoft.store.samples.partnerconsent.security.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>client_id</param-name>
            <param-value></param-value>
        </init-param>
        <init-param>
            <param-name>client_secret</param-name>
            <param-value></param-value>
        </init-param>
        <init-param>
            <param-name>keyvault_base_url</param-name>
            <param-value></param-value>
        </init-param>
        <init-param>
            <param-name>keyvault_client_id</param-name>
            <param-value></param-value>
        </init-param>
        <init-param>
            <param-name>keyvault_client_secret</param-name>
            <param-value></param-value>
        </init-param>
        <init-param>
            <param-name>keyvault_certifcate_path</param-name>
            <param-value></param-value>
        </init-param>
    </filter>
    

    Důležité

    Citlivé informace, jako jsou tajné kódy aplikací, by neměly být uložené v konfiguračních souborech. Bylo to tady, protože se jedná o ukázkovou aplikaci. U produkční aplikace důrazně doporučujeme používat ověřování na základě certifikátů. Další informace najdete v tématu Key Vault certifikátu.

  8. Při spuštění tohoto ukázkového projektu se zobrazí výzva k ověření. Po úspěšném ověření se z Azure AD vyžádá přístupový token. Informace vrácené z Azure AD zahrnují obnovovací token, který je uložený v nakonfigurované instanci Azure Key Vault.

Cloud Solution Provider ověřování

Cloud Solution Provider partneři mohou použít obnovovací token získaný prostřednictvím procesu souhlasu partnera.

ukázky pro ověřování Cloud Solution Provider

Abychom pomohli partnerům pochopit, jak provést jednotlivé požadované operace, vyvinuli jsme následující ukázky. Při implementaci vhodného řešení ve vašem prostředí je důležité vyvíjet řešení, které je stížností se standardy kódování a zásadami zabezpečení.

.NET (ověřování CSP)

  1. Pokud jste to ještě neudělali, proveďte proces souhlasu s partnerem.

  2. naklonujte úložiště Partner-Center-DotNet-samples pomocí Visual Studio nebo následujícího příkazu.

    git clone https://github.com/Microsoft/Partner-Center-DotNet-Samples.git
    
  3. Otevřete projekt, který se CSPApplication nachází v Partner-Center-DotNet-Samples\secure-app-model\keyvault adresáři.

  4. Aktualizujte nastavení aplikace nalezené v souboru App.config .

    <!-- AppID that represents CSP application -->
    <add key="ida:CSPApplicationId" value="" />
    <!--
        Please use certificate as your client secret and deploy the certificate to your environment.
        The following application secret is for sample application only. please do not use secret directly from the config file.
    -->
    <add key="ida:CSPApplicationSecret" value="" />
    
    <!-- Endpoint address for the instance of Azure KeyVault -->
    <add key="KeyVaultEndpoint" value="" />
    
    <!-- AppID that is given access for keyvault to store the refresh tokens -->
    <add key="ida:KeyVaultClientId" value="" />
    
    <!--
        Please use certificate as your client secret and deploy the certificate to your environment.
        The following application secret is for sample application only. please do not use secret directly from the config file.
    -->
    <add key="ida:KeyVaultClientSecret" value="" />
    
  5. Nastavte příslušné hodnoty pro proměnné PartnerId a KódZákazníka , které se nacházejí v souboru program. cs .

    // The following properties indicate which partner and customer context the calls are going to be made.
    string PartnerId = "<Partner tenant id>";
    string CustomerId = "<Customer tenant id>";
    
  6. Když spustíte tento ukázkový projekt, získá obnovovací token získaný během procesu souhlasu s partnerem. Pak se požádá o přístupový token, který bude komunikovat s SDK partnerského centra za jménem partnera. nakonec vyžaduje přístupový token, který bude komunikovat s Microsoft Graph jménem zadaného zákazníka.

Java (ověřování CSP)

  1. Pokud jste to ještě neudělali, proveďte proces souhlasu s partnerem.

  2. naklonujte úložiště Partner-Center-Java-samples pomocí Visual Studio nebo následujícího příkazu.

    git clone https://github.com/Microsoft/Partner-Center-Java-Samples.git
    
  3. Otevřete projekt, který se cspsample nachází v Partner-Center-Java-Samples\secure-app-model\keyvault adresáři.

  4. Aktualizujte nastavení aplikace nalezené v souboru Application. Properties .

    azuread.authority=https://login.microsoftonline.com
    keyvault.baseurl=
    keyvault.clientId=
    keyvault.clientSecret=
    partnercenter.accountId=
    partnercenter.clientId=
    partnercenter.clientSecret=
    
  5. Když spustíte tento ukázkový projekt, získá obnovovací token získaný během procesu souhlasu s partnerem. Pak se požádá o přístupový token, který bude komunikovat s SDK partnerského centra za jménem partnera.

  6. volitelné – odkomentujte volání funkcí RunAzureTask a RunGraphTask , pokud chcete zjistit, jak pracovat s Azure Resource Manager a Microsoft Graph jménem zákazníka.

Ověřování poskytovatele ovládacích panelů

Dodavatelé ovládacích panelů potřebují, aby každý partner, který podporuje, prováděli proces souhlasu s partnerem . Po dokončení tohoto procesu se k přístupu k REST API partnerského centra a rozhraní .NET API použije aktualizační token získaný prostřednictvím tohoto procesu.

Ukázky pro ověřování poskytovatele na panelu cloudu

Aby mohli prodejci v Ovládacích panelech porozumět tomu, jak provést jednotlivé požadované operace, vyvinuli jsme následující ukázky. Při implementaci vhodného řešení ve vašem prostředí je důležité vyvíjet řešení, které je stížností se standardy kódování a zásadami zabezpečení.

.NET (ověřování CPV)

  1. vytvořte a nasaďte proces, který Cloud Solution Provider partnerům poskytnout příslušný souhlas. Další informace najdete v tématu o souhlasu partnera.

    Důležité

    přihlašovací údaje uživatele od partnera Cloud Solution Provider by se neměly ukládat. Obnovovací token získaný prostřednictvím procesu souhlasu s partnerem by měl být uložen a použit k vyžádání přístupových tokenů pro interakci s jakýmkoli rozhraním API společnosti Microsoft.

  2. naklonujte úložiště Partner-Center-DotNet-samples pomocí Visual Studio nebo následujícího příkazu.

    git clone https://github.com/Microsoft/Partner-Center-DotNet-Samples.git
    
  3. Otevřete projekt, který se CPVApplication nachází v Partner-Center-DotNet-Samples\secure-app-model\keyvault adresáři.

  4. Aktualizujte nastavení aplikace nalezené v souboru App.config .

    <!-- AppID that represents Control panel vendor application -->
    <add key="ida:CPVApplicationId" value="" />
    
    <!--
        Please use certificate as your client secret and deploy the certificate to your environment.
        The following application secret is for sample application only. please do not use secret directly from the config file.
    -->
    <add key="ida:CPVApplicationSecret" value="" />
    
    <!-- Endpoint address for the instance of Azure KeyVault -->
    <add key="KeyVaultEndpoint" value="" />
    
    <!-- AppID that is given access for keyvault to store the refresh tokens -->
    <add key="ida:KeyVaultClientId" value="" />
    
    <!--
        Please use certificate as your client secret and deploy the certificate to your environment.
        The following application secret is for sample application only. please do not use secret directly from the config file.
    -->
    <add key="ida:KeyVaultClientSecret" value="" />
    
  5. Nastavte příslušné hodnoty pro proměnné PartnerId a KódZákazníka , které se nacházejí v souboru program. cs .

    // The following properties indicate which partner and customer context the calls are going to be made.
    string PartnerId = "<Partner tenant id>";
    string CustomerId = "<Customer tenant id>";
    
  6. Když spustíte tento ukázkový projekt, získá obnovovací token pro zadaného partnera. potom vyžaduje přístupový token pro přístup k partnerským centrům a Graph Azure AD jménem partnera. Další úloha, kterou provede, je odstranění a vytvoření oprávnění udělených pro tenanta zákazníka. Vzhledem k tomu, že mezi dodavatelem ovládacího panelu a zákazníkem neexistuje žádný vztah, musí být tato oprávnění přidána pomocí rozhraní API partnerského centra. Následující příklad ukazuje, jak to provést.

    JObject contents = new JObject
    {
        // Provide your application display name
        ["displayName"] = "CPV Marketplace",
    
        // Provide your application id
        ["applicationId"] = CPVApplicationId,
    
        // Provide your application grants
        ["applicationGrants"] = new JArray(
            JObject.Parse("{\"enterpriseApplicationId\": \"00000002-0000-0000-c000-000000000000\", \"scope\":\"Domain.ReadWrite.All,User.ReadWrite.All,Directory.Read.All\"}"), // for Azure AD Graph access,  Directory.Read.All
            JObject.Parse("{\"enterpriseApplicationId\": \"797f4846-ba00-4fd7-ba43-dac1f8f63013\", \"scope\":\"user_impersonation\"}")) // for Azure Resource Manager access
    };
    
    /**
     * The following steps have to be performed once per customer tenant if your application is
     * a control panel vendor application and requires customer tenant Azure AD Graph access.
     **/
    
    // delete the previous grant into customer tenant
    JObject consentDeletion = await ApiCalls.DeleteAsync(
        tokenPartnerResult.Item1,
        string.Format("https://api.partnercenter.microsoft.com/v1/customers/{0}/applicationconsents/{1}", CustomerId, CPVApplicationId));
    
    // create new grants for the application given the setting in application grants payload.
    JObject consentCreation = await ApiCalls.PostAsync(
        tokenPartnerResult.Item1,
        string.Format("https://api.partnercenter.microsoft.com/v1/customers/{0}/applicationconsents", CustomerId),
        contents.ToString());
    

po navázání těchto oprávnění ukázka provede operace s využitím Azure AD Graph jménem zákazníka.

Java (ověřování CPV)

  1. vytvořte a nasaďte proces, který Cloud Solution Provider partnerům poskytnout příslušný souhlas. Další informace a příklad najdete v tématu o souhlasu partnera.

    Důležité

    přihlašovací údaje uživatele od partnera Cloud Solution Provider by se neměly ukládat. Obnovovací token získaný prostřednictvím procesu souhlasu s partnerem by měl být uložen a použit k vyžádání přístupových tokenů pro interakci s jakýmkoli rozhraním API společnosti Microsoft.

  2. Naklonujte úložiště partner-Center-Java-Samples pomocí následujícího příkazu.

    git clone https://github.com/Microsoft/Partner-Center-Java-Samples.git
    
  3. Otevřete projekt, který se cpvsample nachází v Partner-Center-Java-Samples\secure-app-model\keyvault adresáři.

  4. Aktualizujte nastavení aplikace nalezené v souboru Application. Properties .

    azuread.authority=https://login.microsoftonline.com
    keyvault.baseurl=
    keyvault.clientId=
    keyvault.clientSecret=
    partnercenter.accountId=
    partnercenter.clientId=
    partnercenter.clientSecret=
    partnercenter.displayName=
    

    Hodnota partnercenter.displayName by měla být zobrazovaným názvem vaší aplikace Marketplace.

  5. Nastavte příslušné hodnoty pro proměnné partnerId a KódZákazníka , které se nacházejí v souboru program. Java .

    partnerId = "SPECIFY-THE-PARTNER-TENANT-ID-HERE";
    customerId = "SPECIFY-THE-CUSTOMER-TENANT-ID-HERE";
    
  6. Když spustíte tento ukázkový projekt, získá obnovovací token pro zadaného partnera. Potom vyžaduje přístupový token pro přístup k partnerskému centru jménem partnera. Další úloha, kterou provede, je odstranění a vytvoření oprávnění udělených pro tenanta zákazníka. Vzhledem k tomu, že mezi dodavatelem ovládacího panelu a zákazníkem neexistuje žádný vztah, musí být tato oprávnění přidána pomocí rozhraní API partnerského centra. Následující příklad ukazuje, jak udělit oprávnění.

    ApplicationGrant azureAppGrant = new ApplicationGrant();
    
    azureAppGrant.setEnterpriseApplication("797f4846-ba00-4fd7-ba43-dac1f8f63013");
    azureAppGrant.setScope("user_impersonation");
    
    ApplicationGrant graphAppGrant = new ApplicationGrant();
    
    graphAppGrant.setEnterpriseApplication("00000002-0000-0000-c000-000000000000");
    graphAppGrant.setScope("Domain.ReadWrite.All,User.ReadWrite.All,Directory.Read.All");
    
    ApplicationConsent consent = new ApplicationConsent();
    
    consent.setApplicationGrants(Arrays.asList(azureAppGrant, graphAppGrant));
    consent.setApplicationId(properties.getProperty(PropertyName.PARTNER_CENTER_CLIENT_ID));
    consent.setDisplayName(properties.getProperty(PropertyName.PARTNER_CENTER_DISPLAY_NAME));
    
    // Deletes the existing grant into the customer it is present.
    partnerOperations.getServiceClient().delete(
        partnerOperations,
        new TypeReference<ApplicationConsent>(){},
        MessageFormat.format(
            "customers/{0}/applicationconsents/{1}",
            customerId,
            properties.getProperty(PropertyName.PARTNER_CENTER_CLIENT_ID)));
    
    // Consent to the defined applications and the respective scopes.
    partnerOperations.getServiceClient().post(
        partnerOperations,
        new TypeReference<ApplicationConsent>(){},
        MessageFormat.format(
            "customers/{0}/applicationconsents",
            customerId),
        consent);
    

pokud chcete vidět, jak pracovat s Azure Resource Manager a Microsoft Graph jménem zákazníka, odkomentujte volání funkcí RunAzureTask a RunGraphTask .