Registratie van client-id's voor Universal Print (UP)
Vereiste API-machtigingen voor OEM-printerclienttoepassingen
Universal Print ondersteunt OAuth2-autorisatietoegangstoken dat is uitgegeven door Azure. Voor het ontwikkelen van een universal print-printer moet de OEM een clienttoepassing registreren bij Azure met de vereiste set machtigingen. OAuth2 definieert 2 typen machtigingenaanvragen.
Er zijn twee groeperingen van cloudomgevingen waarbij elk een eigen clienttoepassingsregistratie vereist. Een tenant in de respectieve cloudomgevingen is vereist om de registratie van de printerclienttoepassing in te dienen.
- Wereldwijde cloud (ook wel openbaar commercieel en GCC genoemd)
- Amerikaanse overheid (ook wel GCC-High en DoD genoemd)
Ga naar amerikaanse overheid specifieke informatie.
Tip
Als dezelfde printer meerdere cloudomgevingen kan ondersteunen, is het handig om beheerders de mogelijkheid te bieden om te kiezen in welke cloudomgeving ze zich bevinden.
Gedelegeerde bereikmachtigingen
Draagwijdte | Tekenreeks weergeven | Beschrijving | Beheerderstoestemming vereist |
---|---|---|---|
Printers.Create | Een nieuwe printer maken en registreren. | Hiermee kan de toepassing namens de aangemelde gebruiker een printer maken en registreren. | Ja |
Machtigingen voor toepassingsbereik
Draagwijdte | Tekenreeks weergeven | Beschrijving | Beheerderstoestemming vereist |
---|---|---|---|
Printers.Read | Leesprinters waar het account toegang toe heeft. | Hiermee kan de toepassing de printers lezen zonder een aangemelde gebruiker. | Ja |
PrinterProperties.ReadWrite | Lezen en schrijven van printereigenschappen en -kenmerken waartoe het account toegang heeft. | Hiermee kan de toepassing printereigenschappen en -kenmerken lezen en schrijven zonder een aangemelde gebruiker. | Ja |
PrintJob.ReadWriteBasic | Lees en schrijf de metagegevens van de afdruktaak. | Hiermee kan de toepassing de metagegevens van afdruktaken van gebruikers lezen en schrijven zonder een aangemelde gebruiker. | Ja |
PrintJob.Read | Lees de metagegevens en inhoud van de printopdracht. | Hiermee kan de toepassing de metagegevens en gegevensinhoud van afdruktaken van gebruikers lezen zonder dat er een gebruiker is aangemeld. | Ja |
Registratie van OEM-printerclient-applicatie
- Maak een app met meerdere tenants met behulp van de app-ontwikkelingstenant van uw bedrijf.
- Configureer de app voor meerdere tenants om de vereiste set machtigingsbereiken aan te vragen zoals hierboven is gedefinieerd.
- Printers.Create [Gedelegeerd]
- Printers.Read [Toepassing]
- PrinterProperties.ReadWrite [Toepassing]
- PrintJob.ReadWriteBasic [Applicatie]
- PrintJob.Read [Toepassing]
Nieuwe toepassing registreren
Kopieer de geregistreerde toepassings-id voor later gebruik
Instelling voor toepassingsverificatie instellen
Vereiste API-machtigingen toevoegen met behulp van Azure Portal
Nadat u op de knop 'Een machtiging toevoegen' hebt geklikt, wordt aan de rechterkant een flyout weergegeven. Selecteer "Microsoft API's" in het uitvouwmenu.
U moet waarschijnlijk omlaag schuiven in de flyout om 'Universal Print' te vinden
Voeg de hierboven genoemde machtigingen toe.
Wanneer de vereiste machtigingen worden toegevoegd, moeten de toepassingsmachtigingen er als volgt uitzien:
Zie alternatieve optie als u op zoek bent naar een andere manier om de API-machtigingen te configureren.
OEM Printer Client Application Publisher bijwerken
De geregistreerde toepassing heeft standaard een niet-geverifieerde uitgever. Als dit ongewijzigd blijft, zien klanten niet-geverifieerde in het toestemmingsdialoogvenster. Volg procedure: configureer het uitgeversdomein van een toepassing om de uitgever van de toepassing in te stellen.
Voor een snelle referentie zijn de kernstappen:
Notitie
Zodra deze printerclienttoepassings-id is geïntegreerd in de code die op de printer wordt uitgevoerd, wordt de beheerder gevraagd om deze toepassing toe te staan wanneer een printer die deze id gebruikt, registreert bij Universal Print in een tenant van de klant.
Wanneer het uitgeversdomein wordt bijgewerkt naar een gevalideerd domein, wordt in het dialoogvenster toestemming voor toepassingsmachtigingen de gevalideerde domeinwaarde weergegeven.
Voorbeeld van OAuth 2.0-apparaatverificatieaanvraag
Zodra de bovenstaande stappen zijn voltooid, kunt u om verificatie te vragen door een HTTP POST-aanvraag te versturen naar https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode
met de syntaxis van de HTTP-hoofdtekst te gebruiken.
client_id={registered printer client ID}&scope=https%3A%2F%2Fprint.print.microsoft.com%2F.default
POST https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
client_id=3e41cb36-3180-4566-bf3d-51ec873419e5&scope=https%3A%2F%2Fprint.print.microsoft.com%2F.default
Alternatieve optie om vereiste API-machtigingen toe te voegen
-
requiredResourceAccess
sectie zoeken in het manifest - Kopieer en plak de volgende vereiste API-machtigingen in het manifest. De eenvoudigste manier is het vervangen van de hele
requiredResourceAccess
sectie van het manifest.
"requiredResourceAccess": [
{
"resourceAppId": "da9b70f6-5323-4ce6-ae5c-88dcc5082966",
"resourceAccess": [
{
"id": "3e306194-d6c5-43ad-afbb-0e7b16a9c10b",
"type": "Scope"
},
{
"id": "1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8",
"type": "Role"
},
{
"id": "2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8",
"type": "Role"
},
{
"id": "b695614a-52ec-4835-9e13-bdf5ff4c7448",
"type": "Role"
},
{
"id": "11f87dac-027f-4d76-bd29-1ea1536b93da",
"type": "Role"
}
]
}
],
Waarde | Beschrijving |
---|---|
Draagwijdte | Deze resourcetoegang is gedefinieerd voor het gebruik van gedelegeerd machtigingsbereik. |
Rol | Deze resourcetoegang is gedefinieerd voor het gebruik van het machtigingsbereik van de toepassing. |
da9b70f6-5323-4ce6-ae5c-88dcc5082966 | De id van Universal Print in de globale Azure-cloud. |
3e306194-d6c5-43ad-afbb-0e7b16a9c10b | De ID van de machtiging [Printers.Create]. |
1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8 | De ID van de machtiging PrinterProperties.ReadWrite. |
2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8 | De ID van de machtiging Printers.Read. |
b695614a-52ec-4835-9e13-bdf5ff4c7448 | De ID van de machtiging voor PrintJob.Read. |
11f87dac-027f-4d76-bd29-1ea1536b93da | De id van de machtiging PrintJob.ReadWriteBasic. |
- Sla de wijzigingen op.
US Gov configuratie
De set scopemachtigingen en de definitie van de verschillende scopes zijn hetzelfde voor de Global cloud en USGov-clouds. Bij het toevoegen van ondersteuning voor de USGov-cloudomgeving kan de registratie van de clienttoepassing voor de globale cloudprinter niet worden gebruikt. Er is een afzonderlijke registratie van de printerclienttoepassing in de USGov-cloudomgeving vereist.
Als u de USGov-printerclienttoepassing wilt registreren met behulp van een USGov-ontwikkelingstenant, volgt u de stappen hierboven totdat de sectie Vereiste API-machtigingen toevoegen met behulp van Azure Portal.
Notitie
Op dit moment worden de bereikmachtigingen niet weergegeven op het tabblad 'Microsoft-API's'. Installeer in plaats daarvan de service-app van de eerste partij handmatig in de USGov-ontwikkelingstenant. Hierdoor worden de bereikmachtigingen weergegeven op het tabblad 'API's die mijn organisatie gebruikt'.
- Installeer de Azure PowerShell-module op een Windows-computer en volg de stappen hier
- Nadat de Azure PowerShell-module is geïnstalleerd, voert u de volgende opdrachten uit
Connect-AzAccount -Environment AzureUSGovernment
# Universal Print Service`
New-AzADServicePrincipal -ApplicationId 'da9b70f6-5323-4ce6-ae5c-88dcc5082966'
De bereikmachtigingen zijn nu te vinden in API's die mijn organisatie gebruikt tabblad onder de app Universal Print
Volg de bovenstaande algemene cloudstappen om de registratie van de printerclienttoepassing te voltooien.