必要な OEM プリンター クライアント アプリケーション API のアクセス許可
ユニバーサル印刷では、Azure によって発行された OAuth2 承認アクセス トークンがサポートされています。 ユニバーサル印刷対応プリンターを開発するには、OEM が必要なアクセス許可セットを使用してクライアント アプリケーションを Azure に登録する必要があります。 OAuth2 では、要求 2 種類のアクセス許可 定義されています。
クラウド環境には 2 つのグループがあり、それぞれに独自のクライアント アプリケーションの登録が必要です。 プリンター クライアント アプリケーションの登録を送信するには、それぞれのクラウド環境内のテナントが必要です。
- グローバル クラウド (パブリック 商用および GCC とも呼ばれる)
- 米国政府 (GCC-High および DoD とも呼ばれる)
米国政府の詳細情報 にジャンプします。
ヒント
同じプリンターで複数のクラウド環境をサポートできる場合は、管理者が自分のクラウド環境を選択できるようにすると便利です。
委任された範囲の権限
スコープ | 文字列の表示 | 説明 | 管理者の同意が必要 |
---|---|---|---|
Printers.Create | 新しいプリンターを作成して登録します。 | サインインしているユーザーの代わりに、アプリケーションでプリンターの作成と登録を行うことができます。 | はい |
アプリケーション スコープのアクセス許可
スコープ | 文字列の表示 | 説明 | 管理者の同意が必要 |
---|---|---|---|
プリンター.読み取り | アカウントがアクセスできるプリンターを読み取ります。 | アプリケーションがサインインしているユーザーなしでプリンターを読み取ることができます。 | はい |
プリンタープロパティ.ReadWrite | アカウントがアクセスできるプリンターのプロパティと属性の読み取りと書き込み。 | サインインしているユーザーなしで、アプリケーションでプリンターのプロパティと属性を読み書きできるようにします。 | はい |
PrintJob.ReadWriteBasic | 印刷ジョブのメタデータの読み取りと書き込み。 | サインインしているユーザーなしで、アプリケーションでユーザーの印刷ジョブのメタデータを読み書きできるようにします。 | はい |
PrintJob.Read | 印刷ジョブのメタデータとペイロードを読み取る。 | サインインしているユーザーなしで、アプリケーションがユーザーの印刷ジョブのメタデータとペイロードを読み取ることができます。 | はい |
OEM プリンター クライアント アプリケーションの登録
- 会社のアプリ開発テナントを使用してマルチテナント アプリを作成します。
- 上記で定義されているように、必要なアクセス許可スコープのセットを要求するようにマルチテナント アプリを構成します。
- プリンター.作成 [委任済み]
- Printers.Read [アプリケーション]
- PrinterProperties.ReadWrite [アプリケーション]
- PrintJob.ReadWriteBasic [アプリケーション]
- PrintJob.Read [アプリケーション]
新しいアプリケーションを登録する
後で使用するために、登録済みのアプリケーション ID をコピーします
クライアント ID
アプリケーション認証設定を設定する
アプリ認証設定
Azure portal を使用して必要な API アクセス許可を追加する
アクセス許可 を追加
[アクセス許可の追加] ボタンをクリックすると、右側にポップアップが表示されます。 ポップアップで、[Microsoft API] を選択します。
"ユニバーサル印刷" を見つけるには、ポップアップ内を下にスクロールする必要がある可能性があります
ユニバーサル印刷
上記のアクセス許可を追加します。
必要なアクセス許可が追加されると、アプリケーションのアクセス許可は次のようになります。
API アクセス許可 構成する別の方法を探している場合は、「代替オプション」 を参照してください。
OEM プリンター クライアント アプリケーションの発行元を更新する
既定では、登録済みアプリケーションには "未確認" の発行元が含まれます。 変更しない場合、アクセス許可の同意ダイアログに "未確認" が表示されます。 方法: アプリケーションの発行元を設定するようにアプリケーションのパブリッシャー ドメイン を構成する方法に従ってください。
クイック リファレンスの主要な手順は次のとおりです。
手記
このプリンター クライアント アプリケーション 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"
}
]
}
],
価値 | 説明 |
---|---|
スコープ | このリソース アクセスは、委任されたアクセス許可スコープを使用するように定義されています。 |
役割 | このリソース アクセスは、アプリケーションアクセス許可スコープを使用するように定義されています。 |
da9b70f6-5323-4ce6-ae5c-88dcc5082966 | Azure グローバル クラウドのユニバーサル印刷の ID。 |
3e306194-d6c5-43ad-afbb-0e7b16a9c10b | プリンター作成権限のID。 |
1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8 | PrinterProperties.ReadWrite アクセス許可の ID。 |
2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8 | プリンターの読み取り権限のID。 |
b695614a-52ec-4835-9e13-bdf5ff4c7448 | PrintJob.Read アクセス許可の ID。 |
11f87dac-027f-4d76-bd29-1ea1536b93da | PrintJob.ReadWriteBasic アクセス許可の ID。 |
マニフェスト
- 変更を保存します。
US Gov の構成
スコープのアクセス許可のセットと異なるスコープの定義は、グローバル クラウドと USGov クラウドの間で同じです。 USGov クラウド環境のサポートを追加する場合、グローバル クラウド プリンター クライアント アプリケーションの登録は使用できません。 USGov クラウド環境では、別のプリンター クライアント アプリケーションの登録が必要です。
USGov 開発テナントを使用して USGov プリンター クライアント アプリケーションを登録するには、「Azure portal を使用して必要な API アクセス許可を追加する」セクションまで、上記の手順に従います。
手記
現時点では、スコープのアクセス許可は [Microsoft API] タブには表示されません。代わりに、USGov 開発テナントにファースト パーティ サービス アプリを手動でインストールしてください。 これにより、スコープのアクセス許可は、"API " を組織が使用している [] タブで確認できます。
- ここで 手順に従って、Windows マシンに Azure PowerShell モジュールをインストール
- Azure PowerShell モジュールがインストールされたら、次のコマンドを実行します。
Connect-AzAccount -Environment AzureUSGovernment
# Universal Print Service`
New-AzADServicePrincipal -ApplicationId 'da9b70f6-5323-4ce6-ae5c-88dcc5082966'
組織 が使用する API は、[ユニバーサル印刷] アプリの [] タブ内で確認でき、その下には [
。
上記のグローバル クラウドの手順に従って、プリンター クライアント アプリケーションの登録を完了します。