Log Analytics API와 같은 Azure REST API에 액세스하거나 사용자 지정 메트릭을 보내려면 클라이언트 ID 및 비밀을 기준으로 권한 부여 토큰을 생성할 수 있습니다. 그러면 토큰이 REST API 요청에 전달됩니다. 이 문서에서는 토큰을 생성할 수 있도록 클라이언트 앱을 등록하고 클라이언트 비밀을 만드는 방법을 보여 줍니다.
App Service
서비스 주체를 만들고 Azure Portal, Azure CLI 또는 PowerShell을 사용하여 앱을 등록합니다.
출력에는 보호해야 하는 자격 증명이 포함됩니다. 이러한 자격 증명을 코드에 포함하지 않도록 하거나 소스 제어에 자격 증명을 확인해야 합니다.
API를 사용하여 액세스하려는 리소스에 대한 역할 및 범위 추가
az role assignment create --assignee <`appId`> --role <Role> --scope <resource URI>
다음 CLI 예제에서는 rg-001 리소스 그룹의 모든 리소스에 대한 서비스 주체에 Reader 역할을 할당합니다.
az role assignment create --assignee 00001111-aaaa-2222-bbbb-3333cccc4444 --role Reader --scope '\/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001'
$subscriptionId = "{azure-subscription-id}"
$resourceGroupName = "{resource-group-name}"
# Authenticate to a specific Azure subscription.
Connect-AzAccount -SubscriptionId $subscriptionId
# Password for the service principal
$pwd = "{service-principal-password}"
$secureStringPassword = ConvertTo-SecureString -String $pwd -AsPlainText -Force
# Create a new Azure Active Directory application
$azureAdApplication = New-AzADApplication `
-DisplayName "My Azure Monitor" `
-HomePage "https://localhost/azure-monitor" `
-IdentifierUris "https://localhost/azure-monitor" `
-Password $secureStringPassword
# Create a new service principal associated with the designated application
New-AzADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId
# Assign Reader role to the newly created service principal
New-AzRoleAssignment -RoleDefinitionName Reader `
-ServicePrincipalName $azureAdApplication.ApplicationId.Guid
다음 단계
앱, 클라이언트 ID 및 비밀을 사용하여 토큰을 생성하려면 액세스하려는 리소스에 대해 IAM(액세스 제어)을 사용하여 역할에 앱을 할당합니다. 역할은 사용하려는 리소스 종류 및 API에 따라 달라집니다.
예를 들면 다음과 같습니다.
앱이 Log Analytics 작업 영역에서 읽을 수 있도록 허용하려면 Log Analytics 작업 영역에 대한 액세스 제어(IAM)를 사용하여 읽기 권한자 역할에 멤버로서 앱을 추가합니다. 자세한 내용은 API 액세스를 참조하세요.
역할을 할당한 후에는 앱, 클라이언트 ID 및 클라이언트 비밀을 사용하여 REST API에 액세스하기 위한 전달자 토큰을 생성할 수 있습니다.
참고 항목
Microsoft Entra 인증을 사용하는 경우 Azure Application Insights REST API가 새로운 RBAC(역할 기반 액세스 제어) 권한을 인식하는 데 최대 60분이 걸릴 수 있습니다. 권한이 전파되는 동안 REST API 호출이 실패하여 오류 코드 403이 나타날 수 있습니다.