Application Insights에서 리소스, 역할 및 액세스 제어

Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 Application Insights의 데이터에 대한 읽기 및 업데이트 액세스를 제어할 수 있습니다.

Important

리소스 자체가 아닌 애플리케이션 리소스가 속한 리소스 그룹 또는 구독 의 사용자에게 액세스 권한을 할당합니다. Application Insights 구성 요소 기여자 역할을 할당합니다. 이 역할은 애플리케이션 리소스와 함께 웹 테스트 및 경고에 대한 액세스를 통합적으로 제어할 수 있습니다. 자세히 알아보기.

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

리소스, 그룹 및 구독

먼저 몇 가지 용어를 정의해 보겠습니다.

  • 리소스: Azure 서비스의 인스턴스입니다. Application Insights는 애플리케이션에서 보낸 원격 분석 데이터를 수집, 분석 및 표시합니다. 다른 유형의 Azure 리소스로는 웹 앱, 데이터베이스 및 VM이 있습니다.

    리소스를 보려면 Azure Portal을 열고 로그인한 다음 모든 리소스를 선택합니다. 리소스를 찾으려면 필터 필드에 해당 이름의 일부를 입력합니다.

    Screenshot that shows a list of Azure resources.

  • 리소스 그룹: 모든 리소스가 하나의 그룹에 속해 있습니다. 그룹은 특히 액세스 제어에 대한 관련 리소스를 간편하게 관리할 수 있는 방법입니다. 예를 들어, 하나의 리소스 그룹에 웹앱, 앱을 모니터링하기 위한 Application Insights 리소스 및 내보낸 데이터를 유지하기 위한 Azure Storage 리소스를 배치할 수 있습니다.
  • 구독: Application Insights 또는 다른 Azure 리소스를 사용하려면 Azure 구독에 로그인합니다. 모든 리소스 그룹은 가격 패키지를 선택하는 하나의 Azure 구독에 속합니다. 조직 구독인 경우 소유자는 멤버 및 액세스 권한을 선택할 수 있습니다.
  • Microsoft 계정: Azure 구독, XBox Live, Outlook.com 및 기타 Microsoft 서비스에 로그인하는 데 사용하는 사용자 이름 및 암호입니다.

리소스 그룹의 액세스 제어

애플리케이션용으로 만든 리소스와 함께 경고 및 웹 테스트를 위한 별도의 숨겨진 리소스도 있습니다. 이러한 리소스는 Application Insights 리소스와 동일한 리소스 그룹에 연결됩니다. 웹 사이트 또는 스토리지 같은 다른 Azure 서비스를 여기에 넣었을 수도 있습니다.

다른 사용자에 대한 액세스 권한 제공

구독 또는 리소스 그룹에 대한 소유자 권한이 있어야 합니다.

사용자에게 Microsoft 계정이 있거나 해당 조직의 Microsoft 계정에 액세스해야 합니다. 개별 사용자에 대한 액세스 권한을 제공할 수 있으며 Microsoft Entra ID에 정의된 사용자 그룹에 대한 액세스 권한도 제공할 수 있습니다.

리소스 그룹으로 이동하거나 리소스 자체로 직접 이동

기여자 역할을 Azure RBAC에 할당합니다.

자세한 단계는 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.

역할 선택

해당되는 경우 링크는 관련 공식 참조 설명서로 연결됩니다.

역할 리소스 그룹에서 할 수 있는 일
담당자 사용자 액세스를 포함하여 모든 것을 변경할 수 있습니다.
기여자 모든 리소스를 포함하여 모든 것을 편집할 수 있습니다.
Application Insights 구성 요소 기여자 Application Insights 리소스를 편집할 수 있습니다.
판독기 모든 것을 볼 수 있지만 변경할 수는 없습니다.
Application Insights 스냅샷 디버거 사용자에게 Application Insights 스냅샷 디버거 기능을 사용할 수 있는 권한을 부여합니다. 이 역할은 소유자 또는 기여자 역할에 포함되지 않습니다.
Azure Service Deploy Release Management 기여자 Azure Service Deploy를 통해 배포되는 서비스에 대한 기여자 역할입니다.
데이터 제거자 개인 데이터 제거를 위한 특별 역할입니다. 자세한 내용은 Log Analytics 및 Application Insights에서 개인 데이터 관리를 참조하세요.
Azure ExpressRoute 관리자 기본 경로를 삭제하고 관리할 수 있습니다.
Log Analytics 참가자 Log Analytics 기여자는 모든 모니터링 데이터를 읽고 모니터링 설정을 편집할 수 있습니다. 모니터링 설정 편집에는 VM에 VM 확장 추가, Azure Storage에서 로그 컬렉션을 구성할 수 있는 스토리지 계정 키 읽기, Automation 계정 생성 및 구성, 솔루션 추가 및 모든 Azure 리소스에 대한 Azure 진단을 구성하는 기능도 포함되어 있습니다. Azure 진단을 설정하는 데 문제가 있는 경우 Azure 진단을 참조하세요.
Log Analytics 독자 Log Analytics 읽기 권한자는 모든 Azure 리소스에 대한 Azure 진단의 구성 보기를 비롯하여 모니터링 설정 보기 및 모든 모니터링 데이터를 보고 검색할 수 있습니다. Azure 진단을 설정하는 데 문제가 있는 경우 Azure 진단을 참조하세요.
masterreader 사용자가 모든 것을 볼 수 있지만 변경은 할 수 없도록 허용합니다.
Monitoring Contributor 모든 모니터링 데이터를 읽고 모니터링 설정을 업데이트할 수 있습니다.
모니터링 메트릭 게시자 Azure 리소스에 대한 게시 메트릭을 사용하도록 설정합니다.
Monitoring Reader 모든 모니터링 데이터를 읽을 수 있습니다.
리소스 정책 기여자(미리 보기) 리소스 정책을 만들기/수정하고, 지원 티켓을 만들고, 리소스/계층 구조를 읽을 수 있는 권한이 있는 기업계약의 백필 사용자.
사용자 액세스 관리자 사용자가 Azure 리소스에 다른 사용자에 대한 액세스를 관리할 수 있도록 허용합니다.
웹 사이트 기여자 웹 사이트(웹 계획은 제외)를 관리할 수 있지만 액세스할 수는 없습니다.

편집에는 다음 항목을 만들고, 삭제하고, 업데이트하는 작업이 포함됩니다.

  • 리소스
  • 웹 테스트
  • 경고
  • 연속 내보내기

사용자 선택

원하는 사용자가 디렉터리에 없는 경우 Microsoft 계정이 있는 사람을 초대할 수 있습니다. Outlook.com, OneDrive, Windows Phone 또는 Xbox Live를 사용하는 사용자는 Microsoft 계정을 갖고 있습니다.

Azure RBAC(Azure 역할 기반 액세스 제어) 문서를 참조하세요.

역할 멤버 자격을 확인하기 위한 PowerShell 쿼리

특정 역할은 알림 및 이메일 알림에 연결할 수 있으므로 지정된 역할에 속하는 사용자의 목록을 생성할 수 있는 것이 유용할 수 있습니다. 이러한 형식의 목록을 생성하는 데 도움이 되도록 다음 샘플 쿼리를 특정 요구 사항에 맞게 조정할 수 있습니다.

관리자 역할 + 기여자 역할을 위한 전체 구독 쿼리

(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

소유자 및 기여자에 대한 특정 Application Insights 리소스의 컨텍스트 내에서 쿼리

$resourceGroup = "RGNAME"
$resourceName = "AppInsightsName"
$resourceType = "microsoft.insights/components"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup -ResourceType $resourceType -ResourceName $resourceName | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "

소유자 및 기여자에 대한 특정 리소스 그룹의 컨텍스트 내에서 쿼리

$resourceGroup = "RGNAME"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "