다음을 통해 공유


IoT Hub용 Azure RBAC 및 Azure 디바이스 업데이트

사용자와 애플리케이션이 Azure Device Update for IoT Hub에 액세스하려면 디바이스 업데이트 리소스에 대한 액세스 권한을 부여해야 합니다. 또한 디바이스 업데이트 서비스 주체는 업데이트를 배포하고 디바이스를 관리하기 위해 연결된 IoT Hub에 대한 액세스 권한을 얻어야 합니다.

이 문서에서는 디바이스 업데이트 및 Azure IoT Hub에서 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 사용자 및 서비스 API에 대한 인증 및 권한 부여를 제공하는 방법을 설명합니다. 이 문서에서는 디바이스 업데이트 REST API에 대한 Microsoft Entra ID 인증 및 디바이스 업데이트 및 Azure IoT Hub의 관리 ID에 대한 지원에 대해서도 설명합니다.

디바이스 업데이트 액세스 제어 역할

디바이스 업데이트는 다음 RBAC 역할을 지원합니다. 자세한 내용은 디바이스 업데이트 계정에 대한 액세스 제어 구성을 참조 하세요.

역할 이름 설명
디바이스 업데이트 관리자 모든 디바이스 업데이트 리소스에 대한 액세스 권한이 있음
디바이스 업데이트 읽기 권한자 모든 업데이트 및 배포를 볼 수 있음
디바이스 업데이트 콘텐츠 관리자 업데이트를 보기, 가져오기 및 삭제할 수 있음
디바이스 업데이트 콘텐츠 읽기 권한자 업데이트를 볼 수 있음
디바이스 업데이트 배포 관리자 디바이스에 대한 업데이트 배포를 관리할 수 있습니다.
디바이스 업데이트 배포 읽기 권한자 디바이스에 대한 업데이트 배포를 볼 수 있음

역할 조합을 할당하여 적절한 수준의 액세스를 제공할 수 있습니다. 예를 들어 디바이스 업데이트 콘텐츠 관리자 역할을 사용하여 업데이트를 가져오고 관리할 수 있지만 업데이트 진행률을 보려면 디바이스 업데이트 배포 읽기 권한자 역할이 필요합니다. 반대로 디바이스 업데이트 판독기 역할을 사용하면 모든 업데이트를 볼 수 있지만 디바이스에 업데이트를 배포하려면 디바이스 업데이트 배포 관리자 역할이 필요합니다.

IoT Hub에 대한 디바이스 업데이트 서비스 주체 액세스

디바이스 업데이트는 연결된 IoT Hub와 통신하여 대규모 업데이트를 배포하고 관리합니다. 이 통신을 사용하도록 설정하려면 디바이스 업데이트 서비스 주체에게 IoT Hub 데이터 기여자 역할을 사용하여 IoT Hub에 대한 액세스 권한을 부여해야 합니다.

이 권한을 부여하면 다음과 같은 배포, 디바이스 및 업데이트 관리 및 진단 작업을 수행할 수 있습니다.

  • 배포 만들기
  • 배포 취소
  • 배포 다시 시도
  • 디바이스 가져오기

IoT Hub IAM(액세스 제어) 페이지에서 이 권한을 설정할 수 있습니다. 자세한 내용은 디바이스 업데이트 서비스 주체에 대한 IoT Hub 액세스 구성을 참조 하세요.

디바이스 업데이트 REST API

디바이스 업데이트는 REST API에 대한 인증에 Microsoft Entra ID를 사용합니다. 시작하려면 클라이언트 애플리케이션을 만들고 구성해야 합니다.

클라이언트 Microsoft Entra 앱 만들기

애플리케이션 또는 서비스를 Microsoft Entra ID와 통합하려면 먼저 클라이언트 애플리케이션을 Microsoft Entra ID에 등록합니다. 클라이언트 애플리케이션 설정은 필요한 권한 부여 흐름(사용자, 애플리케이션 또는 관리 ID)에 따라 달라집니다. 예시:

  • 모바일 또는 데스크톱 애플리케이션에서 디바이스 업데이트를 호출하려면 플랫폼 선택에서 공용 클라이언트/네이티브(모바일 및 데스크톱)를 선택하고 리디렉션 URI를 입력 https://login.microsoftonline.com/common/oauth2/nativeclient 합니다.

  • 암시적 로그온이 있는 웹 사이트에서 디바이스 업데이트를 호출하려면 웹 플랫폼을 사용합니다. 암시적 권한 부여 및 하이브리드 흐름에서 액세스 토큰(암시적 흐름에 사용됨)을 선택합니다.

    참고 항목

    사용 가능한 가장 안전한 인증 흐름을 사용합니다. 암시적 흐름 인증은 애플리케이션에 대한 높은 수준의 신뢰가 필요하며 다른 흐름에 없는 위험을 수반합니다. 관리 ID와 같은 다른 보안 흐름이 실행 가능하지 않은 경우에만 이 흐름을 사용해야 합니다.

권한 구성

다음으로, 디바이스 업데이트를 호출할 수 있는 권한을 앱에 부여합니다.

  1. 앱의 API 사용 권한 페이지로 이동하고 사용 권한 추가를 선택합니다.
  2. 내 조직에서 사용하는 API로 이동하고 Azure Device Update를 검색합니다.
  3. user_impersonation 권한을 선택한 다음, 사용 권한 추가를 선택합니다.

권한 부여 토큰 요청

Device Update REST API를 사용하려면 요청 헤더에 OAuth 2.0 권한 부여 토큰이 있어야 합니다. 다음 섹션에서는 권한 부여 토큰을 요청하는 몇 가지 방법의 예를 보여 줍니다.

Azure CLI

az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'

PowerShell MSAL 라이브러리

MSAL.PSPowerShell 모듈은 다양한 인증 방법을 지원하는 MSAL .NET(Microsoft 인증 라이브러리 for .NET)을 통한 래퍼입니다.

  • 사용자 자격 증명:

    $clientId = '<app_id>'
    $tenantId = '<tenant_id>'
    $authority = "https://login.microsoftonline.com/$tenantId/v2.0"
    $Scope = 'https://api.adu.microsoft.com/user_impersonation'
    
    Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope
    
  • 디바이스 코드가 있는 사용자 자격 증명:

    $clientId = '<app_id>’
    $tenantId = '<tenant_id>’
    $authority = "https://login.microsoftonline.com/$tenantId/v2.0"
    $Scope = 'https://api.adu.microsoft.com/user_impersonation'
    
    Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode
    
  • 앱 자격 증명:

    $clientId = '<app_id>’
    $tenantId = '<tenant_id>’
    $cert = '<client_certificate>'
    $authority = "https://login.microsoftonline.com/$tenantId/v2.0"
    $Scope = 'https://api.adu.microsoft.com/.default'
    
    Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert
    

관리 ID 지원

관리 ID는 Azure 서비스에 안전하고 자동으로 관리되는 Microsoft Entra ID ID를 제공합니다. 관리 ID는 개발자가 ID를 제공하여 자격 증명을 관리할 필요가 없습니다. 디바이스 업데이트는 시스템 할당 관리 ID를 지원합니다.

디바이스 업데이트에 대한 시스템 할당 관리 ID를 추가하려면 다음을 수행합니다.

  1. Azure Portal에서 디바이스 업데이트 계정으로 이동합니다.
  2. 왼쪽 탐색 창에서 설정>ID를 선택합니다.
  3. ID 페이지에 할당된시스템 아래에서 상태를기로 설정합니다.
  4. 저장을 선택한 다음, 예를 선택합니다.

IoT Hub에 대한 시스템 할당 관리 ID를 추가하려면 다음을 수행합니다.

  1. Azure Portal에서 IoT Hub로 이동합니다.
  2. 왼쪽 탐색 창에서 보안 설정>ID를 선택합니다.
  3. ID 페이지의 시스템 할당아래에서 상태 아래에서 [켜기]를 선택합니다.
  4. 저장을 선택한 다음, 예를 선택합니다.

디바이스 업데이트 계정 또는 IoT Hub에서 시스템 할당 관리 ID를 제거하려면 ID 페이지에서 해제를 설정하거나 선택한 다음 저장을 선택합니다.