본문 바로가기
Microsoft

Microsoft, 서비스 버스를위한 Azure Active Directory 기반 액세스 제어 출시

by goooood 2019. 9. 24.

최근 성명에서 Microsoft는 서비스 버스에 대한 AD (Azure Active Directory) 기반 액세스 제어의 일반 가용성을 발표하여 RBAC (역할 기반 액세스 제어)와 함께 ID를 사용하여 서비스의 데이터 끝점에 대해 인증 할 수있는 옵션을 제공했습니다. 또한 부여 된 권한을 세부적으로 제어 할 수있는 RBAC 역할도 도입했습니다.

 

과거에는 Azure Service Bus에 대한 기본 인증 옵션이 토큰 발급자 및 Service Bus에 알려진 대칭 키인 공유 액세스 서명을 사용하여 큐, 주제 및 구독에 대한 액세스를 제공했습니다. 결과적으로 개발자는 애플리케이션에서 직접 구현하여 소스 코드 또는 구성 파일에 하드 코딩 된 토큰으로 이어질 수 있습니다. 또 다른 옵션은 STS ( Security Token Service ) 발급 토큰을 보유하고 응용 프로그램이 Active Directory 인증을 사용하여 STS에 대해 인증하는 것입니다. 그러나 이로 인해 추가 구성 요소의보다 복잡한 응용 프로그램 환경, 개발 및 유지 관리가 도입되었습니다.

 

Azure AD 기능이 도입됨에 따라 이제 Active Directory의 사용자 또는 그룹이 될 수있는 자격 증명, 그리고 서비스 주체 또는 MSI ( Managed Service Identity )도 사용할 수 있습니다. MSI를 구현함으로써 AD는 응용 프로그램이나 서비스의 ID를 만든 다음 Key Vault, Azure Storage 및 현재 서비스 버스와 같은 지원되는 서비스 를 인증하는 데 사용합니다 . 특히 이러한 기능을 추가하면 인증을 구현할 때 더 이상 자격 증명 또는 토큰이 필요하지 않으며 Joonas Westlin (Azure MVP)은 몇 가지 장점 이 있다고 설명합니다 .

내년에는 더 많은 서비스가 이러한 기능을 지원할 것으로 예상됩니다. 그리고이를 통해 앱의 어느 곳에 나 정확히 0 개의 자격 증명이 저장 될 가능성에 더 가까워집니다. 관리해야 할 자격 증명이 없습니다. 보호해야 할 자격 증명이 없습니다.

또한 Active Directory 기능을 통합하면 클라이언트가 조건부 액세스 사용과 같이 서비스에서 제공하는 특정 기능을 사용할 수 있습니다.이 기능을 사용하면 인증을 시작하는 데 사용되는 위치 및 장치와 같은 ID에 대한 추가 제한이 가능합니다. 인증하기 위해 클라이언트는 Azure AD에 대한 액세스 토큰을 요청한 다음 서비스 버스 엔터티로 전송 된 요청을 전달합니다. 명확히하기 위해 ID의 RBAC 역할에 따라 데이터 송수신과 같은 특정 권한을 사용할 수 있습니다. 이를 감안할 때 전체 Azure 구독에서 특정 Service Bus 엔터티에 이르기까지 다양한 범위에서 이러한 권한을 부여 할 수 있습니다 (문서 에 자세히 설명 되어 있음).

  • 큐, 주제 또는 구독 : 역할 지정은 특정 서비스 버스 엔티티에 적용됩니다. 현재 Azure Portal은 구독 수준에서 사용자 / 그룹 / 관리 ID를 Service Bus RBAC 역할에 할당하는 것을 지원하지 않습니다.
  • 서비스 버스 네임 스페이스 : 역할 할당은 네임 스페이스 아래에있는 서비스 버스의 전체 토폴로지와 이와 관련된 소비자 그룹에 적용됩니다.
  • 자원 그룹 : 역할 할당은 자원 그룹의 모든 서비스 버스 자원에 적용됩니다.
  • 구독 : 역할 할당은 구독의 모든 자원 그룹에있는 모든 서비스 버스 자원에 적용됩니다.

Azure PowerShell, Azure CLI 또는 Azure Resource Manager 템플릿을 통해 리소스에 역할을 할당 할 수 있습니다. 연결되면 설정이 전파되는 데 최대 5 분이 소요될 수 있으며, 그 후에 클라이언트 응용 프로그램은 해당 ID를 사용하여 리소스에 대해 인증 할 수 있습니다.

 

댓글