다음을 통해 공유


스토리지 컨테이너에 대한 SAS 토큰

Azure Portal을 사용하여 사용자 위임, SAS(공유 액세스 서명) 토큰을 만드는 방법을 알아봅니다. 사용자 위임 SAS 토큰은 Microsoft Entra 자격 증명으로 보호됩니다. SAS 토큰은 Azure 스토리지 계정의 리소스에 대한 안전한 위임된 액세스를 제공합니다.

SAS 토큰이 추가된 스토리지 URL을 보여 주는 스크린샷입니다.

역할 기반 액세스 제어(관리 ID)는 HTTP 요청에 SAS 토큰을 포함할 필요 없이 스토리지 데이터에 대한 액세스 권한을 부여하는 대체 방법을 제공합니다.

  • 관리 ID를 사용하면 자체 애플리케이션을 포함하여 Microsoft Entra 인증을 지원하는 모든 리소스에 액세스 권한을 부여할 수 있습니다.
  • 관리 ID 사용은 SAS(공유 액세스 서명 토큰)를 원본 및 대상 URL에 포함해야 하는 요구 사항을 대체합니다.
  • Azure에서 관리 ID를 사용하는 데 추가되는 비용은 없습니다.

높은 수준에서 SAS 토큰의 작동 방식은 다음과 같습니다.

  • 애플리케이션은 REST API 요청의 일부로 SAS 토큰을 Azure Storage에 제출합니다.

  • 스토리지 서비스에서 SAS가 유효하다고 확인하면 요청이 승인됩니다.

  • SAS 토큰이 유효하지 않은 것으로 간주되면 요청이 거부되고 오류 코드 403(사용할 수 없음)이 반환됩니다.

Azure Blob Storage는 세 가지 종류의 리소스를 제공합니다.

  • 스토리지 계정은 데이터에 대해 Azure에서 고유의 네임스페이스를 제공합니다.
  • 데이터 스토리지 컨테이너는 스토리지 계정에 있으며 Blob 집합(파일, 텍스트 또는 이미지)을 구성합니다.
  • Blob은 컨테이너에 있으며 텍스트 및 파일, 텍스트 및 이미지와 같은 이진 데이터를 저장합니다.

Important

  • SAS 토큰은 스토리지 리소스에 대한 권한을 부여하는 데 사용되며 계정 키와 동일한 방식으로 보호되어야 합니다.

  • SAS 토큰을 사용하는 작업은 HTTPS 연결을 통해서만 수행되어야 하며 SAS URI는 HTTPS와 같은 보안 연결에서만 배포되어야 합니다.

필수 조건

시작하기 전에 다음 리소스가 필요합니다.

  • 활성 Azure 계정. 계정이 없는 경우 무료 계정에 만들 수 있습니다.

  • Azure AI 언어 리소스

  • 표준 성능 Azure Blob Storage 계정 또한 스토리지 계정 내에서 파일을 저장하고 구성하는 컨테이너를 만들어야 합니다. 스토리지 컨테이너를 사용하여 Azure 스토리지 계정을 만드는 방법을 모르는 경우 다음 빠른 시작을 따릅니다.

    • 스토리지 계정 만들기 스토리지 계정을 만들 때 인스턴스 세부 사항>성능 필드에서 표준 성능을 선택합니다.
    • 컨테이너를 만듭니다. 컨테이너를 만드는 경우 새 컨테이너 창에서 퍼블릭 액세스 수준컨테이너(컨테이너 및 파일에 대한 익명 읽기 액세스)로 설정합니다.

Azure Portal에서 SAS 토큰 만들기

Azure Portal로 이동하여 다음과 같이 컨테이너 또는 특정 파일로 이동하고 다음 단계를 계속합니다.

워크플로: 내 스토리지 계정컨테이너내 컨테이너내 파일

  1. 컨테이너 또는 파일을 마우스 오른쪽 단추로 클릭하고 드롭다운 메뉴에서 SAS 생성을 선택합니다.

  2. 서명 방법사용자 위임 키를 선택합니다.

  3. 적절한 확인란을 선택하거나 선택 취소하여 권한을 정의합니다.

    • 원본 파일은 읽기나열 액세스 권한을 지정해야 합니다.

    • 대상 파일은 쓰기나열 액세스 권한을 지정해야 합니다.

  4. 서명된 키 시작만료 시간을 지정합니다.

    • SAS(공유 액세스 서명)를 만들 때 기본 기간은 48시간입니다. 48시간이 지나면 새 토큰을 만들어야 합니다.
    • 언어 서비스 작업에 스토리지 계정을 사용할 기간을 더 길게 설정하는 것이 좋습니다.
    • 만료 시간 값은 계정 키 또는 사용자 위임 키 서명 방법 사용 여부에 따라 결정됩니다.
      • 계정 키: 최대 시간 제한은 없습니다. 그러나 모범 사례에서는 간격을 제한하고 손상을 최소화하도록 만료 정책을 구성하는 것이 좋습니다. 공유 액세스 서명에 대한 만료 정책을 구성합니다.
      • 사용자 위임 키: 만료 시간 값은 SAS 토큰 생성 스크립트 후 최대 7일입니다. 사용자 위임 키가 만료된 후에는 SAS가 유효하지 않으므로 만료 시간이 7일보다 긴 SAS는 여전히 7일 동안만 유효합니다. 자세한 내용은 Microsoft Entra 자격 증명을 사용하여 SAS 보안참조하세요.
  5. 허용되는 IP 주소 필드는 선택 사항으로 요청을 수락할 IP 주소 또는 IP 주소 범위를 지정합니다. 요청 IP 주소가 SAS 토큰에 지정된 IP 주소 또는 주소 범위와 일치하지 않으면 권한 부여가 실패합니다. IP 주소 또는 IP 주소 범위는 프라이빗이 아닌 공용 IP여야 합니다. 자세한 내용은, IP 주소 또는 IP 범위 지정을 참조하세요.

  6. 허용되는 프로토콜 필드는 선택 사항으로 SAS로 만든 요청에 대해 허용되는 프로토콜을 지정합니다. 기본값은 HTTPS입니다.

  7. 검토 후 SAS 토큰 및 URL 생성을 선택합니다.

  8. Blob SAS 토큰 쿼리 문자열 및 Blob SAS URL이 창의 아래쪽 영역에 표시됩니다.

  9. Blob SAS 토큰 및 URL 값을 복사하여 안전한 위치에 붙여넣습니다. 이는 한 번만 표시되며 창을 닫은 후에는 검색할 수 없습니다.

  10. SAS URL을 구성하려면 스토리지 서비스의 URL에 SAS 토큰(URI)을 추가합니다.

SAS URL을 사용하여 액세스 권한 부여

SAS URL에는 특수한 쿼리 매개 변수 세트가 포함되어 있습니다. 이 매개 변수는 클라이언트가 리소스에 액세스하는 방법을 나타냅니다.

다음 두 가지 방법으로 REST API 요청에 SAS URL을 포함할 수 있습니다.

  • SAS URL을 sourceURL 및 targetURL 값으로 사용합니다.

  • 기존 sourceURL 및 targetURL 값에 SAS 쿼리 문자열을 추가합니다.

샘플 REST API 요청은 다음과 같습니다.

{
  "analysisInput": {
    "documents": [
      {
        "id": "doc_0",
        "language": "en",
        "source": {
          "location": "myaccount.blob.core.windows.net/sample-input/input.pdf?{SAS-Token}"
        },
        "target": {
          "location": "https://myaccount.blob.core.windows.net/sample-output?{SAS-Token}"
        }
      }
    ]
  }
}

정말 간단하죠. 클라이언트가 데이터에 액세스하는 방법을 승인하기 위해 SAS 토큰을 생성하는 방법을 알아보았습니다.

다음 단계