설명
관리 ID가 없으면 App Service 앱이 다른 Azure 리소스에 접근할 때 비밀정보나 자격 증명을 별도로 관리해야 할 수 있습니다. 관리 ID는 앱의 리소스 접근용 ID이며 방문자의 로그인 인증을 켜는 설정은 아닙니다. 다른 리소스에 접근하지 않는 앱에 ID가 무조건 필요한 것도 아닙니다.
잠재적 영향
- 인증 정보가 코드나 설정 파일에 저장되어 유출될 수 있습니다.
- 비밀정보 교체와 자격 증명 관리 부담이 늘어 운영 실수가 발생할 수 있습니다.
해결 방법
- 대상 서비스가 관리 ID 인증을 지원하면 Microsoft.Web/sites에 SystemAssigned 또는 UserAssigned ID를 구성하세요. 사용자 할당 유형을 쓰면 userAssignedIdentities에 실제 ID를 연결하세요.
- 필요한 최소 권한을 부여하고 앱이 관리 ID로 인증하도록 변경하세요. 정상 동작을 확인한 뒤 기존 비밀정보를 제거하고 더 이상 사용하지 않는 자격 증명을 폐기하세요.
예시
같은 앱에 시스템 할당 ID를 추가하는 발췌입니다. App Service 계획과 앱 실행 설정 등은 생략했으며, 대상 서비스의 권한은 별도로 구성해야 합니다.
변경 전
bicep
resource webApp 'Microsoft.Web/sites@2020-12-01' = {
name: 'example-webapp'
location: resourceGroup().location
properties: {
httpsOnly: true
}
}
관리 ID가 설정되지 않았습니다. 다른 Azure 리소스에 어떻게 인증하는지 확인해야 합니다.
변경 후
bicep
resource webApp 'Microsoft.Web/sites@2020-12-01' = {
name: 'example-webapp'
location: resourceGroup().location
identity: {
type: 'SystemAssigned'
}
properties: {
httpsOnly: true
}
}
Azure가 관리하는 시스템 할당 ID를 켭니다. 대상 권한과 실제 인증 코드 변경까지 자동으로 수행되는 것은 아닙니다.