Azure에서 리소스에 대한 액세스를 위임하는 몇 가지 다른 방법이 있습니다. 하나의 방법은 공유 액세스 서명(SAS) 토큰을 통해 액세스를 위임하는 것입니다. SAS 토큰은 클라이언트가 Azure 데이터에 액세스하는 방법을 세밀하게 제어하는 방법입니다. 클라이언트가 액세스할 수 있는 리소스, 클라이언트가 갖는 권한, 토큰의 유효 기간 등을 제어할 수 있습니다.
SAS 토큰의 일반적인 사용 예는 계정 SAS를 통해 Azure 저장소 계정을 보호하는 것입니다.
이 문서에서는 Azure 포털 및 PowerShell을 통해 Azure SAS 토큰을 생성하는 방법을 배우게 됩니다. 완료하면 인증 및 권한 부여를 위해 Azure 저장소 관리에 대한 다양한 클라이언트 명령에 전달할 SAS 토큰이 생성될 것입니다.
사전 요구 사항
이 문서에서 몇 가지 다른 작업을 실습하여 수행하는 방법을 배우게 됩니다. 함께 따라하려면 다음의 사전 요구 사항을 충족해야 합니다.
- Azure 구독. 아직 구독이 없는 경우, 체험 구독을 요청할 수 있습니다.
- Azure 저장소 계정. 자세한 내용은 저장소 계정 생성을 참조하십시오.
- Az PowerShell 모듈(선택 사항). PowerShell을 사용하여 공유 액세스 서명 토큰을 생성할 경우에만 필요합니다.
- PowerShell을 통해 SAS 토큰을 생성하는 경우 Windows PowerShell 5.1 또는 PowerShell Core 6+가 필요합니다.
Azure Portal을 사용하여 SAS 토큰 생성하기
SAS 토큰을 생성하는 가장 간단한 방법은 Azure Portal을 사용하는 것입니다. Azure Portal을 사용하면 다양한 옵션을 그래픽으로 탐색할 수 있습니다.
Azure Portal에서 토큰을 생성하려면 먼저 설정 섹션에서 액세스하려는 스토리지 계정으로 이동한 다음 공유 액세스 서명을 클릭합니다. 아래에 어떻게 보일 수 있는지 예시를 확인할 수 있습니다.
SAS 토큰에 부여할 수 있는 여러 권한과 시작/종료 시간이 있습니다. 이 문서에서는 모든 권한을 부여하고 기본 만료 시간인 8시간을 유지합니다. 각 권한에 대한 설명과 자세한 내용은 Microsoft 문서를 참조하세요.
기본 확인란을 모두 남겨두고 아래에 표시된대로 SAS 및 연결 문자열 생성 버튼을 클릭합니다.

토큰이 생성되면 아래 상자에 표시됩니다. SAS 및 연결 문자열 생성 버튼 아래에 표시된대로 토큰을 복사하여 필요한 위치에 붙여넣을 수 있습니다.

PowerShell을 사용하여 SAS 토큰 생성하기
Azure 포털에 로그인하지 않거나 여러 개의 스토리지 계정에 대해 SAS 토큰을 생성하는 경우 PowerShell을 사용할 수 있습니다. PowerShell은 Azure의 REST API를 사용하여 Azure에 요청을 보내 토큰을 생성합니다.
PowerShell을 통해 SAS 토큰을 생성하려면 먼저 PowerShell 콘솔을 열고 Connect-AzAccount로 인증합니다. 인증이 완료되면 액세스하려는 스토리지 계정을 찾습니다. 아래에서는 demo_account라는 스토리지 계정을 demo_rg 리소스 그룹에서 조회하는 예시를 볼 수 있습니다. $context
의 값을 사용하여 토큰 생성 명령에 전달합니다.
스토리지 계정 컨텍스트를 찾은 후 New-AzStorageAccountSASToken
명령을 사용하여 SAS 토큰을 생성합니다. 아래 예시에서는 스토리지 계정 및 모든 하위 구성 요소에 대한 전체 권한을 부여하는 SAS 토큰을 생성하는 방법을 보여줍니다.
New-AzStorageAccountSASToken
을 사용하여 SAS 토큰을 생성할 때 토큰의 유효 기간은 1시간입니다. 이 시간을 연장하려면ExpiryTime
매개변수를 사용할 수 있습니다.
SAS 토큰 권한 제한
SAS 토큰을 사용하는 이유 중 하나는 제한된 시간과 권한 세트로 다른 사용자에게 액세스 권한을 부여하는 것입니다. 이전 예시에서는 전체 액세스 권한을 가진 SAS 토큰을 생성했습니다. 항상 전체 액세스 권한을 부여하는 것이 가장 좋은 시나리오는 아닙니다.
Service
매개변수는 서비스 또는 여러 서비스에 대한 액세스를 정의합니다. 예를 들어 blob
을 사용하여 Azure Blob Storage 서비스에만 액세스를 허용할 수 있습니다. 기타 서비스에는 File, Table, Queue 등이 있습니다.
ResourceType
매개변수는 특정 유형의 리소스에 대한 액세스를 제한합니다. 예를 들어 값으로 container
를 사용하면 컨테이너 리소스에만 액세스할 수 있습니다. 다른 유효한 리소스 유형은 Service와 Object입니다.
Permission
매개변수는 허용된 권한을 정의할 수 있습니다. 필요한 만큼 하나 이상의 권한을 지정하세요. rwd
의 값은 읽기, 쓰기 및 삭제 권한을 부여하는 것과 동일합니다. 다른 유효한 권한 값은 (l)ist, (a)dd, (u)pdate, (p)rocess입니다.
SAS 토큰 사용
생성된 SAS 토큰을 사용하는 여러 가지 방법이 있습니다. 가장 일반적인 방법 중 하나는 스토리지 컨텍스트에서 사용하는 것입니다. 스토리지 컨텍스트는 자격 증명을 “패키지화”하여 다양한 명령에 전달할 수 있는 방법입니다.
A common way to use the SAS token is via PowerShell. Using the New-AzStorageContext
command that’s part of the Az PowerShell module. You can see an example below using the SAS token to upload a file to an existing storage container.
요약
SAS 토큰을 만드는 방법은 여러 가지가 있습니다. 이 글에서는 가장 일반적인 방법 중 일부를 배웠습니다. 한 번 생성된 SAS 토큰은 다양한 방식으로 사용할 수 있지만, 그 방식은 여러분에게 달려 있습니다.