다음을 통해 공유


Microsoft Entra ID에서 하드웨어 OATH 토큰을 관리하는 방법(미리 보기)

이 항목에서는 하드웨어 OATH 토큰을 업로드, 활성화 및 할당하는 데 사용할 수 있는 Microsoft Graph API를 포함하여 Microsoft Entra ID에서 하드웨어 선서 토큰을 관리하는 방법을 설명합니다.

인증 방법 정책에서 하드웨어 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 토큰을 만들고, 할당하고, 관리자로 활성화하는 방법을 설명합니다.

참고 항목

정책 전파가 최대 20분 지연될 수 있습니다. 사용자가 하드웨어 OATH 토큰으로 로그인하여 보안 정보에서 볼 수 있기 전에 정책이 업데이트되는 데 1시간을 허용합니다.

인증 정책 관리자가 토큰을 만들어 사용자에게 할당하는 예제를 살펴보겠습니다. 활성화 없이 할당을 허용할 수 있습니다.

이 예제에서 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 https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices 

이 예제에서는 단일 토큰을 만듭니다.

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 Explorer를 사용하여 하드웨어 OATH 토큰을 자체 활성화하기 위해 수행할 수 있는 단계입니다.

  1. Microsoft Graph Explorer를 열고, 로그인하고, 필요한 권한에 동의합니다.

  2. 필요한 권한이 있는지 확인합니다. 사용자가 셀프 서비스 API 작업을 수행할 수 있도록 하려면 관리자 동의가 필요합니다Directory.Read.AllUser.Read.AllUser.ReadWrite.All.

  3. 계정에 할당되었지만 아직 활성화되지 않은 하드웨어 OATH 토큰 목록을 가져옵니다.

    GET https://graph.microsoft.com/beta/me/authentication/hardwareOathMethods
    
  4. 토큰 디바이스의 ID 를 복사하고 URL 끝에 추가한 후 /activate합니다. 요청 본문에 확인 코드를 입력하고 코드가 변경되기 전에 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를 가진 두 개의 토큰이 있습니다.

사용자에게 인증 방법으로 등록된 동일한 하드웨어 OATH 토큰의 두 인스턴스가 있을 수 있습니다. 이는 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. 레거시 토큰을 식별합니다. 다음 명령의 응답으로 토큰이 하나만 반환됩니다. 해당 토큰은 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 토큰에 대해 자세히 알아봅니다.