Azure Stack Hub 비밀 및 인증서에 대한 App Service 회전

이러한 지침은 Azure Stack Hub의 Azure App Service에만 적용됩니다. Azure Stack Hub의 Azure App Service 비밀 회전은 Azure Stack Hub의 중앙 집중식 비밀 회전 절차에 포함되지 않습니다. 운영자는 시스템 내 비밀의 유효성, 비밀이 마지막으로 업데이트된 날짜, 비밀이 만료될 때까지 남은 시간을 모니터링할 수 있습니다.

중요

Azure Stack Hub의 Azure App Service는 Azure Stack Hub 경고 서비스와 통합되지 않기 때문에 운영자는 Azure Stack Hub 대시보드에서 비밀 만료에 대한 경고를 받지 않습니다. 운영자는 Azure Stack Hub 관리자 포털에서 Azure Stack Hub의 Azure App Service 관리 환경을 사용하여 정기적으로 비밀을 모니터링해야 합니다.

이 문서에는 다음 비밀을 회전하는 절차가 포함되어 있습니다.

  • Azure Stack Hub의 Azure App Service 내에서 사용되는 암호화 키
  • Azure Stack Hub의 Azure App Service가 호스팅 및 계량 데이터베이스와 상호 작용하기 위해 사용하는 데이터베이스 연결 자격 증명
  • Azure Stack Hub의 Azure App Service가 Azure AD(Azure Active Directory) 또는 AD FS(Active Directory Federation Services)에서 엔드포인트 및 ID 애플리케이션 인증서 회전을 보호하기 위해 사용하는 인증서
  • Azure Stack Hub의 Azure App Service 인프라 역할에 대한 시스템 자격 증명

암호화 키 회전

Azure Stack Hub의 Azure App Service 내에서 사용되는 암호화 키를 회전하려면 다음 단계를 수행합니다.

  1. Azure Stack Hub 관리자 포털에서 App Service 관리 환경으로 이동합니다.

  2. 비밀 메뉴 옵션으로 이동합니다.

  3. 암호화 키 섹션에서 회전 단추를 선택합니다.

  4. 확인을 선택하여 회전 절차를 시작합니다.

  5. 암호화 키가 회전되고 모든 역할 인스턴스가 업데이트됩니다. 운영자는 상태 단추를 사용하여 절차의 상태를 확인할 수 있습니다.

연결 문자열 회전

App Service 호스팅 및 계량 데이터베이스의 데이터베이스 연결 문자열에 대한 자격 증명을 업데이트하려면 다음 단계를 수행합니다.

  1. Azure Stack Hub 관리자 포털에서 App Service 관리 환경으로 이동합니다.

  2. 비밀 메뉴 옵션으로 이동합니다.

  3. 연결 문자열 섹션에서 회전 단추를 선택합니다.

  4. SQL SA 사용자 이름암호를 제공하고 확인을 선택하여 회전 절차를 시작합니다.

  5. 자격 증명은 Azure App Service 역할 인스턴스 전체에서 회전됩니다. 운영자는 상태 단추를 사용하여 절차의 상태를 확인할 수 있습니다.

인증서 회전

Azure Stack Hub의 Azure App Service 내에서 사용되는 인증서를 회전하려면 다음 단계를 수행합니다.

  1. Azure Stack Hub 관리자 포털에서 App Service 관리 환경으로 이동합니다.

  2. 비밀 메뉴 옵션으로 이동합니다.

  3. 인증서 섹션에서 회전 단추 선택

  4. 회전하려는 인증서의 인증서 파일 및 관련 암호를 제공하고 확인을 선택합니다.

  5. 인증서는 Azure Stack Hub의 Azure App Service 역할 인스턴스 전체에서 필요에 따라 회전됩니다. 운영자는 상태 단추를 사용하여 절차의 상태를 확인할 수 있습니다.

ID 애플리케이션 인증서가 회전되면 Azure AD 또는 AD FS의 해당 앱도 새 인증서로 업데이트해야 합니다.

중요

회전 후 ID 애플리케이션을 새 인증서로 업데이트하지 않으면 Azure Functions의 사용자 포털 환경이 중단되고, 사용자가 KUDU 개발자 도구를 사용할 수 없으며, 관리자가 App Service 관리 환경에서 작업자 계층 확장 집합을 관리하지 못하게 됩니다.

Azure AD ID 애플리케이션에 대한 자격 증명 회전

ID 애플리케이션은 Azure Stack Hub의 Azure App Service 배포 전에 운영자가 만듭니다. 애플리케이션 ID를 알 수 없는 경우 다음 단계에 따라 검색합니다.

  1. Azure Stack Hub 관리자 포털로 이동합니다.

  2. 구독으로 이동하여 기본 공급자 구독을 선택합니다.

  3. Access Control(IAM)을 선택하고 App Service 애플리케이션을 선택합니다.

  4. 앱 ID를 적어 둡니다. 이 값은 Azure AD에서 업데이트해야 하는 ID 애플리케이션의 애플리케이션 ID입니다.

Azure AD의 애플리케이션에 대한 인증서를 회전하려면 다음 단계를 수행합니다.

  1. Azure Portal로 이동하여 Azure Stack Hub를 배포하는 데 사용되는 전역 관리자를 사용하여 로그인합니다.

  2. Azure Active Directory로 이동하고 앱 등록으로 이동합니다.

  3. 애플리케이션 ID를 검색하여 ID 애플리케이션 ID를 지정합니다.

  4. 애플리케이션을 선택한 다음 인증서 및 비밀로 이동합니다.

  5. 인증서 업로드를 선택하고 .cer, .pem, .crt 파일 형식 중 하나를 사용하여 ID 애플리케이션에 대한 새 인증서를 업로드합니다.

  6. Azure Stack Hub 관리자 포털에서 지문이 App Service 관리 환경에 나열된 지문과 일치하는지 확인합니다.

  7. 기존 인증서를 삭제합니다.

AD FS ID 애플리케이션에 대한 인증서 회전

ID 애플리케이션은 Azure Stack Hub의 Azure App Service 배포 전에 운영자가 만듭니다. 애플리케이션의 개체 ID를 알 수 없는 경우 다음 단계에 따라 검색합니다.

  1. Azure Stack Hub 관리자 포털로 이동합니다.

  2. 구독으로 이동하여 기본 공급자 구독을 선택합니다.

  3. 액세스 제어(IAM)를 선택하고 AzureStack-AppService-guid 애플리케이션을 선택합니다.

  4. 개체 ID를 적어 둡니다. 이 값은 AD FS에서 업데이트해야 하는 서비스 주체의 ID입니다.

AD FS의 애플리케이션에 대한 인증서를 회전하려면 PEP(권한 있는 엔드포인트)에 대한 액세스 권한이 있어야 합니다. 그런 다음, PowerShell을 사용하여 인증서 자격 증명을 업데이트하고 다음 자리 표시자를 고유한 값으로 바꿉니다.

자리 표시자 Description 예제
<PepVM> Azure Stack Hub 인스턴스에서 권한 있는 엔드포인트 VM의 이름입니다. "AzS-ERCS01"
<CertificateFileLocation> 디스크에 있는 X509 인증서의 위치입니다. "d:\certs\sso.cer"
<ApplicationObjectId> ID 애플리케이션에 할당된 식별자입니다. "S-1-5-21-401916501-2345862468-1451220656-1451"
  1. 관리자 권한 Windows PowerShell 세션을 열고 다음 스크립트를 실행합니다.

    # Sign in to PowerShell interactively, using credentials that have access to the VM running the Privileged Endpoint
    $Creds = Get-Credential
    
    # Create a new Certificate object from the identity application certificate exported as .cer file
    $Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("<CertificateFileLocation>")
    
    # Create a new PSSession to the PrivelegedEndpoint VM
    $Session = New-PSSession -ComputerName "<PepVm>" -ConfigurationName PrivilegedEndpoint -Credential $Creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    
    # Use the privileged endpoint to update the certificate thumbprint, used by the service principal associated with the App Service identity application
    $SpObject = Invoke-Command -Session $Session -ScriptBlock {Set-GraphApplication -ApplicationIdentifier "<ApplicationObjectId>" -ClientCertificates $using:Cert}
    $Session | Remove-PSSession
    
    # Output the updated service principal details
    $SpObject
    
    
  2. 스크립트가 완료되면 인증서의 지문 값을 포함하여 업데이트된 앱 등록 정보가 표시됩니다.

    ApplicationIdentifier : S-1-5-21-401916501-2345862468-1451220656-1451
    ClientId              : 
    Thumbprint            : FDAA679BF9EDDD0CBB581F978457A37BFD73CA3B
    ApplicationName       : Azurestack-AppService-d93601c2-1ec0-4cac-8d1c-8ccde63ef308
    ClientSecret          : 
    PSComputerName        : AzS-ERCS01
    RunspaceId            : cb471c79-a0d3-40ec-90ba-89087d104510
    

시스템 자격 증명 회전

Azure Stack Hub의 Azure App Service 내에서 사용되는 시스템 자격 증명을 회전하려면 다음 단계를 수행합니다.

  1. Azure Stack Hub 관리자 포털에서 App Service 관리 환경으로 이동합니다.

  2. 비밀 메뉴 옵션으로 이동합니다.

  3. 시스템 자격 증명 섹션에서 회전 단추를 선택합니다.

  4. 회전하는 시스템 자격 증명의 범위를 선택합니다. 운영자는 모든 역할 또는 개별 역할에 대한 시스템 자격 증명을 회전하도록 선택할 수 있습니다.

  5. 새 로컬 관리 사용자 이름 및 새 암호를 지정합니다. 그런 다음, 암호를 확인하고 확인을 선택합니다.

  6. 자격 증명은 해당 Azure Stack Hub의 Azure App Service 역할 인스턴스 전체에서 필요에 따라 회전됩니다. 운영자는 상태 단추를 사용하여 절차의 상태를 확인할 수 있습니다.