ユニバーサル プリント (UP) プリンター クライアント ID の登録
OEM Printer Client Application API に必要なアクセス許可
ユニバーサル プリントでは、Azure によって発行された OAuth2 認可アクセス トークンがサポートされています。 ユニバーサル プリント対応プリンターを開発するには、OEM が必要なアクセス許可のセットを使用してクライアント アプリケーションを Azure に登録する必要があります。 OAuth2 は 2 種類のアクセス許可 要求を定義します。
委任された範囲のアクセス許可
範囲 | 表示文字列 | 説明 | 管理者の同意が必要 |
---|---|---|---|
Printers.Create | 新しいプリンターを作成して登録します。 | サインインしているユーザーの代わりに、アプリケーションでプリンターの作成と登録を行うことができます。 | はい |
アプリケーション スコープのアクセス許可
範囲 | 表示文字列 | 説明 | 管理者の同意が必要 |
---|---|---|---|
Printers.Read | アカウントがアクセスできるプリンターを読み取りします。 | アプリケーションがサインイン済みユーザーなしでプリンターを読み取ることができます。 | はい |
PrinterProperties.ReadWrite | アカウントがアクセスできるプリンターのプロパティと属性の読み取りと書き込みをします。 | サインイン済みユーザーなしで、アプリケーションがプリンターのプロパティと属性を読み取りと書き取りを行えるようにします。 | はい |
PrintJob.ReadWriteBasic | 印刷ジョブのメタデータの読み取りと書き込みをします。 | サインイン済みユーザーなしで、アプリケーションがユーザーの印刷ジョブのメタデータの読み取りと書き取りを行えるようにします。 | はい |
PrintJob.Read | 印刷ジョブのメタデータとペイロードの読み取りをします。 | サインイン済みユーザーなしで、アプリケーションがユーザーの印刷ジョブのメタデータとペイロードを読み取りを行えるようにします。 | はい |
OEM プリンターのクライアント アプリケーションの登録
- 会社のアプリ開発テナントを使用してマルチテナント アプリを作成します。
- 必要なアクセス許可スコープのセットを、上記で定義されているように要求するようにマルチテナント アプリを構成します。
- Printers.Create [Delegated]
- Printers.Read [Application]
- PrinterProperties.ReadWrite [Application]
- PrintJob.ReadWriteBasic [Application]
- PrintJob.Read [Application]
新しいアプリケーションの登録
後で使用するために、登録したアプリケーション ID をコピーします
アプリケーション認証設定を設定する
Azure portal を使用して必要な API アクセス許可を追加する
「アクセス許可の追加」ボタンをクリックすると、右側にポップアップが表示されます。 ポップアップで、「Microsoft API」を選択します。
「ユニバーサル プリント」を見つけるには、ポップアップ内を下にスクロールする必要がある場合があります。
上記で言及したアクセス許可を追加します。
必要なアクセス許可が追加されると、アプリケーションのアクセス許可は次のようになります。
API アクセス許可を構成する別の方法を探している場合は、「代替オプション」を参照してください。
OEM プリンター のクライアント アプリケーションの発行元を更新する
既定では、登録済みアプリケーションには「未確認」の発行元が含まれます。 そのまま変更しない場合、アクセス許可の同意ダイアログに 「未確認」と表示されます。 「アプリケーションの発行元ドメインを構成する方法」に従って、アプリケーションの発行元を設定してください。
簡単な参考として、主要な手順は次のとおりです。
Note
このプリンター クライアント アプリケーション ID がプリンターで実行されているコードに統合されると、この ID を使用するプリンターが顧客テナントで初めて ユニバーサル プリントに登録されるときに、管理者はこのアプリケーションに同意するように求められます。
発行元のドメインが確認済みのドメインに更新されると、アプリケーションのアクセス許可要求の同意ダイアログに、確認済みのドメイン値が表示されます。
OAuth 2.0 デバイス認証要求のサンプル
上記の手順が完了したら、以下の HTTP 本文の構文を使用して https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode
に HTTP POST 要求を発行することで、検証を要求できます。
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
必要な API アクセス許可を追加するための代替候補オプション
- マニフェストの
requiredResourceAccess
セクションを見つける - 次の必要な API アクセス許可をコピーしてマニフェストに貼り付けます。 最も簡単な方法は、マニフェストの
requiredResourceAccess
セクション全体を置き換えることです。
"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"
}
]
}
],
Value | 説明 |
---|---|
スコープ | このリソース アクセスは、委任されたアクセス許可範囲を使用するように定義されています。 |
ロール | このリソース アクセスは、アプリケーションのアクセス許可範囲を使用するように定義されています。 |
da9b70f6-5323-4ce6-ae5c-88dcc5082966 | Azure グローバル クラウドのユニバーサル プリントの ID。 |
3e306194-d6c5-43ad-afbb-0e7b16a9c10b | Printers.Create アクセス許可の ID。 |
1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8 | PrinterProperties.ReadWrite アクセス許可の ID。 |
2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8 | Printers.Read アクセス許可の ID。 |
b695614a-52ec-4835-9e13-bdf5ff4c7448 | PrintJob.Read アクセス許可の ID。 |
11f87dac-027f-4d76-bd29-1ea1536b93da | PrintJob.ReadWriteBasic アクセス許可の ID。 |
- 変更を保存します。