Azure Communication Services에 인증
Azure Communication Services와의 모든 클라이언트 상호 작용에는 인증이 필요합니다. 일반적인 아키텍처의 경우 클라이언트 및 서버 아키텍처를 참조하고, 액세스 키 또는 Microsoft Entra 인증이 서버 쪽 인증에 사용됩니다.
다른 유형의 인증은 ‘사용자 액세스 토큰’을 사용하여 사용자 참여가 필요한 서비스에 대해 인증을 진행합니다. 예를 들어 채팅 또는 호출 서비스는 ‘사용자 액세스 토큰’을 활용하여 사용자가 스레드에 추가되고 서로 대화할 수 있도록 지원합니다.
인증 옵션
다음 표는 Azure Communication Services SDK 및 해당 인증 옵션을 보여 줍니다.
SDK | 인증 옵션 |
---|---|
ID | 액세스 키 또는 Microsoft Entra 인증 |
SMS | 액세스 키 또는 Microsoft Entra 인증 |
전화 번호 | 액세스 키 또는 Microsoft Entra 인증 |
전자 메일 | 액세스 키 또는 Microsoft Entra 인증 |
고급 메시지 | 액세스 키 또는 Microsoft Entra 인증 |
통화 중 | 사용자 액세스 토큰 |
채팅 | 사용자 액세스 토큰 |
각 권한 부여 옵션에 대한 간략한 설명은 다음과 같습니다.
액세스 키
액세스 키 인증은 신뢰할 수 있는 서비스 환경에서 실행되는 서비스 애플리케이션에 적합합니다. 액세스 키는 Azure Communication Services 포털에서 찾을 수 있습니다. 서비스 애플리케이션이 이를 자격 증명으로 사용하여 해당 SDK를 초기화합니다. ID SDK에서 사용되는 방법의 예를 참조하세요.
액세스 키는 리소스의 연결 문자열의 일부이기 때문에 연결 문자열을 사용하는 인증은 액세스 키를 사용하는 인증과 동등합니다.
액세스 키를 사용하여 Azure Communication Services의 API를 수동으로 호출하려는 경우 요청에 서명해야 합니다. 요청에 서명하는 방법은 자습서에 자세히 설명되어 있습니다.
서비스 주체를 설정하려면 Azure CLI에서 등록된 애플리케이션을 만듭니다. 그런 다음 엔드포인트와 자격 증명을 사용하여 SDK를 인증할 수 있습니다. 서비스 주체를 사용하는 방법의 예제를 참조하세요.
Communication Services는 Communication Services 리소스에 대한 Microsoft Entra ID 인증을 지원합니다. Azure Communication Services에서 관리 ID를 사용하는 방법에서 관리 ID 지원에 대한 자세한 내용을 확인할 수 있습니다.
Microsoft Entra ID 인증
Azure 플랫폼은 리소스에 대한 액세스를 제어하기 위해 Azure RBAC(역할 기반 액세스)를 제공합니다. Azure RBAC 보안 주체는 사용자, 그룹, 서비스 주체 또는 Azure 리소스에 대한 액세스를 요청하는 관리 ID를 나타냅니다. Microsoft Entra ID 인증은 다른 인증 옵션보다 뛰어난 보안 및 사용 편의성을 제공합니다.
관리 ID:.
- 관리 ID를 사용하면 액세스 키 인증과 마찬가지로 코드 내에 계정 액세스 키를 저장할 필요가 없습니다. 관리 ID 자격 증명은 플랫폼에서 완전하게 관리, 순환 및 보호되므로 자격 증명 노출 위험이 줄어듭니다.
- 관리 ID는 Microsoft Entra ID 인증을 지원하는 Azure 서비스 및 리소스에 인증할 수 있습니다. 이 메서드는 자격 증명을 관리하는 원활하고 안전한 방법을 제공합니다.
- Azure Communication Services에서 관리 ID를 사용하는 방법에 대한 자세한 내용은 이 가이드를 참조하세요.
서비스 주체:
- 서비스 주체를 설정하려면 Azure CLI에서 등록된 애플리케이션을 만듭니다. 그런 다음 엔드포인트와 자격 증명을 사용하여 SDK를 인증할 수 있습니다.
- 서비스 주체를 사용하는 방법의 예제를 참조하세요.
Communication Services는 Communication Services 리소스에 대한 Microsoft Entra ID 인증을 지원합니다. Communication Services 애플리케이션에서 액세스 키 인증을 계속 사용할 수 있지만, 가능한 경우 Microsoft Entra ID로 전환하는 것이 좋습니다.
신뢰할 수 있는 인증 서비스 Hero 샘플을 사용하여 Microsoft Entra ID와 Azure Communication Services 액세스 토큰을 매핑합니다.
사용자 액세스 토큰
사용자 액세스 토큰은 ID SDK를 사용하여 생성되며 ID SDK에서 생성된 사용자들과 연결됩니다. 사용자를 만들고 토큰을 생성하는 방법의 예를 참조하세요. 그런 다음 채팅 또는 호출 SDK에서 대화에 추가된 참가자를 인증하는 데 사용자 액세스 토큰이 사용됩니다. 자세한 내용은 애플리케이션에 채팅 추가를 참조하세요. 사용자 액세스 토큰 인증은 보안이 유지되는 Azure 리소스가 아닌 사용자를 인증하는 데 사용된다는 점에서 액세스 키 및 Microsoft Entra 인증과 다릅니다.
모니터링 및 메트릭에 ID 사용
사용자 ID는 Azure Monitor를 통해 수집된 로그 및 메트릭의 기본 키 역할을 하기 위한 것입니다. 예를 들어 특정 사용자의 호출을 모두 보려면 특정 Azure Communication Services ID(또는 ID)를 단일 사용자에게 매핑하는 방식으로 인증을 설정해야 합니다. 로그 분석 및 사용 가능한 메트릭에 대해 자세히 알아봅니다.
다음 단계
자세한 내용은 다음 문서를 참조하세요.