次の方法で共有


Microsoft Entra ID でハードウェア OATH トークンを管理する方法 (プレビュー)

このトピックでは、ハードウェア OATH トークンのアップロード、アクティブ化、割り当てに使用できる Microsoft Graph API など、Microsoft Entra ID でハードウェア OATH トークンを管理する方法について説明します。

認証方法ポリシーでハードウェア OATH トークンを有効にする

Microsoft Graph API または Microsoft Entra 管理センターを使用して、認証方法ポリシーでハードウェア OATH トークンを表示および有効にできます。

  • API を使用してハードウェア OATH トークン ポリシーの状態を表示するには:

    GET https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/hardwareOath
    
  • API を使用してハードウェア OATH トークン ポリシーを有効にするには。

    PATCH https://graph.microsoft.com/beta/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/hardwareOath
    

    要求本文で、次のように追加します。

    {
      "state": "enabled"
    }
    

Microsoft Entra 管理センターでハードウェア OATH トークンを有効にするには:

  1. 少なくとも認証ポリシー管理者として Microsoft Entra 管理センターにサインインします。

  2. [保護]>[認証方法]>[ハードウェア OATH トークン] (プレビュー) の順に移動します。

  3. [有効] を選択し、ポリシーに含めるユーザーのグループを選択して、[保存] をクリックします。

    Microsoft Entra 管理センターでハードウェア OATH トークンを有効にする方法のスクリーンショット。

ハードウェア OATH トークンを管理するには、認証方法ポリシーに移行することをお勧めします。 レガシ MFA ポリシーで OATH トークンを有効にする場合は、Microsoft Entra 管理センターで認証ポリシー管理者としてポリシーに移動します: [保護]>[多要素認証]>[追加のクラウドベースの多要素認証設定][モバイル アプリまたはハードウェア トークンからの確認コード] のチェック ボックスをクリアします。

シナリオ: 管理者がハードウェア OATH トークンを作成、割り当て、アクティブ化する

このシナリオでは、必要な API 呼び出しや検証手順など、管理者としてハードウェア OATH トークンを作成、割り当て、アクティブ化する方法について説明します。

Note

ポリシーの伝達には最大 20 分の遅延が発生する可能性があります。 ポリシーが更新されるまでに 1 時間ほどかかるため、その後でユーザーはハードウェア OATH トークンを使用してサインインし、セキュリティ情報で確認できるようになります。

認証ポリシー管理者がトークンを作成してユーザーに割り当てる例を見てみましょう。 アクティブ化せずに割り当てを許可できます。

この例の POST の本文では、デバイスから serialNumber を見つけることができ、secretKey が配信されます。

POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
{ 
"serialNumber": "GALT11420104", 
"manufacturer": "Thales", 
"model": "OTP 110 Token", 
"secretKey": "C2dE3fH4iJ5kL6mN7oP1qR2sT3uV4w", 
"timeIntervalInSeconds": 30, 
"assignTo": {"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"}
}

応答には、トークン id と、トークンが割り当てられているユーザー id が含まれます。

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/authenticationMethodDevices/hardwareOathDevices/$entity",
    "id": "3dee0e53-f50f-43ef-85c0-b44689f2d66d",
    "displayName": null,
    "serialNumber": "GALT11420104",
    "manufacturer": "Thales",
    "model": "OTP 110 Token",
    "secretKey": null,
    "timeIntervalInSeconds": 30,
    "status": "available",
    "lastUsedDateTime": null,
    "hashFunction": "hmacsha1",
    "assignedTo": {
        "id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "displayName": "Test User"
    }
}

認証ポリシー管理者がトークンをアクティブ化する方法を次に示します。 要求本文の確認コードを、ハードウェア OATH トークンのコードに置き換えます。

POST https://graph.microsoft.com/beta/users/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/authentication/hardwareOathMethods/3dee0e53-f50f-43ef-85c0-b44689f2d66d/activate

{ 
    "verificationCode" : "903809" 
}

トークンがアクティブになっていることを検証するには、テスト ユーザーとしてセキュリティ情報にサインインします。 Microsoft Authenticator からのサインイン要求の承認を求めるメッセージが表示されたら、[確認コードの使用] を選択します。

GET を使用してトークンを一覧表示できます。

GET https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices 

この例では、トークンを 1 つ作成します。

POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices

要求本文で、次のように追加します。

{ 
"serialNumber": "GALT11420104", 
"manufacturer": "Thales", 
"model": "OTP 110 Token", 
"secretKey": "abcdef2234567abcdef2234567", 
"timeIntervalInSeconds": 30, 
"hashFunction": "hmacsha1" 
}

応答にはトークン ID が含まれます。

#### Response
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/authenticationMethodDevices/hardwareOathDevices/$entity",
    "id": "3dee0e53-f50f-43ef-85c0-b44689f2d66d",
    "displayName": null,
    "serialNumber": "GALT11420104",
    "manufacturer": "Thales",
    "model": "OTP 110 Token",
    "secretKey": null,
    "timeIntervalInSeconds": 30,
    "status": "available",
    "lastUsedDateTime": null,
    "hashFunction": "hmacsha1",
    "assignedTo": null
}

認証ポリシー管理者またはエンド ユーザーは、トークンの割り当てを解除できます。

DELETE https://graph.microsoft.com/beta/users/66aa66aa-bb77-cc88-dd99-00ee00ee00ee/authentication/hardwareoathmethods/6c0272a7-8a5e-490c-bc45-9fe7a42fc4e0

この例では、トークン ID 3dee0e53-f50f-43ef-85c0-b44689f2d66d を持つトークンを削除する方法を示します。

DELETE https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices/3dee0e53-f50f-43ef-85c0-b44689f2d66d

シナリオ: 管理者がトークンを作成して割り当て、そのトークンをユーザーがアクティブ化する

このシナリオでは、認証ポリシー管理者がトークンを作成して割り当て、その後、ユーザーはセキュリティ情報ページまたは Microsoft Graph Explorer を使用してトークンをアクティブ化できます。 トークンを割り当てると、ユーザーがセキュリティ情報にサインインしてトークンをアクティブ化するための手順を共有できます。 ユーザーは、[サインイン方法の追加]>[ハードウェア トークン] を選択できます。 ユーザーは、ハードウェア トークンのシリアル番号を入力する必要があります。シリアル番号は通常、デバイスの裏面に記載されています。

POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
{ 
"serialNumber": "GALT11420104", 
"manufacturer": "Thales", 
"model": "OTP 110 Token", 
"secretKey": "C2dE3fH4iJ5kL6mN7oP1qR2sT3uV4w", 
"timeIntervalInSeconds": 30, 
"assignTo": {"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"}
}

応答には、各トークンの id 値が含まれます。 認証管理者は、ユーザーにトークンを割り当てることができます。

POST https://graph.microsoft.com/beta/users/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/authentication/hardwareOathMethods
{
    "device": 
    {
        "id": "6c0272a7-8a5e-490c-bc45-9fe7a42fc4e0" 
    }
}

ユーザーがセキュリティ情報でハードウェア OATH トークンをセルフアクティブ化する手順は次のとおりです。

  1. セキュリティ情報にサインインします。

  2. [サインイン方法の追加] をクリックし、[ハードウェア トークン] を選択します。

    セキュリティ情報に新しいサインイン方法を追加する方法のスクリーンショット。

  3. [ハードウェア トークン] を選択後、[追加] をクリックします。

    セキュリティ情報にハードウェア OATH トークンを追加する方法のスクリーンショット。

  4. デバイスの背面でシリアル番号を確認し、入力して [次へ] をクリックします。

    ハードウェア OATH トークンにシリアル番号を追加する方法のスクリーンショット。

  5. この方法を選択して多要素認証を完了するのに役立つフレンドリ名を作成し、[次へ] をクリックします。

    ハードウェア OATH トークンにフレンドリ名を追加する方法のスクリーンショット。

  6. デバイスのボタンをタップしたときに表示されるランダムな確認コードを入力します。 30 秒ごとにコードが更新されるトークンの場合は、1 分以内にコードを入力し、[次へ] をクリックする必要があります。 60 秒ごとに更新されるトークンの場合は、2 分です。

    ハードウェア OATH トークンをアクティブ化するための確認コードを追加する方法のスクリーンショット。

  7. ハードウェア OATH トークンが正常に追加されたことを確認したら、[完了] をクリックします。

    追加後のハードウェア OATH トークンのスクリーンショット。

  8. 使用可能な認証方法の一覧にハードウェア OATH トークンが表示されます。

    セキュリティ情報のハードウェア OATH トークンのスクリーンショット。

Graph エクスプローラーを使用して、ユーザーがハードウェア OATH トークンをセルフアクティブ化する手順は次のとおりです。

  1. Microsoft Graph エクスプローラーを開き、サインインして、必要なアクセス許可に同意します。

  2. 必要なアクセス許可を持っていることを確認します。 ユーザーがセルフサービス API 操作を実行できるようにするには、Directory.Read.AllUser.Read.AllUser.ReadWrite.All について管理者の同意が必要です。

  3. アカウントに割り当てられているが、まだアクティブ化されていないハードウェア OATH トークンの一覧を取得します。

    GET https://graph.microsoft.com/beta/me/authentication/hardwareOathMethods
    
  4. トークン デバイスの id をコピーし、/activate に続く URL の末尾に追加します。 要求本文に確認コードを入力し、コードが変更される前に POST 呼び出しを送信する必要があります。

    POST https://graph.microsoft.com/beta/me/authentication/hardwareOathMethods/b65fd538-b75e-4c88-bd08-682c9ce98eca/activate
    

    要求本文:

    {
       "verificationCode": "988659"
    }
    

シナリオ: 管理者がトークンを作成し、ユーザーがそのトークンを自身で割り当ててアクティブ化する

このシナリオでは、認証管理者が割り当てなしでトークンを作成し、ユーザーはそのトークンを自身で割り当ておよびアクティブ化します。 新しいトークンをテナントに一括でアップロードできます。 ユーザーはセキュリティ情報にサインインしてトークンをアクティブ化できます。 ユーザーは、[サインイン方法の追加]>[ハードウェア トークン] を選択できます。 ユーザーは、ハードウェア トークンのシリアル番号を入力する必要があります。シリアル番号は通常、デバイスの裏面に記載されています。

トークンが特定のユーザーによってのみアクティブ化されることを保証するために、トークンをユーザーに割り当てて、そのユーザーにデバイスを送信して自身でアクティブ化を行うことができます。

PATCH https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
{
"@context":"#$delta", 
"value": [ 
    { 
        "@contentId": "1", 
        "serialNumber": "GALT11420108", 
        "manufacturer": "Thales", 
        "model": "OTP 110 Token", 
        "secretKey": "abcdef2234567abcdef2234567", 
        "timeIntervalInSeconds": 30, 
        "hashFunction": "hmacsha1" 
        },
    { 
        "@contentId": "2", 
        "serialNumber": "GALT11420112", 
        "manufacturer": "Thales", 
        "model": "OTP 110 Token", 
        "secretKey": "2234567abcdef2234567abcdef", 
        "timeIntervalInSeconds": 30, 
        "hashFunction": "hmacsha1" 
        }
    ]          
} 

トラブルシューティング

ユーザーが同じ SerialNumber のトークンを 2 つ持っている場合

ユーザーは、同じハードウェア OATH トークンのインスタンスを 2 つ認証方法として登録している可能性があります。 これは、レガシ トークンが Microsoft Graph を使用してアップロードされた後、Microsoft Entra 管理センターの [OATH トークン (プレビュー)] から削除されない場合に発生します。

この場合、トークンの両方のインスタンスがユーザーに対して登録されたものとして一覧表示されます。

GET https://graph.microsoft.com/beta/users/{user-upn-or-objectid}/authentication/hardwareOathMethods

トークンの両方のインスタンスは、Microsoft Entra 管理センターの [OATH トークン (プレビュー)] にも一覧表示されます。

Microsoft Entra 管理センターの重複するトークンのスクリーンショット。

レガシ トークンを識別して削除するには。

  1. ユーザーのすべてのハードウェア OATH トークンを一覧表示します。

    GET https://graph.microsoft.com/beta/users/{user-upn-or-objectid}/authentication/hardwareOathMethods
    

    両方のトークンの id を検索して、重複するトークンの serialNumber をコピーします。

  2. レガシ トークンを識別します。 次のコマンドの応答では、トークンが 1 つだけ返されます。 このトークンは、Microsoft Graph を使用して作成されました。

    GET https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices?$filter=serialNumber eq '20033752'
    
  3. ユーザーからレガシ トークンの割り当てを削除します。 新しいトークンの id を確認したので、手順 1 で返された一覧からレガシ トークンの id を識別できます。 レガシ トークンの id を使用して URL を作成します。

    DELETE https://graph.microsoft.com/beta/users/{user-upn-or-objectid}/authentication/hardwareOathMethods/{legacyHardwareOathMethodId}
    
  4. この呼び出しでレガシ トークンの id を使用して、レガシ トークンを削除します。

    DELETE https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices/{legacyHardwareOathMethodId}
    

OATH トークンの詳細情報。