2016-08-06 3 views
-1

우리는 MS Azure를 사용하고 SAAS 기반 Multi-Tenant Application을 개발 중입니다.Micorsoft Azure blob 스토리지 세큐리티

각 임차인에게는 BLOB 컨테이너 개인이 있으며 각 임차인에게 할당됩니다.

또한 클라이언트가 다른 클라이언트 사용자와 파일을 공유 할 수 있어야한다는 요구 사항이 있습니다.

예 :

  1. 클라이언트 C1에는 컨테이너 "C1"이 있고 "C1f1", "C1f2"및 "C1f3"파일이 있습니다.
  2. 사용자 U1 및 U2. U1에는 C1f1에 대한 액세스 권한이 있으며 U2에는 C1f2 액세스 만 있습니다.

어떻게 MS Azure 권한 또는 보안에서 이것을 수행 할 수 있습니까? RUNTtime을 완료해야합니까?

제안 방법 - 최선의 방법은 무엇입니까

+0

후속 질문 중 하나 : 사용자가 고객에 특정한가요? 위의 예에서 사용자 U1과 U2가 클라이언트 C1에 속해 있다고 가정 할 수 있습니까? –

+0

블롭 스토리지는 사용자가 요구하는 인프라를위한 것이 아니며 저장소 액세스 메커니즘을 직접 사용하는 대신 액세스 제어를 관리하는 응용 프로그램 계층을 구축하는 것이 훨씬 현명합니다 – yonisha

답변

1

두 가지 옵션이 있다고 생각합니다.

적절한 권한을 가진 클라이언트/사용자별로 SAS 토큰을 생성하여 사용하십시오. SAS 토큰을 사용하면 특정 시점까지 특정 리소스에 대한 액세스를 제공 할 수 있습니다. 단점은 토큰 단위로 SAS 토큰을 철회 할 수 없다는 것입니다. 토큰은 SAS 토큰을 생성하는 데 사용 된 스토리지 액세스 키를 롤링하여 만 취소 할 수 있습니다. 또 다른 단점은 액세스 권한을 부여하려는 항목 당 SAS 토큰을 제공해야한다는 것입니다. (자세한 내용은 https://azure.microsoft.com/nl-nl/documentation/articles/storage-dotnet-shared-access-signature-part-1/을 참조하십시오.)

Azure 저장소를 캡슐화하고 고객에게 파일을 제공하는 웹 서비스를 만듭니다. 이 서비스에서는 인증 관리를 직접 구현하십시오.