Azure Storage의 데이터에 대한 액세스 권한 부여

스토리지 계정의 데이터에 액세스할 때마다 클라이언트 애플리케이션에서 HTTP/HTTPS를 통해 Azure Storage에 요청합니다. 기본적으로 Azure Storage의 모든 리소스는 보호되며, 보안 리소스에 대한 모든 요청에 권한이 부여되어야 합니다. 권한 부여는 클라이언트 애플리케이션dl 스토리지 계정의 특정 리소스에 액세스할 수 있는 적절한 권한을 갖도록 합니다.

데이터 작업에 대한 권한 부여 이해

다음 표에서는 데이터에 대한 액세스 권한을 부여하기 위해 Azure Storage에서 제공하는 옵션에 대해 설명합니다.

Azure 아티팩트 공유 키(스토리지 계정 키) 공유 액세스 서명(SAS) Microsoft Entra ID 온-프레미스 Active Directory Domain Services 익명 읽기 액세스 스토리지 로컬 사용자
Azure Blob 지원됨 지원됨 지원됨 지원되지 않음 지원되나 이 옵션은 사용하지 않는 것이 좋습니다. SFTP에 대해서만 지원됨
Azure Files(SMB) 지원됨 지원되지 않음 클라우드 전용 Microsoft Entra Domain Services 또는 하이브리드 ID용 Microsoft Entra Kerberos에서만 지원됩니다. 지원되는 자격 증명을 Microsoft Entra ID에 동기화해야 함 지원되지 않음 지원되지 않음
Azure Files(REST) 지원됨 지원됨 지원됨 지원되지 않음 지원되지 않음 지원되지 않음
Azure Queues 지원됨 지원됨 지원됨 지원되지 않음 지원되지 않음 지원되지 않음
Azure Tables 지원됨 지원됨 지원됨 지원되지 않음 지원되지 않음 지원되지 않음

각 권한 부여 옵션에 대한 간략한 설명은 다음과 같습니다.

  • Blob, 파일, 큐 및 테이블에 대한 공유 키 권한 부여. 공유 키를 사용하는 클라이언트는 스토리지 계정 액세스 키를 사용하여 서명된 모든 요청에 헤더를 전달합니다. 자세한 내용은 공유 키를 사용하여 권한 부여를 참조하세요.

    스토리지 계정에 대한 공유 키 권한 부여를 허용하지 않는 것이 좋습니다. 공유 키 권한 부여가 허용되지 않으면 클라이언트에서 Microsoft Entra ID 또는 사용자 위임 SAS를 사용하여 해당 스토리지 계정의 데이터에 대한 권한을 요청에 부여해야 합니다. 자세한 내용은 Azure Storage 계정에 대한 공유 키 권한 부여 방지를 참조하세요.

  • Blob, 파일, 큐 및 테이블에 대한 공유 액세스 서명. SAS(공유 액세스 서명)는 서명된 URL을 통해 스토리지 계정의 리소스에 대해 제한적으로 위임된 권한을 제공합니다. 서명된 URL은 리소스에 부여된 권한과 서명이 유효한 간격을 지정합니다. 서비스 SAS 또는 계정 SAS는 계정 키로 서명되지만 사용자 위임 SAS는 Microsoft Entra 자격 증명으로 서명되고 Blob에만 적용됩니다. 자세한 내용은 SAS(공유 액세스 서명) 사용을 참조하세요.

  • Blob, 큐 및 테이블 리소스에 대한 권한을 요청을 부여하기 위한 Microsoft Entra 통합. Microsoft는 최적의 보안 및 사용 편의성을 위해 가능한 경우 Microsoft Entra 자격 증명을 사용하여 데이터에 대한 권한을 요청에 부여하는 것을 권장합니다. Microsoft Entra 통합에 대한 자세한 내용은 Blob, 또는 테이블 리소스에 대한 문서를 참조하세요.

    Azure RBAC(역할 기반 액세스 제어)를 사용하여 스토리지 계정의 Blob, 큐 및 테이블 리소스에 대한 보안 주체의 권한을 관리할 수 있습니다. 또한 Azure ABAC(특성 기반 액세스 제어)를 사용하여 조건을 Blob 리소스에 대한 Azure 역할 할당에 추가할 수 있습니다.

    RBAC에 대한 자세한 내용은 Azure RBAC(Azure 역할 기반 액세스 제어)란?을 참조하세요.

    ABAC 및 해당 기능 상태 대한 자세한 내용은 다음을 참조하세요.

    Azure ABAC(Azure 특성 기반 액세스 제어)는 무엇인가요?

    ABAC 조건 기능 상태

    Azure Storage의 ABAC 조건 기능 상태

  • Azure Files에 대한 Microsoft Entra Domain Services 인증. Azure Files는 Microsoft Entra Domain Services를 통해 SMB(서버 메시지 블록)에 대한 ID 기반 권한 부여를 지원합니다. Azure RBAC를 사용하여 스토리지 계정의 Azure Files 리소스에 대한 클라이언트의 액세스를 세부적으로 제어할 수 있습니다. 도메인 서비스를 사용하는 Azure Files 인증에 대한 자세한 내용은 개요를 참조하세요.

  • Azure Files에 대한 온-프레미스 Active Directory Domain Services(AD DS 또는 온-프레미스 AD DS) 인증 . Azure Files는 AD DS를 통해 SMB에 대한 ID 기반 권한 부여를 지원합니다. AD DS 환경은 온-프레미스 머신 또는 Azure VM에서 호스팅될 수 있습니다. 파일에 대한 SMB 액세스는 온-프레미스 또는 Azure의 도메인 조인 머신에서 AD DS 자격 증명을 사용하여 지원됩니다. 공유 수준 액세스 제어를 위한 Azure RBAC와 디렉터리/파일 수준 사용 권한 적용을 위한 NTFS DACL의 조합을 사용할 수 있습니다. 도메인 서비스를 사용하는 Azure Files 인증에 대한 자세한 내용은 개요를 참조하세요.

  • Blob 데이터에 대한 익명 읽기 권한이 지원되지만 사용하지 않는 것이 좋습니다. 익명 액세스가 구성되면 클라이언트가 권한 부여 없이 Blob 데이터를 읽을 수 있습니다. 모든 스토리지 계정에 대해 익명 액세스를 사용하지 않도록 설정하는 것이 좋습니다. 자세한 내용은 개요: Blob 데이터에 대한 익명 읽기 권한 문제 수정을 참조하세요.

  • 스토리지 로컬 사용자를 사용하여 SFTP 또는 SMB가 있는 파일로 Blob에 액세스할 수 있습니다. 스토리지 로컬 사용자는 권한 부여를 위해 컨테이너 수준 권한을 지원합니다. 스토리지 로컬 사용자를 SFTP와 함께 사용할 수 있는 방법에 대한 자세한 내용 SFTP(SSH 파일 전송 프로토콜)를 사용하여 Azure Blob Storage에 연결을 참조하세요.

액세스 키 보호

스토리지 계정 액세스 키는 스토리지 계정의 구성과 데이터에 대한 모든 권한을 부여하는 데 사용할 수 있습니다. 항상 액세스 키를 보호해야 합니다. Azure Key Vault를 사용하여 키를 안전하게 관리하고 회전합니다. 공유 키에 대한 액세스는 사용자에게 스토리지 계정의 구성 및 스토리지 계정의 데이터에 대한 모든 권한을 부여합니다. 공유 키에 대한 액세스는 신중하게 제한되고 모니터링되어야 합니다. Microsoft Entra ID 기반 권한 부여를 사용할 수 없는 시나리오에서는 액세스의 범위가 제한된 SAS 토큰을 사용합니다. 액세스 키를 하드 코딩하거나 다른 사용자가 액세스할 수 있는 일반 텍스트로 저장하지 않도록 합니다. 키가 손상되었다고 생각되면 키를 교체하세요.

Important

Microsoft는 계정 키(공유 키 권한 부여)를 사용하는 것보다 가능하면 Microsoft Entra ID를 사용하여 Blob, 큐 및 테이블 데이터에 대한 요청에 권한을 부여하는 것을 권장합니다. Microsoft Entra ID를 통한 권한 부여는 공유 키 권한 부여보다 뛰어난 보안과 사용 편의성을 제공합니다. 애플리케이션에서 Microsoft Entra 권한 부여를 사용하는 방법에 대한 자세한 내용은 Azure 서비스를 사용하여 .NET 애플리케이션을 인증하는 방법을 참조하세요. SMB Azure 파일 공유의 경우에는 온-프레미스 AD DS(Active Directory Domain Services) 통합 또는 Microsoft Entra Kerberos 인증을 사용하는 것이 좋습니다.

사용자가 공유 키를 사용하여 스토리지 계정의 데이터에 액세스하지 못하도록 하려면 스토리지 계정에 대한 공유 키 권한 부여를 허용하지 않을 수 있습니다. 최소한의 권한이 필요한 데이터에 대한 세분화된 액세스는 보안 모범 사례로 권장됩니다. Microsoft Entra ID 기반 권한 부여는 OAuth를 지원하는 시나리오에 사용해야 합니다. SMB를 통한 Azure Files에는 Kerberos 또는 SMTP를 사용해야 합니다. REST를 통한 Azure Files 경우에는 SAS 토큰을 사용할 수 있습니다. 의도하지 않은 사용을 방지하기 위해 필요하지 않은 경우 공유 키 액세스를 사용하지 않도록 설정해야 합니다. 자세한 내용은 Azure Storage 계정에 대한 공유 키 권한 부여 방지를 참조하세요.

Microsoft Entra 조건부 액세스 정책을 사용하여 Azure Storage 계정을 보호하려면 스토리지 계정에 대한 공유 키 권한 부여를 허용하지 않아야 합니다.

공유 키 액세스를 사용하지 않도록 설정했음에도 진단 로그에 공유 키 권한 부여가 보고된 경우, 이는 신뢰할 수 있는 액세스가 스토리지에 액세스하는 데 사용되고 있음을 나타냅니다. 자세한 내용은 구독에 등록된 리소스에 대한 신뢰할 수 있는 액세스를 참조하세요.

다음 단계