オンプレミス展開における Warehouse Management モバイルアプリのユーザー ベース認証
Warehouse Management モバイル アプリは、以下のタイプのユーザー ベース認証をサポートしています:
- デバイス コード フロー認証
- ユーザー名とパスワード認証
デバイス コード フロー認証
デバイス コード フロー認証を使用する場合、Warehouse Management モバイル アプリは一意のデバイス コードを生成して表示します。 デバイスを設定するユーザーは、このデバイス コードを入力する必要があります。 また、管理者がどのようにシステムを実装したかに応じて、デバイス自体またはサインインするユーザーを表す Microsoft Active Directory ユーザー アカウントの認証情報 (ユーザー名とパスワード) を入力する必要があります。 モバイル アプリには、固有のデバイス コードに加えて、ユーザーがコードを入力する必要がある URL と Active Directory ユーザーアカウントの認証情報が表示されます。
デバイスコードフロー認証はユーザーが証明書やクライアント シークレットを管理する必要がないので、認証プロセスが簡略化します。 ただし、追加の要件と制限がいくつか追加されています。
- デバイスまたはユーザーごとに固有の Active Directory ユーザー アカウントを作成する必要があります。 さらに、これらのアカウント は、倉庫のモバイル デバイス ユーザー活動のみを実行できるよう、厳密に制限する必要があります。
- Active Directory Services (AD FS) サーバーの構成方法によって、デバイスが認証される期間が決まります。
- デバイス コード フローは、Intune などの移動式大量配置 (MDM) システムで完全にサポートされていません。
重要
デバイス コード フローからのログインに使用されるすべての Active Directory アカウントには、倉庫管理タスクの実行に必要な最小限のアクセス許可セットのみを付与する必要があります。 アクセス許可は、倉庫のモバイル デバイス ユーザー活動に限定する必要があります。 管理者アカウントを使用してデバイスにログインすることはできません。
AD FS デバイス コード更新トークンの有効期間
デバイス コード フローを使用するように設定されたモバイル デバイスは、限られた時間の間認証されます。 デバイスが認証されると、AD FS は更新トークンをそのデバイスに発行します。 更新トークンは、新しいアクセス トークンを取得するために使用される資格情報です。 更新トークンの期間は限定されています。 最大有効期間は、AD FS サーバーによって決定されます。
AD FS サーバー設定では、デバイス コードの最大有効期間を確認できます。 値は分単位で入力されます。
デバイス コードの最大有効期間を確認するには、次のコマンドを Windows PowerShell で実行します。
Get-AdfsProperties | Select-Object -Property SSOLifetime
デバイス コードの最大有効期間を更新するには、以下のコマンドを実行します。
Set-AdfsProperties -SSOLifetime <value>
更新トークンの詳細については、更新トークン を参照してください。
SSOLifetime
の詳細については、AD FS のシングル サインオンの設定 を参照してください。
AD FS でのネイティブ アプリケーション ユーザーの作成
Warehouse Management モバイル アプリが特定の Dynamics 365 Supply Chain Management サーバーとやりとりできるようにするには、AD FS の Supply Chain Management テナントに Web サービス アプリケーションを登録する必要があります。 このタスクを完了するに当たっての手順を以下に示します。
ネイティブ アプリケーションでサポートするデバイス タイプを決定します。 たとえば、Windows、Android、iOS のデバイスをサポートするとします。
各デバイス タイプのリダイレクト URI をメモします。 これらの URI は、AD FS でネイティブ アプリケーションを作成する際に必要です。
- Windows:ms-appx-web://microsoft.aad.brokerplugin/S-1-15-2-3857744515-191373067-2574334635-916324744-1634607484-364543842-2321633333
- Android:msauth://com.microsoft.warehousemanagement/hpavxC1xAIAr5u39m1waWrUbsO8=
- iOS:msauth.com.microsoft.WarehouseManagement://auth
注記
デバイス コード フローに必要なリダイレクト URI は不要です。 ただし、ユーザー名とパスワード認証方法を使用する場合は、これらの情報を指定する必要があります。
ご利用の AD FS サーバーにアクセスします。
管理者として PowerShell ウィンドウを開きます。
次のコマンドを実行して、AD FS でネイティブ アプリケーションを作成します。
$applicationGuid = New-Guid # Example: Add-AdfsNativeClientApplication -ApplicationGroupIdentifier "Microsoft Dynamics 365 for Operations On-premises" -Name "Microsoft Dynamics 365 for Operations On-Premises - WMA DeviceCode - WH1 - D1" -Identifier $applicationGuid -RedirectUri @("msauth://com.microsoft.warehousemanagement/hpavxC1xAIAr5u39m1waWrUbsO8=","msauth.com.microsoft.WarehouseManagement://auth","ms-appx-web://microsoft.aad.brokerplugin/S-1-15-2-3857744515-191373067-2574334635-916324744-1634607484-364543842-2321633333") Add-AdfsNativeClientApplication -ApplicationGroupIdentifier <Application group Identifier> -Name <Native client application name> -Identifier $applicationGuid -RedirectUri <Redirect URIs>
アプリケーションへのアクセス許可を付与するには、次のコマンドを実行します。
#Example: Grant-AdfsApplicationPermission -ClientRoleIdentifier $applicationGuid -ServerRoleIdentifier "https://ax.contosoen08.com" -ScopeNames openid Grant-AdfsApplicationPermission -ClientRoleIdentifier $applicationGuid -ServerRoleIdentifier <Environment FQDN> -ScopeNames openid
Finance + Operations (on-premises) でモバイル デバイス ユーザー アカウントを設定する
Warehouse Management モバイルアプリのユーザー認証情報に対応するユーザーを作成するには、次の手順に従います。
- Supply Chain Management で、システム管理>ユーザー>ユーザー に移動します。
- ユーザーを作成します。
- ユーザーに倉庫のモバイル デバイス ユーザーのロールを割り当てます。
ユーザーベースの認証を使用するデバイスのアクセスの削除
デバイスが紛失したりセキュリティが侵害された場合、デバイスの Finance + Operations (on-premises) へのアクセスする能力を削除する必要があります。 紛失または漏洩したデバイスがデバイスコードフローを使用して認証されている場合、Active Directory で関連ユーザーを無効にする必要があります。 こうすることで、そのユーザーに関連付けられているデバイスコードを使用するすべてのデバイスのアクセスを効果的に取り消すことができます。 このため、デバイスごとに 1 人の Active Directory ユーザーを使用することをお勧めします。
次の手順に従い、Active Directory のユーザーを無効化します。
- Active Directory のユーザーとコンピュータ ツールで、デバイスに関連付けられているユーザーを検索します。
- ユーザーを選択して保留 (または右クリック) し、アカウントの無効化 を選択してユーザーのアカウントを無効にします。
注記
認証システムの設定方法によっては、ユーザーのパスワードを変更したり、ユーザー アカウントを完全に無効にすることもできます。