Azure Storage 계정에 연결

완료됨

필요한 클라이언트 라이브러리를 애플리케이션에 추가했고 Azure Storage 계정에 연결할 준비가 되었습니다.

스토리지 계정의 데이터를 사용하려면 앱에 두 개의 데이터 조각이 필요합니다.

  • 액세스 키
  • REST API 엔드포인트

보안 액세스 키

각 스토리지 계정에는 스토리지 계정을 보호하는 데 사용되는 두 개의 고유한 액세스 키가 있습니다. 앱이 여러 스토리지 계정에 연결되어야 하는 경우 앱에는 각 스토리지 계정에 대한 액세스 키가 필요합니다.

An illustration showing an application connected to two different storage accounts in the cloud. Each storage account is accessible with a unique key.

REST API 엔드포인트

스토리지 계정에서 인증하는 데 필요한 액세스 키 외에도, REST 요청을 발급하기 위한 스토리지 서비스 엔드포인트를 앱에서 알고 있어야 합니다.

REST 엔드포인트는 스토리지 계정 이름, 데이터 형식, 알려진 도메인의 조합으로 구성됩니다. 예:

데이터 형식 예제 엔드포인트
Blob https://[name].blob.core.windows.net/
https://[name].queue.core.windows.net/
테이블 https://[name].table.core.windows.net/
파일 https://[name].file.core.windows.net/

Azure에 연결된 사용자 지정 도메인이 있는 경우 엔드포인트에 대한 사용자 지정 도메인 URL을 만들 수 있습니다.

연결 문자열

애플리케이션 내에서 액세스 키 및 엔드포인트 URL을 처리하는 가장 간단한 방법은 스토리지 계정 연결 문자열을 사용하는 것입니다. 연결 문자열은 단일 텍스트 문자열에 필요한 모든 연결 정보를 제공합니다.

Azure Storage 연결 문자열은 다음 예제와 비슷하게 표시되지만 특정 스토리지 계정의 액세스 키 및 계정 이름을 사용합니다.

DefaultEndpointsProtocol=https;AccountName={your-storage};
   AccountKey={your-access-key};
   EndpointSuffix=core.windows.net

보안

액세스 키는 스토리지 계정에 대한 액세스를 제공하는 데 중요하므로 스토리지 계정에 대한 액세스를 허용하지 않으려는 시스템이나 개인에게는 제공하지 않아야 합니다. 액세스 키는 사용자의 컴퓨터에 액세스하기 위한 사용자 이름 및 암호와 같습니다.

일반적으로 스토리지 계정 연결 정보는 환경 변수, 데이터베이스 또는 구성 파일에 저장합니다.

Important

소스 제어에 해당 파일을 포함하고 퍼블릭 리포지토리에 저장하는 경우 이 정보를 구성 파일에 저장하면 위험할 수 있습니다. 이는 흔히 저지르는 실수로, 누구든지 공용 리포지토리의 소스 코드를 찾아보고 스토리지 계정 연결 정보를 볼 수 있게 됩니다.

각 스토리지 계정에는 두 개의 액세스 키가 있습니다. 이는 스토리지 계정의 보안을 유지하기 위한 보안 모범 사례의 일환으로 주기적으로 키를 회전(다시 생성)하도록 허용하기 위한 것입니다. Azure Portal 또는 Azure CLI/PowerShell 명령줄 도구에서 이를 수행할 수 있습니다.

키를 순환하면 원래 키 값이 즉시 무효화되고, 부적절하게 키를 얻은 모든 사용자의 액세스 권한이 철회됩니다. 두 개의 키가 지원되므로 이러한 키를 사용하는 애플리케이션에 가동 중지 시간을 일으키지 않고 키를 회전할 수 있습니다. 앱이 대체 액세스 키를 사용하도록 전환할 수 있으며 다른 키 하나는 다시 생성됩니다. 이 스토리지 계정을 사용하는 앱이 여러 개인 경우 이 기술을 지원하려면 해당 앱 모두 동일한 키를 사용해야 합니다. 기본적인 개념은 다음과 같습니다.

  1. 스토리지 계정의 보조 액세스 키를 참조하도록 애플리케이션 코드의 연결 문자열을 업데이트합니다.
  2. Azure Portal 또는 명령줄 도구를 사용하여 스토리지 계정의 기본 액세스 키를 다시 생성합니다.
  3. 새 기본 액세스 키를 참조하도록 코드의 연결 문자열을 업데이트합니다.
  4. 같은 방식으로 보조 액세스 키를 다시 생성합니다.

액세스 키를 비공개로 유지할 수 있도록, 암호 변경과 마찬가지로 액세스 키를 주기적으로 회전할 것을 적극 권장합니다. 키를 서버 애플리케이션에 사용하는 경우 Azure Key Vault를 통해 자동으로 액세스 키를 저장할 수 있습니다. Key Vault는 스토리지 계정과 직접 동기화하고 자동으로 키를 주기적으로 순환하는 기능을 지원합니다. Key Vault를 사용하면 앱이 액세스 키를 직접 작업할 필요가 없는 추가 보안 계층이 제공됩니다.

SAS(공유 액세스 서명)

액세스키는 스토리지 계정에 대한 액세스를 인증하기 위한 가장 쉬운 방법입니다. 하지만 컴퓨터의 루트 암호와 마찬가지로, 스토리지 계정의 모든 항목에 대한 모든 권한을 제공합니다.

스토리지 계정은 제한된 액세스 권한을 부여해야 하는 시나리오에 대한 만료 및 제한된 권한을 지원하는 공유 액세스 서명이라는 별도의 인증 메커니즘을 제공합니다. 다른 사용자가 데이터를 읽고 스토리지 계정에 쓸 수 있게 허용하려면 이 방법을 사용해야 합니다. 이 모듈의 마지막 부분에서 이 고급 항목에 대한 설명서 링크를 찾을 수 있습니다.