기밀 클라이언트 애플리케이션을 빌드할 때 자격 증명을 효과적으로 관리하는 것이 중요합니다. 이 문서에서는 Microsoft Entra의 앱 등록에 클라이언트 인증서, 페더레이션 ID 자격 증명 또는 클라이언트 비밀을 추가하는 방법을 설명합니다. 이러한 자격 증명을 사용하면 애플리케이션이 사용자 상호 작용 없이 안전하게 인증하고 웹 API에 액세스할 수 있습니다.
필수 조건
빠른 시작: Microsoft Entra ID에 앱을 등록합니다.
애플리케이션에 자격 증명 추가
기밀 클라이언트 애플리케이션에 대한 자격 증명을 만드는 경우:
애플리케이션을 프로덕션 환경으로 이동하기 전에 클라이언트 암호 대신 인증서를 사용하는 것이 좋습니다. 인증서를 사용하는 방법에 대한 자세한 내용은 Microsoft ID 플랫폼 애플리케이션 인증 인증서 자격 증명지침을 참조하세요.
테스트를 위해 자체 서명된 인증서를 만들고 인증하도록 앱을 구성할 수 있습니다. 그러나 프로덕션 에서는 잘 알려진 인증 기관에서 서명된 인증서를 구입한 후, Azure Key Vault 를 사용해 인증서 액세스 및 수명을 관리해야 합니다.
클라이언트 비밀 취약성에 대한 자세한 내용은 비밀 기반 인증에서 벗어난 애플리케이션 마이그레이션을 참조하세요.
퍼블릭 키라고도 하는 인증서는 클라이언트 암호보다 더 안전한 것으로 간주되기 때문에 권장되는 자격 증명 유형입니다.
Microsoft Entra 관리 센터의 앱 등록에서 애플리케이션을 선택합니다.
인증서 및 비밀>인증서>인증서 업로드를 선택합니다.
업로드하려는 파일을 선택합니다.
.cer, .pem, .crt 파일 형식 중 하나여야 합니다.
추가를 선택합니다.
클라이언트 애플리케이션 코드에 사용할 인증서 지문 을 기록합니다.
애플리케이션 암호라고도 하는 클라이언트 암호는 앱이 인증서 대신 자신을 식별하는 데 사용할 수 있는 문자열 값입니다.
클라이언트 비밀은 인증서 또는 페더레이션 자격 증명보다 안전하지 않으므로 프로덕션 환경에서 사용하지 합니다. 로컬 앱 개발에 편리할 수 있지만 프로덕션 환경에서 실행되는 모든 애플리케이션에 인증서 또는 페더레이션 자격 증명을 사용하여 보안을 강화해야 합니다.
Microsoft Entra 관리 센터의 앱 등록에서 애플리케이션을 선택합니다.
인증서 및 비밀>클라이언트 암호>새 클라이언트 암호를 선택합니다.
클라이언트 비밀에 대한 설명을 추가합니다.
비밀에 대한 만료를 선택하거나 사용자 지정 수명을 지정합니다.
- 클라이언트 암호 수명은 2년(24개월) 이하로 제한됩니다. 24개월보다 긴 사용자 지정 수명을 지정할 수 없습니다.
- 만료 값을 12개월 미만으로 설정하는 것이 좋습니다.
추가를 선택합니다.
클라이언트 애플리케이션 코드에서 사용할 클라이언트 비밀 값을 기록합니다. 이 비밀 값은 이 페이지에서 나가면 다시 표시되지 않습니다.
비고
서비스 주체를 자동으로 만드는 Azure DevOps 서비스 연결을 사용하는 경우 클라이언트 암호를 직접 업데이트하는 대신 Azure DevOps 포털 사이트에서 클라이언트 암호를 업데이트해야 합니다. Azure DevOps 포털 사이트에서 클라이언트 암호를 업데이트하는 방법에 대해서는 Azure Resource Manager 서비스 연결 문제 해결 문서를 참조하세요.
페더레이션 ID 자격 증명은 워크로드 ID 페더레이션을 사용하여 비밀을 관리할 필요 없이 GitHub Actions, Kubernetes에서 실행되는 워크로드 또는 Azure 외의 컴퓨팅 플랫폼에서 실행되는 워크로드가 Microsoft Entra가 보호하는 리소스에 접근하도록 허용하는 자격 증명 유형입니다.
페더레이션 자격 증명을 추가하려면 다음 단계를 수행합니다.
Microsoft Entra 관리 센터의 앱 등록에서 애플리케이션을 선택합니다.
인증서 및 비밀>페더레이션된 자격 증명>자격 증명 추가를 선택합니다.
페더레이션 자격 증명 시나리오 드롭다운 상자에서 지원되는 시나리오 중 하나를 선택하고 해당 지침에 따라 구성을 완료합니다.
- 다른 테넌트에서 Azure Key Vault를 사용하여 테넌트에서 데이터를 암호화하기 위한 고객 관리형 키입니다.
- 애플리케이션에 대한 토큰을 가져오고 자산을 Azure에 배포하도록 GitHub 워크플로를 구성하기 위해 Azure 리소스를 배포하는 GitHub 작업.
-
Azure 리소스에 액세스하도록 구성된 Kubernetes에서 Kubernetes 서비스 계정을 구성하여 애플리케이션에 대한 토큰을 얻고 Azure 리소스에 액세스합니다.
-
다른 발급자는애플리케이션을 외부 OpenID Connect 공급자가 관리하는 ID 또는 관리되는 ID를 신뢰하도록 구성하여 애플리케이션에 대한 토큰을 받고 Azure 리소스에 액세스할 수 있습니다.
페더레이션 자격 증명을 사용하여 액세스 토큰을 가져오는 방법에 대한 자세한 내용은 Microsoft ID 플랫폼 및 OAuth 2.0 클라이언트 자격 증명 흐름참조하세요.
관련 콘텐츠