다음을 통해 공유


다중 테넌트 및 Azure Key Vault

Azure Key Vault는 비밀, 암호화 키 및 인증서를 포함하여 솔루션에 대한 보안 데이터를 관리하는 데 사용됩니다. 이 문서에서는 다중 테넌트 솔루션에 유용한 Azure Key Vault의 몇 가지 기능에 대해 설명합니다. 그런 다음, Key Vault를 사용하는 방법을 계획할 때 도움이 될 수 있는 지침에 대한 링크를 제공합니다.

격리 모델

Key Vault를 사용하는 다중 테넌트 시스템을 사용하는 경우 사용하려는 격리 수준을 결정해야 합니다. 사용하는 격리 모델 선택은 다음 요인에 따라 달라집니다.

  • 테넌트는 몇 개나 가질 계획인가요?
  • 여러 테넌트 간에 애플리케이션 계층을 공유하나요, 단일 테넌트 애플리케이션 인스턴스를 배포하나요, 아니면 각 테넌트마다 별도의 배포 스탬프를 배포하나요?
  • 테넌트가 자체 암호화 키를 관리해야 합니까?
  • 테넌트에 비밀을 다른 테넌트의 비밀과 별도로 저장되어야 하는 규정 준수 요구 사항이 있나요?

다음 표에는 Key Vault에 대한 주요 테넌트 모델 간의 차이점이 요약되어 있습니다.

고려 사항 공급자의 구독에서 테넌트당 자격 증명 모음 테넌트의 구독에서 테넌트당 자격 증명 모음 공유 자격 증명 모음
데이터 격리 높음 매우 높음 낮음
성능 격리 중간. 많은 자격 증명 모음이 있더라도 높은 처리량이 제한될 수 있습니다. 높음 낮음
배포 복잡성 낮음-보통, 테넌트 수에 따라 다름 높음. 테넌트는 공급자에 대한 액세스 권한을 올바르게 부여해야 합니다. 낮음
운영 복잡성 높음 공급자의 경우 낮음, 테넌트에서 더 높음 가장 낮음
예제 시나리오 테넌트당 개별 애플리케이션 인스턴스 고객 관리형 암호화 키 공유 애플리케이션 계층이 있는 대규모 다중 테넌트 솔루션

공급자의 구독에서 테넌트당 자격 증명 모음

(서비스 공급자의) Azure 구독 내에서 각 테넌트의 자격 증명 모음을 배포하는 것을 고려할 수 있습니다. 이 방법은 각 테넌트의 데이터 간에 강력한 데이터 격리를 제공하지만 테넌트 수를 늘리면 점점 더 많은 자격 증명 모음을 배포하고 관리해야 합니다.

Azure 구독에 배포할 수 있는 자격 증명 모음 수에는 제한이 없습니다. 단, 다음 지침을 고려해야 합니다.

테넌트의 구독에서 테넌트당 자격 증명 모음

경우에 따라 테넌트는 자체 Azure 구독에 자격 증명 모음을 만들 수 있으며 비밀, 인증서 또는 키로 작업할 수 있는 액세스 권한을 애플리케이션에 부여하려고 할 수 있습니다. 이 방법은 솔루션 내에서 암호화를 위해 CMK(고객 관리형 키)를 허용하는 경우에 적합합니다.

테넌트의 자격 증명 모음에 있는 데이터에 액세스하려면 테넌트가 애플리케이션에 자격 증명 모음에 대한 액세스 권한을 제공해야 합니다. 이 프로세스를 수행하려면 애플리케이션이 Microsoft Entra 인스턴스를 통해 인증해야 합니다. 한 가지 방법은 다중 테넌트 Microsoft Entra 애플리케이션을 게시하는 것입니다. 테넌트는 일회성 동의 프로세스를 수행해야 합니다. 먼저 자체 Microsoft Entra 테넌트에 다중 테넌트 Microsoft Entra 애플리케이션을 등록합니다. 그런 다음 다중 테넌트 Microsoft Entra 애플리케이션에 자격 증명 모음에 대한 적절한 수준의 액세스 권한을 부여합니다. 또한 사용자가 만든 자격 증명 모음의 전체 리소스 ID를 제공해야 합니다. 그런 다음 애플리케이션 코드는 사용자 고유의 Microsoft Entra ID에 있는 다중 테넌트 Microsoft Entra 애플리케이션과 연결된 서비스 주체를 사용하여 각 테넌트의 자격 증명 모음에 액세스할 수 있습니다.

또는 각 테넌트에게 서비스를 사용할 서비스 주체를 만들고 자격 증명을 제공하도록 요청할 수 있습니다. 그러나 이 방법을 사용하려면 잠재적인 보안 책임인 각 테넌트에 대한 자격 증명을 안전하게 저장하고 관리해야 합니다.

테넌트가 자격 증명 모음에서 네트워크 액세스 제어를 구성하는 경우 자격 증명 모음에 액세스할 수 있는지 확인합니다.

공유 자격 증명 모음

단일 자격 증명 모음 내에서 테넌트의 비밀을 공유하도록 선택할 수 있습니다. 자격 증명 모음은 (솔루션 공급자의) Azure 구독에 배포되며 관리 책임이 있습니다. 이 방법은 가장 간단하지만 데이터 격리 및 성능 격리를 가장 적게 제공합니다.

여러 공유 자격 증명 모음을 배포하도록 선택할 수도 있습니다. 예를 들어 배포 스탬프 패턴을 따르는 경우 각 스탬프 내에 공유 자격 증명 모음을 배포할 가능성이 높습니다. 마찬가지로 다중 지역 솔루션을 배포하는 경우 다음과 같은 이유로 각 지역에 자격 증명 모음을 배포해야 합니다.

  • 자격 증명 모음의 데이터로 작업할 때 지역 간 트래픽 대기 시간을 방지하기 위해.
  • 데이터 상주 요구 사항을 지원하기 위해.
  • 동일한 지역 배포가 필요한 다른 서비스 내에서 지역 자격 증명 모음을 사용하도록 설정하기 위해.

공유 자격 증명 모음을 사용하는 경우 자격 증명 모음에 대해 수행하는 작업 수를 고려하는 것이 중요합니다. 작업에는 비밀 읽기 및 암호화 또는 암호 해독 작업 수행이 포함됩니다. 단일 자격 증명 모음과 Azure 구독 내의 모든 자격 증명 모음에 대해 수행할 수 있는 요청 수에 Key Vault는 제한을 적용합니다. 제한 지침을 따라야 합니다. 검색하는 비밀을 안전하게 캐싱하고 봉투 암호화를 사용하여 모든 암호화 작업을 Key Vault로 보내지 않도록 하는 등 권장되는 방법을 따르는 것이 중요합니다. 이러한 모범 사례를 따르면 단일 자격 증명 모음에 대해 대규모 솔루션을 실행할 수 있습니다.

테넌트별 비밀, 키 또는 인증서를 저장해야 하는 경우 명명 접두사 같은 명명 규칙을 사용하는 것이 좋습니다. 예를 들어 테넌트 ID를 각 비밀의 이름 앞에 추가할 수 있습니다. 그러면 애플리케이션 코드가 특정 테넌트에서 특정 비밀의 값을 쉽게 로드할 수 있습니다.

다중 테넌트를 지원하는 Azure Key Vault 기능

태그

Key Vault는 사용자 지정 메타데이터를 사용하여 비밀, 인증서 및 키에 태그 지정을 지원하므로 태그를 사용하여 각 테넌트별 비밀에 대한 테넌트 ID를 추적할 수 있습니다. 그러나 Key Vault는 태그별 쿼리를 지원하지 않으므로 이 기능은 애플리케이션 논리 내에서 사용하기보다는 관리 목적에 가장 적합합니다.

추가 정보:

Azure Policy 지원

많은 수의 자격 증명 모음을 배포하려는 경우 네트워크 액세스 구성, 로깅 및 액세스 제어에 대한 일관된 표준을 준수해야 합니다. Azure Policy를 사용하여 자격 증명 모음이 요구 사항에 따라 구성되었는지 확인하는 것이 좋습니다.

추가 정보:

관리형 HSM 및 전용 HSM

초당 많은 수의 작업을 수행해야 하고 Key Vault 작업 제한이 충분하지 않은 경우 관리형 HSM 또는 전용 HSM을 사용하는 것이 좋습니다. 두 제품 모두 예약된 용량을 제공하지만 일반적으로 Key Vault에 비해 비용이 많이 듭니다. 또한 각 지역에 배포할 수 있는 이러한 서비스의 인스턴스 수에 대한 제한을 알고 있어야 합니다.

추가 정보:

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

  • John Downs | 수석 고객 엔지니어, FastTrack for Azure

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.

다음 단계

다중 테넌트 지원에 대한 배포 및 구성 방법을 검토합니다.