Microsoft Entra ID를 사용하여 테이블에 대한 액세스 권한을 부여합니다.

Azure Storage는 Microsoft Entra ID를 사용하여 테이블 데이터에 대한 요청에 권한을 부여하는 것을 지원합니다. Microsoft Entra ID를 통해 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 사용자, 그룹 또는 애플리케이션 서비스 주체가 될 수 있는 보안 주체에 권한을 부여할 수 있습니다. 보안 주체는 OAuth 2.0 토큰을 반환하기 위해 Microsoft Entra ID에 의해 인증됩니다. 그러면 토큰을 사용하여 테이블 서비스에 대한 요청에 권한을 부여할 수 있습니다.

Microsoft Entra ID를 사용하여 Azure Storage에 대한 요청을 권한 부여하면 공유 키 권한 부여에 비해 뛰어난 보안과 사용 편의성이 제공됩니다. Microsoft는 최소한의 필수 권한으로 액세스를 보장하기 위해 가능한 경우 테이블 애플리케이션에 Microsoft Entra 권한 부여를 사용하는 것이 좋습니다.

Microsoft Entra ID를 통한 권한 부여는 모든 공용 지역 및 국가 클라우드에서 모든 범용으로 사용 가능합니다. Azure Resource Manager 배포 모델로 만든 스토리지 계정에서만 Microsoft Entra 권한 부여를 지원합니다.

테이블용 Microsoft Entra ID 개요

보안 주체(사용자, 그룹 또는 애플리케이션)가 테이블 리소스에 액세스하려고 시도하는 경우 요청에 권한이 부여되어 있어야 합니다. Microsoft Entra ID를 사용하면 리소스에 대한 액세스는 2단계 프로세스입니다. 먼저, 보안 주체의 ID가 인증되고 OAuth 2.0 토큰이 반환됩니다. 그런 다음, 토큰이 테이블 서비스에 대한 요청의 일부로 전달되고 서비스가 지정된 리소스에 대한 액세스 권한을 부여하는 데 사용됩니다.

인증 단계를 수행하려면 런타임 시 애플리케이션 요청에 OAuth 2.0 액세스 토큰이 있어야 합니다. 애플리케이션이 Azure VM, 가상 머신 확장 집합 또는 Azure Functions 앱 같은 Azure 엔터티 내에서 실행되는 경우 관리 ID를 사용하여 테이블에 액세스할 수 있습니다.

권한 부여 단계에서는 보안 주체에 하나 이상의 Azure 역할을 할당해야 합니다. Azure Storage는 테이블 데이터에 대한 일반적인 권한 집합을 포함하는 Azure 역할을 제공합니다. 보안 주체에 할당된 역할에 따라 해당 주체가 갖게 될 권한이 결정됩니다. 테이블 액세스 시 Azure 역할을 할당하는 방법에 대한 자세한 내용은 테이블 데이터에 액세스하기 위한 Azure 역할 할당을 참조하세요.

다음 테이블은 다양한 시나리오에서 데이터에 대한 액세스 권한을 부여하기 위한 추가 정보를 가리킵니다.

언어 .NET Java JavaScript Python Go
Microsoft Entra ID를 사용한 인증 개요 Azure 서비스를 사용하여 .NET 애플리케이션을 인증하는 방법 Java 및 Azure Identity로 Azure 인증 Azure SDK를 사용하여 Azure에 JavaScript 앱 인증 Azure SDK를 사용하여 Azure에 Python 앱 인증
개발자 서비스 주체를 사용한 인증 서비스 주체를 사용하여 로컬 개발 중 Azure 서비스에 .NET 앱 인증 서비스 주체를 사용한 Azure 인증 서비스 주체를 사용하여 Azure 서비스에 JS 앱 인증 서비스 주체를 사용하여 로컬 개발 중 Azure 서비스에 Python 앱 인증 서비스 주체로 Go용 Azure SDK 인증
개발자 또는 사용자 계정을 사용한 인증 개발자 계정을 사용하여 로컬 개발 중 Azure 서비스에 .NET 앱 인증 사용자 자격 증명을 사용한 Azure 인증 개발자 계정을 사용하여 Azure 서비스에 JS 앱 인증 개발자 계정을 사용하여 로컬 개발 중에 Azure 서비스에 Python 앱 인증 Go용 Azure SDK로 Azure 인증
Azure 호스팅 앱에서 인증 .NET용 Azure SDK를 사용하여 Azure 리소스에 Azure 호스팅 앱 인증 Azure에서 호스트되는 Java 애플리케이션 인증 JavaScript용 Azure SDK를 사용하여 Azure 리소스에 Azure 호스팅 JavaScript 앱 인증 Python용 Azure SDK를 사용하여 Azure 리소스에 Azure 호스팅 앱 인증 관리 ID를 사용하여 Go용 Azure SDK로 인증
온-프레미스 앱에서 인증 온-프레미스에서 호스트되는 .NET 앱에서 Azure 리소스에 인증 Azure 리소스에 온-프레미스 JavaScript 앱 인증 온-프레미스에서 호스트되는 Python 앱에서 Azure 리소스에 인증
ID 클라이언트 라이브러리 개요 .NET용 Azure ID 클라이언트 라이브러리 Java용 Azure ID 클라이언트 라이브러리 JavaScript용 Azure ID 클라이언트 라이브러리 Python용 Azure ID 클라이언트 라이브러리 Go용 Azure ID 클라이언트 라이브러리

액세스 권한을 위한 Azure 역할 할당

Microsoft Entra는 Azure RBAC(Azure 역할 기반 액세스 제어)를 통해 보안 리소스에 대한 액세스 권한을 권한 부여합니다. Azure Storage는 테이블 데이터에 액세스하는 데 사용되는 일반 권한 집합을 포함하는 Azure 기본 제공 역할 집합을 정의합니다. 테이블 데이터에 액세스하기 위한 사용자 지정 역할도 정의할 수 있습니다.

Azure 역할이 Microsoft Entra 보안 주체에 할당되면 Azure는 해당 보안 주체에 해당 리소스에 대한 액세스 권한을 부여합니다. Microsoft Entra 보안 주체는 사용자, 그룹, 애플리케이션 서비스 주체 또는 Azure 리소스에 대한 관리 ID일 수 있습니다.

리소스 범위

Azure RBAC 역할을 보안 주체에 할당하기 전에 보안 주체에게 부여해야 하는 액세스 범위를 결정합니다. 모범 사례에 따르면 항상 가능한 가장 좁은 범위만 부여하는 것이 가장 좋습니다. 더 광범위한 범위에서 정의된 Azure RBAC 역할은 그 아래에 있는 리소스에 상속됩니다.

가장 좁은 범위로 시작하여 다음 수준에서 Azure 테이블 리소스에 대한 액세스 범위를 지정할 수 있습니다.

  • 개별 테이블 이 범위의 역할 할당은 지정된 테이블에 적용됩니다.
  • 스토리지 계정. 이 범위의 역할 할당은 계정에 있는 모든 테이블에 적용됩니다.
  • 리소스 그룹. 이 범위의 역할 할당은 리소스 그룹의 전체 스토리지 계정에 있는 모든 테이블에 적용됩니다.
  • 구독. 이 범위의 역할 할당은 구독의 전체 리소스 그룹에 있는 모든 스토리지 계정의 테이블에 모두 적용됩니다.
  • 관리 그룹. 이 범위의 역할 할당은 관리 그룹의 전체 구독에 있는 모든 리소스 그룹의 전체 스토리지 계정에 있는 테이블에 모두 적용됩니다.

Azure RBAC 역할 할당 범위에 대한 자세한 내용은 Azure RBAC 범위 이해를 참조하세요.

테이블에 대한 Azure 기본 제공 역할

Azure RBAC는 Microsoft Entra ID 및 OAuth를 사용하여 테이블 데이터에 대한 액세스 권한을 부여하기 위한 기본 제공 역할을 제공합니다. Azure Storage에서 테이블에 대한 권한을 제공하는 기본 제공 역할은 다음과 같습니다.

보안 주체에 Azure 기본 제공 역할을 할당하는 방법을 알아보려면 테이블 데이터에 액세스하기 위한 Azure 역할 할당을 참조하세요. Azure RBAC 역할 및 해당 권한을 나열하는 방법을 알아보려면 Azure 역할 정의 나열을 참조하세요.

기본 제공 역할을 Azure Storage에 정의하는 방법에 대한 자세한 내용은 역할 정의 이해를 참조하세요. Azure 사용자 지정 역할 만들기에 대한 자세한 내용은 Azure 사용자 지정 역할을 참조하세요.

데이터 액세스에 대해 명시적으로 정의된 역할만 보안 주체가 테이블 데이터에 액세스하도록 허용합니다. 소유자, 기여자스토리지 계정 기여자 같은 기본 제공 역할은 보안 주체가 스토리지 계정을 관리하도록 허용하지만, Microsoft Entra ID를 통해 해당 계정 내의 테이블 데이터에 액세스할 수 있는 권한은 제공하지 않습니다. 그러나 역할에 Microsoft.Storage/storageAccounts/listKeys/action이 포함되어 있는 경우에는 해당 역할이 할당된 사용자가 계정 액세스 키를 사용하여 공유 키 인증을 통해 스토리지 계정의 데이터에 액세스할 수 있습니다.

데이터 서비스 및 관리 서비스에 대한 Azure Storage의 Azure 기본 제공 역할에 대한 자세한 내용은 Azure RBAC에 대한 Azure 기본 제공 역할스토리지 섹션을 참조하세요. 또한 Azure에서 권한을 제공하는 다양한 역할 형식에 대한 자세한 내용은 Azure 역할, Microsoft Entra 역할 및 클래식 구독 관리자 역할을 참조하세요.

Important

Azure 역할 할당이 전파되는 데 최대 30분이 걸릴 수 있습니다.

데이터 작업에 대한 액세스 권한

특정 테이블 서비스 작업을 호출하는 데 필요한 권한에 대한 자세한 내용은 데이터 작업을 호출하기 위한 권한을 참조하세요.

다음 단계