Azure RBAC(역할 기반 액세스 제어) 및 디바이스 업데이트

디바이스 업데이트에서 Azure RBAC를 사용하여 사용자 및 서비스 API에 대한 인증 및 권한 부여를 제공할 수 있습니다. 다른 사용자 및 애플리케이션이 디바이스 업데이트에 액세스할 수 있도록 하려면 사용자 또는 애플리케이션이 이 리소스에 액세스 권한을 받아야 합니다. 또한 업데이트를 성공적으로 배포하고 디바이스를 관리하려면 Azure Device Update 서비스 주체에 대한 액세스를 구성해야 합니다.

액세스 제어 역할 구성

Device Update에서 지원하는 역할은 다음과 같습니다.

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

역할의 조합을 사용하여 올바른 수준의 액세스를 제공할 수 있습니다. 예를 들어, 개발자는 디바이스 업데이트 콘텐츠 관리자 역할을 사용하여 업데이트를 가져오고 관리할 수 있지만 업데이트의 진행률을 보려면 디바이스 업데이트 배포 읽기 권한자 역할이 필요합니다. 반대로, 디바이스 업데이트 읽기 권한자 역할이 있는 솔루션 운영자는 모든 업데이트를 볼 수 있지만 디바이스 업데이트 배포 관리자 역할을 사용하여 특정 업데이트를 디바이스에 배포해야 합니다.

IoT Hub에서 Azure Device Update 서비스 주체에 대한 액세스 구성

Device Update for IoT Hub는 배포를 위해 IoT Hub와 통신하고 대규모 업데이트를 관리합니다. 디바이스 업데이트를 사용하도록 설정하려면 IoT Hub 권한에서 Azure 디바이스 업데이트 서비스 주체에 대한 IoT Hub 데이터 기여자 액세스를 설정해야 합니다.

이러한 권한이 설정되지 않은 경우 배포, 디바이스 및 업데이트 관리, 진단 작업이 허용되지 않습니다. 차단되는 작업에는 다음이 포함됩니다.

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

권한은 IoT Hub IAM(Access Control)에서 설정할 수 있습니다. 연결된 IoT Hub에서 Azure 디바이스 업데이트 서비스 주체에 대한 액세스 구성을 참조하세요.

Device Update REST API에 대한 인증

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

클라이언트 Microsoft Entra 앱 만들기

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

  • 모바일 또는 데스크톱 애플리케이션에서 호출하려면 리디렉션 URI에 대한 https://login.microsoftonline.com/common/oauth2/nativeclient를 사용하여 모바일 및 데스크톱 애플리케이션 플랫폼을 추가합니다.
  • 암시적 로그온이 있는 웹 사이트에서 호출하려면 플랫폼을 추가하고 액세스 토큰(암시적 흐름에 사용)을 선택합니다.

권한 구성

다음으로, Device Update를 호출하기 위한 권한을 앱에 추가합니다.

  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.PS PowerShell 모듈은 MSAL .NET(.NET용 Microsoft 인증 라이브러리)을 통한 래퍼입니다. 이 모듈은 다양한 인증 방법을 지원합니다.

사용자 자격 증명 사용

$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는 Microsoft Entra ID에서 자동으로 관리되는 ID를 안전한 방식으로 Azure 서비스에 제공합니다. 이렇게 하면 개발자가 ID를 제공하여 자격 증명을 관리할 필요가 없습니다. Device Update for IoT Hub는 시스템 할당 관리 ID를 지원합니다.

시스템 할당 관리 ID

Azure Portal에서 시스템 할당 관리 ID 추가 및 제거

  1. Azure Portal에 로그인하고 원하는 Device Update for IoT Hub 계정으로 이동합니다.
  2. Device Update for IoT Hub 포털에서 ID로 이동합니다.
  3. IoT Hub 포털에서 ID로 이동합니다.
  4. 시스템 할당 탭에서 켜기를 선택하고 저장을 클릭합니다.

IoT Hub용 디바이스 업데이트 계정에서 시스템 할당 관리 ID를 제거하려면 끄기를 선택하고 저장을 클릭합니다.

다음 단계