Azure Storage 계정에 대한 공유 키 권한 부여 방지

Azure Storage 계정에 대한 모든 보안 요청에는 권한이 있어야 합니다. 기본적으로 요청은 Microsoft Entra 자격 증명을 사용하거나 공유 키 권한 부여를 위한 계정 액세스 키를 사용하여 권한을 부여할 수 있습니다. 이러한 두 가지 유형의 권한 부여 중 Microsoft Entra ID는 Microsoft에서 권장하는 유형으로 공유 키보다 뛰어난 보안과 사용 편의성을 갖추고 있습니다. 클라이언트가 Microsoft Entra ID를 사용하여 요청을 승인하도록 요구하려면 공유 키로 권한이 부여된 스토리지 계정에 대한 요청을 허용하지 않으면 됩니다.

스토리지 계정에 대한 공유 키 권한 부여를 허용하지 않으면 Azure Storage는 계정 액세스 키로 권한 부여된 해당 계정에 대한 모든 후속 요청을 거부합니다. Microsoft Entra ID로 권한이 부여된 보안 요청만 성공합니다. Microsoft Entra ID 사용에 대한 자세한 내용은 Azure Storage의 데이터에 대한 액세스 권한 부여를 참조하세요.

스토리지 계정의 AllowSharedKeyAccess 속성은 기본적으로 설정되지 않으며 명시적으로 설정할 때까지 값을 반환하지 않습니다. 스토리지 계정은 속성 값이 null이거나 true인 경우 공유 키로 권한이 부여된 요청을 허용합니다.

이 문서에서는 스토리지 계정의 공유 키 권한 부여를 지속적으로 관리하기 위해 DRAG(검색-수정-감사-거버넌스) 프레임워크를 사용하는 방법을 설명합니다.

필수 조건

스토리지 계정에서 공유 키 액세스를 거부하기 전에 다음을 확인합니다.

공유 키를 불허하는 경우 SAS 토큰에 미치는 영향 이해

스토리지 계정에 대해 공유 키 액세스가 허용되지 않으면 Azure Storage는 SAS의 유형 및 요청의 대상인 서비스를 기반으로 SAS 토큰을 처리합니다. 다음 표에서는 각 유형의 SAS에 권한이 부여되는 방식과 스토리지 계정의 AllowSharedKeyAccess 속성이 false인 경우 Azure Storage가 해당 SAS를 처리하는 방식을 보여줍니다.

SAS 유형 권한 부여 유형 AllowSharedKeyAccess가 false인 경우의 동작
사용자 위임 SAS(Blob Storage에만 해당) Microsoft Entra ID 요청이 허용됩니다. Microsoft는 보안을 강화하기 위해 가능한 경우 사용자 위임 SAS를 사용할 것을 권장합니다.
서비스 SAS 공유 키 모든 Azure Storage 서비스에 대한 요청이 거부됩니다.
계정 SAS 공유 키 모든 Azure Storage 서비스에 대한 요청이 거부됩니다.

Azure Monitor의 Azure 메트릭 및 로깅은 서로 다른 유형의 공유 액세스 서명을 구분하지 않습니다. Azure 메트릭 탐색기의 SAS 필터와 Azure Monitor의 Azure Storage 로깅에 있는 SAS 필드는 둘 다 모든 유형의 SAS로 권한이 부여된 요청을 보고합니다. 단, 공유 키 액세스가 불허된 경우 서로 다른 유형의 공유 액세스 서명은 다르게 권한이 부여되고 다르게 작동합니다.

  • 서비스 SAS 토큰 또는 계정 SAS 토큰은 AllowSharedKeyAccess 속성이 false로 설정된 경우 공유 키를 사용하여 권한이 부여되며 Blob Storage에 대한 요청에서 허용되지 않습니다.
  • 사용자 위임 SAS는 AllowSharedKeyAccess 속성이 false로 설정된 경우 Microsoft Entra ID를 사용하여 권한이 부여되며 Blob Storage에 대한 요청이 허용됩니다.

스토리지 계정에 대한 트래픽을 평가할 때는 클라이언트 애플리케이션에 사용되는 권한 부여 유형 검색에 설명된 메트릭 및 로그에 사용자 위임 SAS를 통해 이루어진 요청이 포함될 수 있다는 점에 유의하세요.

공유 액세스 서명에 대한 자세한 내용은 SAS(공유 액세스 서명)를 사용하여 Azure Storage 리소스에 대한 제한된 액세스 권한 부여를 참조하세요.

다른 Azure 도구 및 서비스와의 호환성 고려

여러 Azure 서비스는 공유 키 권한 부여를 사용하여 Azure Storage와 통신합니다. 스토리지 계정에 대한 공유 키 인증을 허용하지 않으면 이러한 서비스는 해당 계정의 데이터에 액세스할 수 없으며 애플리케이션에 부정적인 영향을 미칠 수 있습니다.

일부 Azure 도구에는 Microsoft Entra 권한 부여를 사용하여 Azure Storage에 액세스하는 옵션이 있습니다. 다음 표에는 몇 가지 인기 있는 Azure 도구가 나열되어 있으며 해당 도구가 Microsoft Entra ID를 사용하여 Azure Storage에 대한 요청에 권한을 부여할 수 있는지 여부가 표시되어 있습니다.

Azure 도구 Azure Storage에 대한 Microsoft Entra 권한 부여
Azure Portal 지원. Azure Portal에서 Microsoft Entra 계정을 사용하여 권한을 부여하는 작업에 대한 자세한 내용은 Azure Portal에서 Blob 데이터에 대한 액세스 권한을 부여하는 방법 선택을 참조하세요.
AZCopy Blob Storage에 지원됩니다. AzCopy 작업에 권한을 부여하는 방법에 대한 자세한 내용은 AzCopy 설명서에서 권한 부여 자격 증명을 제공하는 방법 선택을 참조하세요.
Azure Storage Explorer Blob Storage, Queue Storage, Table Storage, Azure Data Lake Storage Gen2에 지원됩니다. File Storage에 대한 Microsoft Entra ID 액세스는 지원되지 않습니다. 올바른 Microsoft Entra 테넌트를 선택해야 합니다. 자세한 내용은 Storage Explorer 시작을 참조하세요.
Azure PowerShell 지원. Microsoft Entra ID를 사용하여 Blob 또는 큐 작업에 대한 PowerShell 명령에 권한을 부여하는 방법에 대한 자세한 내용은 Microsoft Entra 자격 증명으로 PowerShell 명령을 실행하여 Blob 데이터에 액세스 또는 Microsoft Entra 자격 증명으로 PowerShell 명령을 실행하여 큐 데이터에 액세스를 참조하세요.
Azure CLI 지원. Blob 및 큐 데이터에 액세스하기 위해 Microsoft Entra ID를 사용하여 Azure CLI 명령에 권한을 부여하는 방법에 대한 자세한 내용은 Microsoft Entra 자격 증명으로 Azure CLI 명령을 실행하여 Blob 또는 큐 데이터에 액세스를 참조하세요.
Azure IoT Hub 지원. 자세한 내용은 가상 네트워크에 대한 IoT Hub 지원을 참조하세요.
Azure Cloud Shell Azure Cloud Shell은 Azure Portal의 통합 셸입니다. Azure Cloud Shell은 스토리지 계정의 Azure 파일 공유에서 지속성을 위해 파일을 호스트합니다. 이러한 파일은 해당 스토리지 계정에 대해 공유 키 권한 부여가 허용되지 않으면 액세스할 수 없게 됩니다. 자세한 내용은 Azure Cloud Shell에서 파일 유지를 참조하세요.

Azure Cloud Shell에서 명령을 실행하여 공유 키 액세스가 허용되지 않는 스토리지 계정을 관리하려면 먼저 Azure RBAC를 통해 이러한 계정에 필요한 권한이 부여되었는지 확인합니다. 자세한 내용은 Azure RBAC(Azure 역할 기반 액세스 제어)란?을 참조하세요.

Microsoft Entra 조건부 액세스를 사용하도록 공유 키 권한 부여 허용 안 함

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

파일 데이터에 대한 액세스 권한 부여 또는 Azure Files 워크로드 전환

Azure Storage는 Azure Files, Blob Storage, Queue Storage, Table Storage에 대한 요청에 Microsoft Entra 권한 부여를 지원합니다. 그러나 기본적으로 Azure Portal은 공유 키 권한 부여를 사용하여 Azure 파일 공유에 액세스합니다. 적절한 RBAC 할당으로 구성되지 않은 스토리지 계정에 대한 공유 키 권한 부여를 허용하지 않으면 Azure Files에 대한 요청이 실패하고 Azure Portal에서 Azure 파일 공유에 액세스할 수 없게 됩니다.

이를 완화하려면 다음 세 가지 방법 중 하나를 사용하는 것이 좋습니다.

  1. 다음 단계에 따라 Microsoft Entra 계정을 사용하여 파일 데이터에 대한 액세스 권한을 부여합니다. 또는
  2. 공유 키를 통해 계정에 대한 액세스를 거부하기 전에 Azure Files 데이터를 별도의 스토리지 계정으로 마이그레이션합니다. 또는
  3. Azure Files 워크로드를 지원하는 스토리지 계정에 이 설정을 적용하지 않습니다.

공유 키 액세스를 허용하는 스토리지 계정 식별

공유 키 액세스를 허용하는 스토리지 계정을 식별하는 방법에는 두 가지가 있습니다.

여러 계정에 대한 공유 키 액세스 설정 확인

최적의 성능을 가진 일련의 스토리지 계정에서 공유 키 액세스 설정을 확인하려면 Azure Portal에서 Azure Resource Graph Explorer를 사용하면 됩니다. Resource Graph Explorer를 사용하는 방법에 대해 자세히 알아보려면 빠른 시작: Azure Resource Graph Explorer를 사용하여 첫 번째 Resource Graph 쿼리 실행을 참조하세요.

Resource Graph Explorer에서 다음 쿼리를 실행하면 스토리지 계정 목록이 반환되고 각 계정에 대한 공유 키 액세스 설정이 표시됩니다.

resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend allowSharedKeyAccess = parse_json(properties).allowSharedKeyAccess
| project subscriptionId, resourceGroup, name, allowSharedKeyAccess

감사 모드에서 공유 키 액세스의 Azure Policy 구성

Azure Policy 스토리지 계정은 공유 키 액세스를 방지하여 적절한 권한이 있는 사용자가 공유 키 권한 부여를 허용하도록 새 스토리지 계정 또는 기존 스토리지 계정을 구성할 수 없도록 해야 합니다. 공유 키 권한 부여가 허용되는 스토리지 계정을 식별하도록 감사 모드에서 이 정책을 구성합니다. 권한 부여를 위해 공유 키가 아닌 Microsoft Entra를 사용하도록 애플리케이션을 변경한 후에는 공유 키 액세스를 허용하지 않도록 정책을 업데이트할 수 있습니다.

기본 제공 정책에 대한 자세한 내용은 기본 제공 정책 정의 목록에서 스토리지 계정은 공유 키 액세스를 차단해야 함을 참조하세요.

리소스 범위에 대한 기본 제공 정책 할당

Azure Portal의 적절한 범위에 기본 제공 정책을 할당하려면 다음 단계를 따릅니다.

  1. Azure Portal에서 Policy를 검색하여 Azure Policy 대시보드를 표시합니다.

  2. 작성 섹션에서 할당을 선택합니다.

  3. 정책 할당을 선택합니다.

  4. 정책 할당 페이지의 기본 탭에 있는 범위 섹션에서 정책 할당 범위를 지정합니다. 구독 및 선택적 리소스 그룹을 선택하려면 기타 단추(...)를 선택합니다.

  5. 정책 정의 필드에서 기타 단추(...)를 선택하고, 검색 필드에 공유 키 액세스를 입력합니다. 스토리지 계정은 공유 키 액세스를 차단해야 함이라는 정책 정의를 선택합니다.

    스토리지 계정에 공유 키 액세스를 허용하지 않도록 기본 제공 정책을 선택하는 방법을 보여 주는 스크린샷

  6. 검토 + 만들기를 선택합니다.

  7. 검토 + 만들기 탭에서 정책 할당을 검토한 다음, 만들기를 선택하여 지정된 범위에 정책 정의를 할당합니다.

정책 준수 모니터링

공유 키 액세스 정책을 준수하는지 스토리지 계정을 모니터링하려면 다음 단계를 따릅니다.

  1. Azure Policy 대시보드의 작성에서 할당을 선택합니다.

  2. 이전 섹션에서 만든 정책 할당을 찾아 선택합니다.

  3. 규정 준수 보기 탭을 선택합니다.

  4. 정책 할당 범위 내에서 정책 요구 사항을 충족하지 않는 모든 스토리지 계정은 규정 준수 보고서에 표시됩니다.

    공유 키 액세스 기본 제공 정책의 규정 준수 보고서를 확인하는 방법을 보여 주는 스크린샷

스토리지 계정이 규정을 준수하지 않는 이유에 대한 자세한 내용을 보려면 준수 이유에서 세부 정보를 선택합니다.

클라이언트 애플리케이션에 사용되는 권한 부여 유형 검색

이렇게 변경하기 전에, 공유 키 권한 부여를 불허하는 경우 클라이언트 애플리케이션에 어떤 영향을 주는지 이해하려면 스토리지 계정에 대한 로깅 및 메트릭을 사용하도록 설정합니다. 그런 다음, 일정 기간 동안 계정에 대한 요청 패턴을 분석하여 요청에 권한이 부여되는 방식을 확인할 수 있습니다.

메트릭을 사용하여 스토리지 계정이 수신하는 공유 키 또는 SAS(공유 액세스 서명)로 권한이 부여된 요청 수를 확인합니다. 로그를 사용하여 어떤 클라이언트가 해당 요청을 보내는지 확인합니다.

SAS는 공유 키 또는 Microsoft Entra ID를 사용하여 권한을 부여할 수 있습니다. 공유 액세스 서명으로 수행된 요청을 해석하는 방법에 대한 자세한 내용은 공유 키가 SAS 토큰에 미치는 영향 이해를 참조하세요.

공유 키를 사용하여 권한이 부여된 요청의 수와 빈도 확인

스토리지 계정에 대한 요청에 권한이 부여되는 방식을 추적하려면 Azure Portal에서 Azure 메트릭 탐색기를 사용합니다. 메트릭 탐색기에 대한 자세한 내용은 Azure Monitor 메트릭 탐색기로 메트릭 분석을 참조하세요.

공유 키 또는 SAS로 이루어진 요청을 추적하는 메트릭을 만들려면 다음 단계를 수행합니다.

  1. Azure Portal의 스토리지 계정으로 이동합니다. 모니터링 섹션에서 메트릭을 선택합니다.

  2. 새 메트릭 상자가 표시됩니다.

    새 메트릭 대화 상자를 보여 주는 스크린샷

    그렇지 않으면 메트릭 추가를 선택합니다.

  3. 메트릭 대화 상자에서 다음 값을 지정합니다.

    1. 범위 필드는 스토리지 계정의 이름으로 설정된 상태로 둡니다.
    2. 메트릭 네임스페이스Account로 설정합니다. 이 메트릭은 스토리지 계정에 대한 모든 요청을 보고합니다.
    3. 메트릭 필드를 Transactions로 설정합니다.
    4. 집계 필드는 Sum으로 설정합니다.

    새 메트릭은 지정된 시간 간격 동안 스토리지 계정에 대한 트랜잭션 수의 합계를 표시합니다. 결과 메트릭은 다음 이미지와 같이 나타납니다.

    공유 키 또는 SAS로 이루어진 트랜잭션을 요약하는 메트릭을 구성하는 방법을 보여 주는 스크린샷

  4. 그런 다음, 필터 추가 단추를 선택하여 권한 부여 유형에 대한 메트릭 필터를 만듭니다.

  5. 필터 대화 상자에서 다음 값을 지정합니다.

    1. 속성 값을 Authentication으로 설정합니다.
    2. 연산자 필드를 등호(=)로 설정합니다.
    3. 필드에서 계정 키 및 SAS를 선택합니다.
  6. 오른쪽 위 모서리에서 메트릭을 보려는 시간 범위를 선택합니다. 간격을 1분에서 1개월 사이로 지정하여 요청 집계의 세분화 정도를 나타낼 수도 있습니다. 예를 들어, 지난 30일 동안 날짜별로 집계된 요청을 보려면 시간 범위를 30일로 설정하고 시간 단위를 1일로 설정합니다.

메트릭을 구성한 후에는 스토리지 계정에 대한 요청이 그래프에 나타나기 시작합니다. 다음 이미지는 공유 키로 권한이 부여되었거나 SAS 토큰으로 작성된 요청을 보여줍니다. 요청은 지난 30일 동안 날짜별로 집계됩니다.

공유 키를 사용하여 권한 있는 집계된 요청을 보여 주는 스크린샷

스토리지 계정에 대해 공유 키로 권한이 부여된 특정 수의 요청이 있는 경우 알려주도록 경고 규칙을 구성할 수도 있습니다. 자세한 내용은 Azure Monitor를 사용하여 메트릭 경고 만들기, 보기 및 관리를 참조하세요.

로그를 분석하여 공유 키 또는 SAS로 요청에 대한 권한을 부여하는 클라이언트 식별

Azure Storage 로그는 스토리지 계정에 대한 요청의 세부 정보(요청에 권한이 부여된 방법 포함)를 캡처합니다. 로그를 분석하여 어떤 클라이언트가 공유 키 또는 SAS로 요청에 대한 권한을 부여하는지 확인할 수 있습니다.

권한 부여 방법을 평가하기 위해 Azure Storage 계정에 요청을 로그하려면 Azure Monitor에서 Azure Storage 로깅을 사용하면 됩니다. 자세한 내용은 Azure Storage 모니터링을 참조하세요.

Azure Monitor의 Azure Storage 로깅은 로그 쿼리를 사용하여 로그 데이터를 분석하도록 지원합니다. 로그를 쿼리하려면 Azure Log Analytics 작업 영역을 사용사면 됩니다. 로그 쿼리에 대해 자세히 알아보려면 자습서: Log Analytics 쿼리 시작하기를 참조하세요.

Azure Portal에서 진단 설정 만들기

Azure Monitor를 사용하여 Azure Storage 데이터를 기록하고 Azure Log Analytics를 사용하여 분석하려면 먼저 어떤 유형의 요청과 데이터를 기록하려는 스토리지 서비스를 나타내는 진단 설정을 생성해야 합니다. Azure Portal에서 진단 설정을 만들려면 다음 단계를 수행합니다.

  1. Azure Storage 계정이 포함된 구독에서 새 Log Analytics 작업 영역을 만들거나 기존 Log Analytics 작업 영역을 사용합니다. 스토리지 계정에 대한 로깅을 구성하면 Log Analytics 작업 영역에서 로그를 사용할 수 있습니다. 자세한 내용은 Azure Portal에서 Log Analytics 작업 영역 만들기를 참조하세요.

  2. Azure Portal의 스토리지 계정으로 이동합니다.

  3. 모니터링 섹션에서 진단 설정을 선택합니다..

  4. 요청을 로그할 Azure Storage 서비스를 선택합니다. 예를 들어 Blob Storage에 요청을 로그하려면 Blob을 선택합니다.

  5. 진단 설정 추가를 선택합니다.

  6. 진단 설정의 이름을 제공합니다.

  7. 범주 세부 정보로그 섹션에서 StorageRead, StorageWrite, StorageDelete를 선택하여 선택한 서비스에 대한 모든 데이터 요청을 로그합니다.

  8. 대상 세부 정보에서 Log Analytics에 보내기를 선택합니다. 다음 이미지와 같이, 구독 및 이전에 만든 Log Analytics 작업 영역을 선택합니다.

    로깅 요청에 대한 진단 설정을 만드는 방법을 표시하는 스크린샷.

스토리지 계정의 각 Azure Storage 리소스 유형에 대한 진단 설정을 만들 수 있습니다.

진단 설정을 만든 후에는 이 설정에 따라 스토리지 계정에 대한 요청이 로그됩니다. 자세한 내용은 Azure에서 리소스 로그 및 메트릭을 수집하기 위한 진단 설정 만들기를 참조하세요.

Azure Monitor의 Azure Storage 로그에서 사용할 수 있는 필드 참조는 리소스 로그를 참조하세요.

공유 키 또는 SAS로 이루어진 요청에 대한 로그 쿼리

Azure Monitor의 Azure Storage 로그에는 스토리지 계정에 요청하는 데 사용된 권한 부여 유형이 포함됩니다. 공유 키 또는 SAS로 권한이 부여된 지난 7일 동안 이루어진 요청에 대한 로그를 검색하려면 Log Analytics 작업 영역을 엽니다. 그 후 다음 쿼리를 새 로그 쿼리에 붙여넣고 실행합니다. 이 쿼리는 공유 키 또는 SAS로 권한이 부여된 요청을 가장 자주 보낸 10개의 IP 주소를 표시합니다.

StorageBlobLogs
| where AuthenticationType in ("AccountKey", "SAS") and TimeGenerated > ago(7d)
| summarize count() by CallerIpAddress, UserAgentHeader, AccountName
| top 10 by count_ desc

이 쿼리를 기반으로, 공유 키 또는 SAS로 권한이 부여된 요청에 대해 알리도록 경고 규칙을 구성할 수도 있습니다. 자세한 내용은 Azure Monitor를 사용하여 로그 경고 만들기, 보기 및 관리를 참조하세요.

공유 키를 통해 권한 부여 수정

스토리지 계정에 대한 요청에 권한이 부여되는 방식을 분석한 후 공유 키를 통한 액세스를 막는 조치를 취할 수 있습니다. 하지만 먼저 Microsoft Entra ID를 대신 사용하려면 공유 키 권한 부여를 사용하는 모든 애플리케이션을 업데이트해야 합니다. 클라이언트 애플리케이션에 사용되는 권한 부여 유형 검색의 설명대로 로그 및 메트릭을 모니터링하여 전환을 추적할 수 있습니다. Microsoft Entra ID를 사용하여 스토리지 계정의 데이터에 액세스하는 작업에 대한 자세한 내용은 Azure Storage의 데이터에 대한 액세스 권한 부여를 참조하세요.

공유 키로 권한이 부여된 요청을 안전하게 거부할 수 있다고 확신하는 경우 스토리지 계정에 대한 AllowSharedKeyAccess 속성을 false로 설정할 수 있습니다.

Warning

현재 공유 키를 사용하여 스토리지 계정의 데이터에 액세스하는 클라이언트가 있는 경우 스토리지 계정에 대한 공유 키 액세스를 거부하기 전에 해당 클라이언트를 Microsoft Entra ID로 마이그레이션하는 것이 좋습니다.

공유 키 액세스를 허용하거나 불허하는 권한

스토리지 계정에 대한 AllowSharedKeyAccess 속성을 설정하려면 사용자에게 스토리지 계정을 만들고 관리할 수 있는 권한이 있어야 합니다. 이러한 권한을 제공하는 Azure RBAC(Azure 역할 기반 액세스 제어) 역할에는 Microsoft.Storage/storageAccounts/write 또는 Microsoft.Storage/storageAccounts/* 작업이 포함됩니다. 이 작업이 포함된 기본 제공 역할은 다음과 같습니다.

위 역할은 Microsoft Entra ID를 통해 스토리지 계정의 데이터에 대한 액세스 권한을 제공하지 않습니다. 그러나 계정 액세스 키에 대한 액세스 권한을 부여하는 Microsoft.Storage/storageAccounts/listkeys/action이 포함되어 있습니다. 이 권한이 있는 사용자는 계정 액세스 키를 사용하여 스토리지 계정의 모든 데이터에 액세스할 수 있습니다.

스토리지 계정에 대한 공유 키 액세스를 사용자가 허용하거나 불허할 수 있도록 하려면 역할 할당의 범위를 스토리지 계정 수준 이상으로 지정해야 합니다. 역할 범위에 대한 자세한 내용은 Azure RBAC의 범위 이해를 참조하세요.

이러한 역할은 스토리지 계정을 만들거나 해당 속성을 업데이트하는 기능이 필요한 사용자에게만 제한적으로 할당해야 합니다. 최소 권한의 원칙을 사용하여 사용자에게 작업을 수행하는 데 필요한 최소 권한을 부여합니다. Azure RBAC를 사용하여 액세스를 관리하는 방법에 대한 자세한 내용은 Azure RBAC 모범 사례를 참조하세요.

참고 항목

클래식 구독 관리자 역할인 서비스 관리자 및 공동 관리자에는 Azure Resource Manager 소유자 역할에 해당하는 항목이 포함됩니다. 소유자 역할은 모든 작업을 포함하므로 이러한 관리 역할 중 하나가 있는 사용자는 스토리지 계정을 만들고 관리할 수도 있습니다. 자세한 내용은 Azure 역할, Microsoft Entra 역할 및 클래식 구독 관리자 역할을 참조하세요.

공유 키 권한 부여 사용 안 함

필요한 권한이 있는 계정을 사용하여 PowerShell을 사용하거나 Azure CLI를 사용하여 Azure Portal에서 공유 키 권한 부여를 사용하지 않도록 설정합니다.

Azure Portal에서 스토리지 계정에 대한 공유 키 권한 부여를 허용하지 않으려면 다음 단계를 수행합니다.

  1. Azure Portal의 스토리지 계정으로 이동합니다.

  2. 설정에서 구성 설정을 찾습니다.

  3. 스토리지 계정 키 액세스 허용비활성화로 설정합니다.

    스토리지 계정에 대한 공유 키 액세스를 허용하지 않는 방법을 표시하는 스크린샷.

공유 키 권한 부여를 허용하지 않으면 공유 키 권한 부여를 사용하여 스토리지 계정에 보낸 요청이 실패하고 오류 코드 403(금지됨)이 표시됩니다. Azure Storage는 키 기반 권한 부여가 스토리지 계정에서 허용되지 않는다는 오류를 반환합니다.

AllowSharedKeyAccess 속성은 Azure Resource Manager 배포 모델을 사용하는 저장소 계정에 대해서만 지원됩니다. 어떤 스토리지 계정이 Azure Resource Manager 배포 모델을 사용하는지에 대한 자세한 내용은 스토리지 계정 유형을 참조하세요.

공유 키 액세스가 허용되지 않는지 확인

공유 키 권한 부여가 더 이상 허용되지 않는지 확인하려면 다음 명령을 사용하여 Azure Storage 계정 설정을 쿼리할 수 있습니다. 대괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿉니다.

az storage account show \
    --name <storage-account-name> \
    --resource-group <resource-group-name> \
    --query "allow-shared-key-access"

이 명령은 스토리지 계정에 대해 공유 키 권한 부여가 허용되지 않는 경우 false를 반환합니다.

계정 액세스 키를 사용하여 데이터 작업을 호출하여 추가로 확인할 수 있습니다. 다음 예에서는 액세스 키를 사용하여 컨테이너를 만들려고 시도합니다. 이 호출은 스토리지 계정에 대해 공유 키 권한 부여가 허용되지 않으면 실패합니다. 대괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꾸세요.

az storage container create \
    --account-name <storage-account-name> \
    --name sample-container \
    --account-key <key> \
    --auth-mode key

참고 항목

익명 요청에는 권한이 부여되지 않지만 스토리지 계정과 컨테이너에 익명 읽기 권한을 구성한 경우 계속 진행됩니다. 자세한 내용은 컨테이너 및 Blob에 대한 익명 읽기 권한 구성을 참조하세요.

Azure Policy 모니터링하여 규정 준수

원하는 스토리지 계정에 공유 키 액세스를 허용하지 않은 후에도 지속적인 규정 준수를 위해 이전에 만든 정책 모니터링을 계속 실행합니다. 모니터링 결과에 따라 정책의 범위를 변경하거나, 더 많은 계정에 공유 키 액세스를 허용하지 않거나, 수정에 더 많은 시간이 필요한 계정에 공유 키 액세스를 허용하는 등 필요에 따라 적절한 조치를 취합니다.

공유 키 액세스를 허용하지 않도록 Azure Policy 업데이트

스토리지 계정은 공유 키 액세스를 차단해야 함 정책에 이전에 만든 Azure Policy 할당을 적용하려면 권한 있는 사용자가 스토리지 계정에 대한 공유 키 액세스를 허용하지 못하도록 정책 할당의 효과거부로 변경합니다. 정책의 효과를 변경하려면 다음 단계를 수행합니다.

  1. Azure Policy 대시보드에서 이전에 만든 정책 할당을 찾아 선택합니다.

  2. 할당 편집을 선택합니다.

  3. 매개 변수 탭으로 이동합니다.

  4. 입력 또는 검토가 필요한 매개 변수만 표시 확인란의 선택을 취소합니다.

  5. 효과 드롭다운에서 감사거부로 변경한 다음, 검토 + 저장을 선택합니다.

  6. 검토 + 저장 탭에서 변경 내용을 검토한 다음, 저장을 선택합니다.

참고 항목

정책 변경이 적용되는 데 최대 30분이 걸릴 수 있습니다.

다음 단계