다음을 통해 공유


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

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

액세스 제어 역할 구성

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

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

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

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

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

다음 권한이 설정되지 않은 경우 다음 릴리스에서 아래 작업이 차단됩니다.

  • 배포 만들기
  • 배포 취소
  • 배포 다시 시도
  • 디바이스 가져오기
  1. 디바이스 업데이트 인스턴스에 연결된 IoT Hub로 이동합니다. 액세스 제어(IAM) 클릭
  2. + 추가 ->역할 할당 추가를 클릭합니다.
  3. 역할 탭에서 IoT Hub 데이터 기여자를 선택합니다.
  4. 다음을 클릭합니다. 다음에 대한 액세스 할당에서 사용자, 그룹 또는 서비스 주체를 선택합니다. + 멤버 선택을 클릭하고 'Azure Device Update'를 검색합니다.
  5. 다음 ->검토 + 할당을 클릭합니다.

사용 권한을 올바르게 설정했는지 확인하려면 다음을 수행합니다.

  1. 디바이스 업데이트 인스턴스에 연결된 IoT Hub로 이동합니다. 액세스 제어(IAM) 클릭
  2. 액세스 확인을 클릭합니다.
  3. 사용자, 그룹 또는 서비스 주체를 선택하고 'Azure 디바이스 업데이트'를 검색합니다.
  4. 'Azure Device Update'를 클릭한 후 IoT Hub 데이터 기여자 역할이 역할 할당 아래에 나열되어 있는지 확인합니다.

Device Update REST API에 대한 인증

Device Update는 REST API에 대한 인증에 Azure AD(Active Directory)를 사용합니다. 시작하려면 클라이언트 애플리케이션을 만들고 구성해야 합니다.

클라이언트 Azure AD 앱 만들기

애플리케이션 또는 서비스를 Azure AD와 통합하려면 먼저 Azure AD에 클라이언트 애플리케이션을 등록합니다. 클라이언트 애플리케이션 설정은 필요할 권한 부여 흐름(사용자, 애플리케이션 또는 관리 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는 Azure AD에서 자동으로 관리되는 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. 시스템 할당 탭에서 켜기를 선택하고 저장을 클릭합니다.

Device Update for IoT Hub 계정에서 시스템 할당 관리 ID를 제거하려면 끄기를 선택하고 저장을 클릭합니다.

다음 단계