다음을 통해 공유


HTTPS를 통한 인증

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

HTTPS를 통해 데이터베이스와 상호 작용하려면 요청을 만드는 보안 주체가 HTTP Authorization 요청 헤더를 사용하여 인증해야 합니다.

구문

Authorization:Bearer AccessToken

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
AccessToken string ✔️ 서비스에 대한 Microsoft Entra 액세스 토큰입니다.

액세스 토큰 가져오기

Microsoft Entra 액세스 토큰을 가져오는 방법에는 여러 가지가 있습니다. 자세한 내용은 사용자 인증애플리케이션 인증을 참조하세요.

Azure CLI를 사용하여 사용자 보안 주체에 대한 액세스 토큰 가져오기

다음 단계에서는 요청을 수행하는 사용자 보안 주체에 대한 액세스 토큰을 반환합니다. 사용자 보안 주체가 액세스하려는 리소스에 액세스할 수 있는지 확인합니다. 자세한 내용은 역할 기반 액세스 제어를 참조하세요.

  1. Azure CLI에 로그인합니다.

    az login --output table
    
  2. Default 이 있는 행을 찾습니다 true. 해당 행의 구독이 Microsoft Entra 액세스 토큰을 만들려는 구독인지 확인합니다. 구독 정보를 찾으려면 Azure Portal에서 구독 및 테넌트 ID 가져오기를 참조하세요. 다른 구독으로 전환해야 하는 경우 다음 명령 중 하나를 실행합니다.

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. 다음 명령을 실행하여 액세스 토큰을 가져옵니다.

    az account get-access-token \
      --resource "https://api.kusto.windows.net" \
      --query "accessToken"
    

Azure CLI를 사용하여 서비스 주체에 대한 액세스 토큰 가져오기

Microsoft Entra 서비스 주체는 일반적으로 API 호출과 같은 비대화형 시나리오에서 리소스에 액세스해야 하는 애플리케이션 또는 서비스를 나타냅니다. 다음 단계에서는 서비스 주체를 만들고 이 보안 주체에 대한 전달자 토큰을 가져오는 방법을 안내합니다.

  1. Azure CLI에 로그인합니다.

    az login --output table
    
  2. Default 이 있는 행을 찾습니다 true. 해당 행의 구독이 서비스 주체를 만들려는 구독인지 확인합니다. 구독 정보를 찾으려면 Azure Portal에서 구독 및 테넌트 ID 가져오기를 참조하세요. 다른 구독으로 전환해야 하는 경우 다음 명령 중 하나를 실행합니다.

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. 서비스 주체를 생성합니다. 다음 명령은 Microsoft Entra 서비스 주체를 만들고 , displayNamepasswordtenantId 서비스 주체에 대해 반환appId합니다.

    az ad sp create-for-rbac -n <SERVICE_PRINCIPAL_NAME> 
    
  4. 애플리케이션 주체에 데이터베이스에 대한 액세스 권한을 부여합니다. 예를 들어 데이터베이스의 컨텍스트에서 다음 명령을 사용하여 보안 주체를 사용자로 추가합니다.

    .add database <DATABASE> users ('aadapp=<appId>;<tenantId>')
    

    다양한 역할 및 할당 방법에 대해 알아보려면 보안 역할 관리를 참조하세요.

  5. HTTP 요청을 보내 액세스 토큰을 요청합니다. 를 <appId><password> 이전 명령에서 가져온 값으로 바꿉<tenantId>습니다. 이 요청은 요청에서 헤더의 값으로 사용할 수 있는 액세스 토큰을 포함하는 JSON 개체를 Authorization 반환합니다.

    curl -X POST https://login.microsoftonline.com/<tenantId>/oauth2/token \
      -F grant_type=client_credentials \
      -F client_id=<appId> \
      -F client_secret=<password> \
      -F resource=https://api.kusto.windows.net