다음을 통해 공유


인증 모범 사례

애플리케이션의 가장 중요한 부분은 보안입니다. 사용자 환경이 아무리 좋더라도 애플리케이션이 안전하지 않다면 해커가 애플리케이션을 망칠 수 있습니다.

다음은 Azure Maps 애플리케이션을 안전하게 지키기 위한 몇 가지 팁입니다. Azure를 사용하는 경우 사용할 수 있는 보안 도구를 숙지해야 합니다. 자세한 내용은 Azure 보안 소개를 참조하세요.

보안 위협 이해

사용자의 계정에 대한 액세스 권한을 얻은 해커는 잠재적으로 청구 가능한 트랜잭션을 무제한으로 만들 수 있으므로 QPS 제한으로 인해 예기치 않은 비용과 성능 저하가 발생할 수 있습니다.

Azure Maps 애플리케이션을 보호하기 위한 모범 사례를 고려할 때 사용 가능한 다양한 인증 옵션을 이해해야 합니다.

Azure Maps의 인증 모범 사례

Azure Maps를 사용하여 공용 클라이언트 애플리케이션을 만들 때 인증 비밀에 공개적으로 액세스할 수 없는지 확인해야 합니다.

구독 키 기반 인증(공유 키)은 클라이언트 쪽 애플리케이션 또는 웹 서비스에서 사용할 수 있지만 애플리케이션 또는 웹 서비스를 보호하는 가장 보안이 낮은 방식입니다. 그 이유는 HTTP 요청에서 키를 쉽게 가져올 수 있고 SKU(가격 책정 계층)에서 사용할 수 있는 모든 Azure Maps REST API에 대한 액세스 권한을 부여하기 때문입니다. 구독 키를 사용하는 경우 정기적으로 순환해야 하며 공유 키는 구성 가능한 수명을 허용하지 않으므로 수동으로 수행해야 합니다. 또한 Azure Key Vault로 공유 키 인증을 사용하는 것을 고려해야 합니다. 이를 통해 Azure에 비밀을 안전하게 저장할 수 있습니다.

Microsoft Entra 인증 또는 SAS(공유 액세스 서명) 토큰 인증을 사용하는 경우 Azure Maps REST API에 대한 액세스 권한은 RBAC(역할 기반 액세스 제어)를 사용하여 부여됩니다. RBAC를 사용하면 발급된 토큰에 부여되는 액세스를 제어할 수 있습니다. 토큰에 대한 액세스 권한을 부여해야 하는 기간을 고려해야 합니다. 공유 키 인증과 달리 이러한 토큰의 수명은 구성할 수 있습니다.

토큰 수명 구성에 대한 자세한 내용은 다음을 참조하세요.

퍼블릭 클라이언트 및 기밀 클라이언트 응용 프로그램

퍼블릭 및 기밀 클라이언트 애플리케이션 간에는 서로 다른 보안 문제가 있습니다. 퍼블릭기밀 클라이언트 애플리케이션으로 간주되는 항목에 대한 자세한 내용은 Microsoft ID 플랫폼 설명서에서 퍼블릭 클라이언트 및 기밀 클라이언트 애플리케이션을 참조하세요.

퍼블릭 클라이언트 애플리케이션

디바이스 또는 데스크톱 컴퓨터 또는 웹 브라우저에서 실행되는 앱의 경우 CORS(원본 간 리소스 공유)를 사용하여 Azure Map 계정에 액세스할 수 있는 도메인을 정의하는 것이 좋습니다. CORS는 "https://microsoft.com"과 같은 원본이 Azure Map 계정에 대한 리소스를 요청할 수 있는 클라이언트의 브라우저에 지시합니다.

참고 항목

웹 서버 또는 서비스를 개발하는 경우 Azure Maps 계정을 CORS로 구성할 필요가 없습니다. 클라이언트 쪽 웹 애플리케이션에 JavaScript 코드가 있는 경우 CORS가 적용됩니다.

기밀 클라이언트 애플리케이션

서버에서 실행되는 앱(예: 웹 서비스 및 서비스/디먼 앱)의 경우 비밀 관리의 오버헤드와 복잡성을 피하려면 관리 ID를 고려하세요. 관리 ID는 Microsoft Entra 인증을 사용하여 Azure Maps에 연결할 때 사용할 웹 서비스에 대한 ID를 제공할 수 있습니다. 그렇다면 웹 서비스는 해당 ID를 사용하여 필요한 Microsoft Entra 토큰을 가져옵니다. Azure RBAC를 사용하여 가능한 최소 권한 역할을 사용하여 웹 서비스에 제공되는 액세스 권한을 구성해야 합니다.

다음 단계