Azure Stack Hub의 비밀 순환Rotate secrets in Azure Stack Hub

이 문서에서는 Azure Stack 허브 인프라 리소스 및 서비스와의 보안 통신을 유지 하는 데 도움이 되도록 비밀 회전을 수행 하기 위한 지침을 제공 합니다.This article provides guidance for performing secret rotation, to help maintain secure communication with Azure Stack Hub infrastructure resources and services.

개요Overview

Azure Stack 허브는 암호를 사용 하 여 인프라 리소스 및 서비스와의 보안 통신을 유지 합니다.Azure Stack Hub uses secrets to maintain secure communication with infrastructure resources and services. Azure Stack 허브 인프라의 무결성을 유지 하기 위해 운영자는 조직의 보안 요구 사항과 일치 하는 빈도로 암호를 회전 하는 기능이 필요 합니다.To maintain the integrity of the Azure Stack Hub infrastructure, operators need the ability to rotate secrets at frequencies that are consistent with their organization's security requirements.

암호 만료가 임박 하면 관리자 포털에서 다음과 같은 경고가 생성 됩니다.When secrets are nearing expiration, the following alerts are generated in the administrator portal. 비밀 회전을 완료 하면 다음 경고가 해결 됩니다.Completing secret rotation will resolve these alerts:

  • 보류 중인 서비스 계정 암호 만료Pending service account password expiration
  • 보류 중인 내부 인증서가 만료됨Pending internal certificate expiration
  • 보류 중인 외부 인증서가 만료됨Pending external certificate expiration

경고

만료 되기 전에 관리자 포털에서 트리거되는 경고의 2 단계는 다음과 같습니다.There are 2 phases of alerts triggered in the administrator portal prior to expiration:

  • 만료 전 90 일이 지나면 경고 경고가 생성 됩니다.90 days before expiration a warning alert is generated.
  • 만료 전 30 일 중요 한 경고가 생성 됩니다.30 days before expiration a critical alert is generated.

이러한 알림을 받는 경우 비밀 회전을 완료 하는 것이 중요 합니다. 이렇게 하지 않으면 워크 로드 손실이 발생 하 고 허브 다시 배포 Azure Stack 수 있습니다.It's critical that you complete secret rotation if you receive these notifications. Failure to do so can cause the loss of workloads and possible Azure Stack Hub redeployment at your own expense!

경고 모니터링 및 수정에 대 한 자세한 내용은 Azure Stack Hub에서 상태 및 경고 모니터링을 참조 하세요.For more information on alert monitoring and remediation, refer to Monitor health and alerts in Azure Stack Hub.

참고

1811 버전에 대 한 허브 환경을 Azure Stack 보류 중인 내부 인증서 또는 보안 만료에 대 한 경고를 볼 수 있습니다.Azure Stack Hub environments on pre-1811 versions may see alerts for pending internal certificate or secret expirations. 이러한 경고는 정확 하지 않으며 내부 비밀 회전을 실행 하지 않고 무시 해야 합니다.These alerts are inaccurate and should be ignored without running internal secret rotation. 잘못 된 내부 비밀 만료 경고는 1811에서 해결 된 알려진 문제입니다.Inaccurate internal secret expiration alerts are a known issue that's resolved in 1811. 환경이 2 년 동안 활성 상태가 아닌 경우 내부 암호는 만료 되지 않습니다.Internal secrets won't expire unless the environment has been active for two years.

사전 요구 사항Prerequisites

  1. 먼저 Azure Stack Hub 인스턴스를 최신 버전으로 업데이트 하는 것이 좋습니다.It's highly recommended that you first update your Azure Stack Hub instance to the latest version.

    중요

    1811 이전 버전의 경우:For pre-1811 versions:

    • 비밀 회전이 이미 수행 된 경우에는 비밀 회전을 다시 수행 하기 전에 버전 1811 이상으로 업데이트 해야 합니다.If secret rotation has already been performed, you must update to version 1811 or later before you perform secret rotation again. 비밀 회전은 권한 있는 끝점 을 통해 실행 해야 하며 Azure Stack 허브 운영자 자격 증명이 필요 합니다.Secret Rotation must be executed via the Privileged Endpoint and requires Azure Stack Hub Operator credentials. 환경에서 비밀 회전이 실행 되었는지 여부를 모르는 경우 비밀 회전을 수행 하기 전에 1811로 업데이트 합니다.If you don't know whether secret rotation has been run on your environment, update to 1811 before performing secret rotation.
    • 확장 호스트 인증서를 추가 하려면 비밀을 회전할 필요가 없습니다.You don't need to rotate secrets to add extension host certificates. 확장 호스트 인증서를 추가 하려면 Azure Stack 허브에 대 한 확장 호스트 준비 문서의 지침을 따라야 합니다.You should follow the instructions in the article Prepare for extension host for Azure Stack Hub to add extension host certificates.
  2. 계획 된 유지 관리 작업을 사용자에 게 알립니다.Notify your users of planned maintenance operations. 업무 외 시간에 최대한 일반적인 유지 관리 기간을 예약 합니다.Schedule normal maintenance windows, as much as possible, during non-business hours. 유지 관리 작업은 사용자 작업 및 포털 작업에 모두 영향을 줄 수 있습니다.Maintenance operations may affect both user workloads and portal operations.

  3. 비밀을 회전 하는 동안 운영자는 경고를 열어 자동으로 닫을 수 있습니다.During rotation of secrets, operators may notice alerts open and automatically close. 이는 예상된 동작이며 경고를 무시해도 됩니다.This behavior is expected and the alerts can be ignored. 운영자는 테스트-AzureStack PowerShell cmdlet을 사용 하 여 이러한 경고의 유효성을 확인할 수 있습니다.Operators can verify the validity of these alerts using the Test-AzureStack PowerShell cmdlet. System Center Operations Manager를 사용 하 여 Azure Stack 허브 시스템을 모니터링 하는 운영자의 경우 시스템을 유지 관리 모드로 설정 하면 이러한 경고가 ITSM 시스템에 도달 하는 것을 방지할 수 있지만, Azure Stack 허브 시스템에 연결할 수 없게 되는 경우 경고가 계속 발생 합니다.For operators using System Center Operations Manager to monitor Azure Stack Hub systems, placing a system in maintenance mode will prevent these alerts from reaching their ITSM systems, but will continue to alert if the Azure Stack Hub system becomes unreachable.

외부 비밀 회전Rotate external secrets

중요

외부 비밀 회전:External secret rotation for:

이 섹션에서는 외부 연결 서비스를 보호 하는 데 사용 되는 인증서의 회전에 대해 설명 합니다.This section covers rotation of certificates used to secure external-facing services. 이러한 인증서는 다음 서비스에 대 한 Azure Stack 허브 운영자가 제공 합니다.These certificates are provided by the Azure Stack Hub Operator, for the following services:

  • 관리자 포털Administrator portal
  • 공용 포털Public portal
  • 관리자 Azure Resource ManagerAdministrator Azure Resource Manager
  • 글로벌 Azure Resource ManagerGlobal Azure Resource Manager
  • 관리자 Key VaultAdministrator Key Vault
  • Key VaultKey Vault
  • 관리 확장 호스트Admin Extension Host
  • ACS (blob, 테이블 및 큐 저장소 포함)ACS (including blob, table, and queue storage)
  • ADFS*ADFS*
  • 그래프*Graph*

*AD FS (Active Directory 페더레이션된 서비스)를 사용할 때 적용할 수 있습니다.*Applicable when using Active Directory Federated Services (AD FS).

준비Preparation

외부 암호 회전 전:Prior to rotation of external secrets:

  1. Test-AzureStack 매개 변수를 사용 하 여 PowerShell cmdlet을 실행 -group SecretRotationReadiness 하 여 암호를 회전 하기 전에 모든 테스트 출력이 정상 상태 인지 확인 합니다.Run the Test-AzureStack PowerShell cmdlet using the -group SecretRotationReadiness parameter, to confirm all test outputs are healthy before rotating secrets.

  2. 새 대체 외부 인증서 집합을 준비 합니다.Prepare a new set of replacement external certificates:

    • 새 집합은 Azure Stack 허브 PKI 인증서 요구 사항에 설명 된 인증서 사양과 일치 해야 합니다.The new set must match the certificate specifications outlined in the Azure Stack Hub PKI certificate requirements.

    • CA (인증 기관)에 제출할 CSR (인증서 서명 요청)을 생성 합니다.Generate a certificate signing request (CSR) to submit to your Certificate Authority (CA). 인증서 서명 요청 생성 에 설명 된 단계를 사용 하 여 PKI 인증서 준비의 단계를 사용 하 여 Azure Stack 허브 환경에서 사용할 수 있도록 준비 합니다.Use the steps outlined in Generate certificate signing requests and prepare them for use in your Azure Stack Hub environment using the steps in Prepare PKI certificates. Azure Stack 허브는 다음 컨텍스트의 새 CA (인증 기관)에서 외부 인증서에 대 한 비밀 회전을 지원 합니다.Azure Stack Hub supports secret rotation for external certificates from a new Certificate Authority (CA) in the following contexts:

      CA에서 회전Rotate from CA CA로 회전Rotate to CA Azure Stack 허브 버전 지원Azure Stack Hub version support
      Self-SignedSelf-Signed EnterpriseEnterprise 1903 & 나중에1903 & later
      Self-SignedSelf-Signed Self-SignedSelf-Signed 지원되지 않음Not Supported
      Self-SignedSelf-Signed 공개적*Public* 1803 & 나중에1803 & later
      EnterpriseEnterprise EnterpriseEnterprise 1803 & 나중에 1803-1903 배포에서 사용 되는 것과 동일한 엔터프라이즈 CA1803 & later; 1803-1903 if SAME enterprise CA as used at deployment
      EnterpriseEnterprise Self-SignedSelf-Signed 지원되지 않음Not Supported
      EnterpriseEnterprise 공개적*Public* 1803 & 나중에1803 & later
      공개적*Public* EnterpriseEnterprise 1903 & 나중에1903 & later
      공개적*Public* Self-SignedSelf-Signed 지원되지 않음Not Supported
      공개적*Public* 공개적*Public* 1803 & 나중에1803 & later

      *Windows 신뢰할 수 있는 루트 프로그램의 일부입니다.*Part of the Windows Trusted Root Program.

    • PKI 인증서 유효성 검사 에 설명 된 단계를 사용 하 여 준비한 인증서의 유효성을 검사 해야 합니다.Be sure to validate the certificates you prepare with the steps outlined in Validate PKI Certificates

    • 암호에 특수 문자 (예: 또는)가 없는지 확인 * ) 합니다.Make sure there are no special characters in the password, like * or ).

    • PFX 암호화가 TripleDES-SHA1 인지 확인 합니다.Make sure the PFX encryption is TripleDES-SHA1. 문제가 발생 하는 경우 Azure Stack 허브 PKI 인증서의 일반적인 문제 해결을 참조 하세요.If you run into an issue, see Fix common issues with Azure Stack Hub PKI certificates.

  3. 안전한 백업 위치에서의 회전에 사용 되는 인증서에 백업을 저장 합니다.Store a backup to the certificates used for rotation in a secure backup location. 회전이 실행 된 후 실패 하면 회전을 다시 실행 하기 전에 파일 공유의 인증서를 백업 복사본으로 바꿉니다.If your rotation runs and then fails, replace the certificates in the file share with the backup copies before you rerun the rotation. 백업 복사본을 안전한 백업 위치에 보관 합니다.Keep backup copies in the secure backup location.

  4. ERCS Vm에서 액세스할 수 있는 파일 공유를 만듭니다.Create a fileshare you can access from the ERCS VMs. Cloudadmin id에 대해 파일 공유를 읽고 쓸 수 있어야 합니다.The file share must be readable and writable for the CloudAdmin identity.

  5. 파일 공유에 액세스할 수 있는 컴퓨터에서 PowerShell ISE 콘솔을 엽니다.Open a PowerShell ISE console from a computer where you have access to the fileshare. 파일 공유로 이동 하 여 외부 인증서를 저장할 디렉터리를 만듭니다.Navigate to your fileshare, where you create directories to place your external certificates.

  6. 네트워크 파일 공유에 CertDirectoryMaker.ps1 을 다운로드 하 고 스크립트를 실행 합니다.Download CertDirectoryMaker.ps1 to your network fileshare, and run the script. 이 스크립트는 id 공급자에 따라 .\Certificates\AAD _ 또는 _.\Certificates\ADFS _를 준수 하는 폴더 구조를 만듭니다 . 폴더 구조는 _ certificate 폴더로 시작 해야 하며 \ , 그 뒤에는 \ AAD 또는 \ ADFS 폴더만 있습니다.The script will create a folder structure that adheres to .\Certificates\AAD_ or _.\Certificates\ADFS_, depending on your identity provider. Your folder structure must begin with a _\Certificates folder, followed by ONLY an \AAD or \ADFS folder. 나머지 하위 디렉터리는 모두 이전 구조에 포함 됩니다.All remaining subdirectories are contained within the preceding structure. 예를 들면 다음과 같습니다.For example:

    • 파일 공유 = \\<IPAddress>\<ShareName>File share = \\<IPAddress>\<ShareName>
    • Azure AD 공급자의 인증서 루트 폴더 = \ Certificates\aadCertificate root folder for Azure AD provider = \Certificates\AAD
    • 전체 경로 = \ \ <IPAddress> \ <ShareName> \certificates\aadFull path = \\<IPAddress>\<ShareName>\Certificates\AAD

    중요

    나중에 실행 하는 경우 Start-SecretRotation 폴더 구조의 유효성을 검사 합니다.When you run Start-SecretRotation later, it will validate the folder structure. 호환 되지 않는 폴더 구조는 다음 오류를 throw 합니다.A folder structure that is not compliant will throw the following error:

    Cannot bind argument to parameter 'Path' because it is null.
    + CategoryInfo          : InvalidData: (:) [Test-Certificate], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Test-Certificate
    + PSComputerName        : xxx.xxx.xxx.xxx
    
  7. #2 단계에서 만든 새 대체 외부 인증서 집합을 #6 단계에서 만든 \certificates \ <IdentityProvider> 디렉터리에 복사 합니다.Copy the new set of replacement external certificates created in step #2, to the \Certificates\<IdentityProvider> directory created in step #6. cert.<regionName>.<externalFQDN>의 형식을 따라야 <CertName> 합니다.Be sure to follow the cert.<regionName>.<externalFQDN> format for <CertName>.

    Azure AD Id 공급자에 대 한 폴더 구조의 예는 다음과 같습니다.Here's an example of a folder structure for the Azure AD Identity Provider:

        <ShareName>
            │
            └───Certificates
                  └───AAD
                      ├───ACSBlob
                      │       <CertName>.pfx
                      │
                      ├───ACSQueue
                      │       <CertName>.pfx
                      │
                      ├───ACSTable
                      │       <CertName>.pfx
                      │
                      ├───Admin Extension Host
                      │       <CertName>.pfx
                      │
                      ├───Admin Portal
                      │       <CertName>.pfx
                      │
                      ├───ARM Admin
                      │       <CertName>.pfx
                      │
                      ├───ARM Public
                      │       <CertName>.pfx
                      │
                      ├───KeyVault
                      │       <CertName>.pfx
                      │
                      ├───KeyVaultInternal
                      │       <CertName>.pfx
                      │
                      ├───Public Extension Host
                      │       <CertName>.pfx
                      │
                      └───Public Portal
                              <CertName>.pfx
    
    

회전Rotation

외부 암호를 회전 하려면 다음 단계를 완료 합니다.Complete the following steps to rotate external secrets:

  1. 다음 PowerShell 스크립트를 사용 하 여 비밀을 회전 합니다.Use the following PowerShell script to rotate the secrets. 스크립트에서 PEP (권한 있는 끝점) 세션에 액세스 해야 합니다.The script requires access to a Privileged EndPoint (PEP) session. Pep는 PEP를 호스트 하는 VM (가상 머신)에서 원격 PowerShell 세션을 통해 액세스할 수 있습니다.The PEP is accessed through a remote PowerShell session on the virtual machine (VM) that hosts the PEP. 통합 시스템을 사용 하는 경우 각각 다른 호스트에서 VM (ERCS01, ERCS02 또는 ERCS03) 내에서 실행 되는 PEP의 세 인스턴스가 있습니다.If you're using an integrated system, there are three instances of the PEP, each running inside a VM (Prefix-ERCS01, Prefix-ERCS02, or Prefix-ERCS03) on different hosts. ASDK를 사용 하는 경우이 VM의 이름은 AzS-ERCS01입니다.If you're using the ASDK, this VM is named AzS-ERCS01. 다음을 <placeholder> 실행 하기 전에 값을 업데이트 합니다.Update the <placeholder> values before running:

    # Create a PEP Session
    winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
    $PEPCreds = Get-Credential
    $PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS_Machine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    # Run Secret Rotation
    $CertPassword = ConvertTo-SecureString "<Cert_Password>" -AsPlainText -Force
    $CertShareCreds = Get-Credential
    $CertSharePath = "<Network_Path_Of_CertShare>"
    Invoke-Command -Session $PEPSession -ScriptBlock {
        Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
    }
    Remove-PSSession -Session $PEPSession
    

    스크립트는 다음 단계를 수행합니다.The script performs the following steps:

    • Cloudadmin 계정을 사용 하 여 권한 있는 끝점 을 사용 하 여 PowerShell 세션을 만들고 세션을 변수로 저장 합니다.Creates a PowerShell Session with the Privileged endpoint using the CloudAdmin account, and stores the session as a variable. 이 변수는 다음 단계에서 매개 변수로 사용 됩니다.This variable is used as a parameter in the next step.

    • PEP 세션 변수를 매개 변수로 전달 하 여 Invoke 명령을실행 -Session 합니다.Runs Invoke-Command, passing the PEP session variable as the -Session parameter.

    • Start-SecretRotation는 다음 매개 변수를 사용 하 여 PEP 세션에서 실행 됩니다.Runs Start-SecretRotation in the PEP session, using the following parameters:

      • -PfxFilesPath: 앞에서 만든 인증서 디렉터리의 네트워크 경로입니다.-PfxFilesPath: The network path to your Certificates directory created earlier.
      • -PathAccessCredential: 공유에 대 한 자격 증명에 대 한 PSCredential 개체입니다.-PathAccessCredential: The PSCredential object for credentials to the share.
      • -CertificatePassword: 만든 모든 pfx 인증서 파일에 사용 되는 암호의 보안 문자열입니다.-CertificatePassword: A secure string of the password used for all of the pfx certificate files created.
  2. 외부 비밀 회전에는 약 1 시간이 소요 됩니다.External secret rotation takes approximately one hour. 성공적으로 완료 되 면 콘솔에 메시지가 표시 되 고 그 뒤에이 표시 됩니다 ActionPlanInstanceID ... CurrentStatus: Completed DONE .After successful completion, your console will display a ActionPlanInstanceID ... CurrentStatus: Completed message, followed by DONE. 준비 섹션에서 만든 공유에서 인증서를 제거 하 고 보안 백업 위치에 저장 합니다.Remove your certificates from the share created in the Preparation section and store them in their secure backup location.

    참고

    비밀 회전이 실패 한 경우 오류 메시지의 지침에 따라 매개 변수를 사용 하 여 다시 실행 Start-SecretRotation -ReRun 합니다.If secret rotation fails, follow the instructions in the error message and re-run Start-SecretRotation with the -ReRun parameter.

    Start-SecretRotation -ReRun
    

    반복 된 비밀 회전 오류가 발생 하면 지원 담당자에 게 문의 하세요.Contact support if you experience repeated secret rotation failures.

내부 비밀 회전Rotate internal secrets

내부 비밀에는 Azure Stack 허브 운영자의 개입 없이 Azure Stack 허브 인프라에서 사용 하는 인증서, 암호, 보안 문자열 및 키가 포함 됩니다.Internal secrets include certificates, passwords, secure strings, and keys used by the Azure Stack Hub infrastructure, without intervention of the Azure Stack Hub Operator. 내부 비밀 회전은 손상 된 것으로 의심 되는 경우에만 필요 합니다. 그렇지 않으면 만료 경고가 수신 됩니다.Internal secret rotation is only required if you suspect one has been compromised, or you've received an expiration alert.

1811 이전 배포는 보류 중인 내부 인증서 또는 암호 만료에 대 한 경고를 볼 수 있습니다.Pre-1811 deployments may see alerts for pending internal certificate or secret expirations. 이러한 경고는 정확 하지 않으며 무시 해야 하며, 1811에서 해결 된 알려진 문제입니다.These alerts are inaccurate and should be ignored, and are a known issue resolved in 1811.

내부 암호를 회전 하려면 다음 단계를 완료 합니다.Complete the following steps to rotate internal secrets:

  1. 다음 PowerShell 스크립트를 실행합니다.Run the following PowerShell script. 내부 비밀 회전의 경우 "비밀 회전 실행" 섹션은 -Internal SecretRotation cmdlet에 대 한 매개 변수만 사용 합니다.Notice for internal secret rotation, the "Run Secret Rotation" section uses only the -Internal parameter to the Start-SecretRotation cmdlet:

    # Create a PEP Session
    winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
    $PEPCreds = Get-Credential
    $PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS_Machine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    # Run Secret Rotation
    Invoke-Command -Session $PEPSession -ScriptBlock {
        Start-SecretRotation -Internal
    }
    Remove-PSSession -Session $PEPSession
    

    참고

    1811 이전 버전에는 플래그가 필요 하지 않습니다 -Internal .Pre-1811 versions don't require the -Internal flag.

  2. 성공적으로 완료 되 면 콘솔에 메시지가 표시 되 고 그 뒤에이 표시 됩니다 ActionPlanInstanceID ... CurrentStatus: Completed DONE .After successful completion, your console will display a ActionPlanInstanceID ... CurrentStatus: Completed message, followed by DONE.

    참고

    비밀 회전이 실패 한 경우 오류 메시지의 지침에 따라 및 매개 변수를 사용 하 여 다시 실행 Start-SecretRotation -Internal -ReRun 합니다.If secret rotation fails, follow the instructions in the error message and rerun Start-SecretRotation with the -Internal and -ReRun parameters.

    Start-SecretRotation -Internal -ReRun
    

    반복 된 비밀 회전 오류가 발생 하면 지원 담당자에 게 문의 하세요.Contact support if you experience repeated secret rotation failures.

BMC 자격 증명 업데이트Update the BMC credential

베이스 보드 관리 컨트롤러는 서버의 물리적 상태를 모니터링 합니다.The baseboard management controller monitors the physical state of your servers. BMC의 사용자 계정 이름 및 암호를 업데이트 하는 지침은 OEM (원본 장비 제조업체) 하드웨어 공급 업체를 참조 하십시오.Refer to your original equipment manufacturer (OEM) hardware vendor for instructions to update the user account name and password of the BMC.

참고

OEM에서 추가 관리 앱을 제공할 수 있습니다.Your OEM may provide additional management apps. 다른 관리 앱에 대 한 사용자 이름 또는 암호를 업데이트 해도 BMC 사용자 이름 또는 암호에는 영향을 주지 않습니다.Updating the user name or password for other management apps has no effect on the BMC user name or password.

  1. OEM 지침에 따라 Azure Stack 허브 물리적 서버에서 BMC를 업데이트 합니다.Update the BMC on the Azure Stack Hub physical servers by following your OEM instructions. 사용자 환경에서 각 BMC의 사용자 이름 및 암호는 동일 해야 합니다.The user name and password for each BMC in your environment must be the same. BMC 사용자 이름은 16 자를 초과할 수 없습니다.The BMC user names can't exceed 16 characters.
  1. 더 이상 OEM 지침에 따라 Azure Stack 허브 물리적 서버에서 BMC 자격 증명을 업데이트 하지 않아도 됩니다.It's no longer required that you first update the BMC credentials on the Azure Stack Hub physical servers by following your OEM instructions. 사용자 환경에서 각 BMC의 사용자 이름 및 암호는 동일 해야 하며 16 자를 초과할 수 없습니다.The user name and password for each BMC in your environment must be the same, and can't exceed 16 characters.
  1. Azure Stack 허브 세션에서 특권 수준의 끝점을 엽니다.Open a privileged endpoint in Azure Stack Hub sessions. 지침은 Azure Stack 허브에서 권한 있는 끝점 사용을 참조 하세요.For instructions, see Using the privileged endpoint in Azure Stack Hub.

  2. 권한 있는 끝점 세션을 연 후 아래 PowerShell 스크립트 중 하나를 실행 합니다 .이 스크립트는 Invoke-Command을 사용 하 여 집합-BmcCredential을 실행 합니다.After opening a privileged endpoint session, run one of the PowerShell scripts below, which use Invoke-Command to run Set-BmcCredential. BypassBMCUpdate 매개 변수를 설정-BMCCredential과 함께 사용 하는 경우 BMC의 자격 증명이 업데이트 되지 않습니다.If you use the optional -BypassBMCUpdate parameter with Set-BMCCredential, credentials in the BMC aren't updated. Azure Stack 허브 내부 데이터 저장소만 업데이트 됩니다. 권한 있는 끝점 세션 변수를 매개 변수로 전달 합니다.Only the Azure Stack Hub internal datastore is updated.Pass your privileged endpoint session variable as a parameter.

    다음은 사용자 이름 및 암호를 입력 하 라는 메시지를 표시 하는 예제 PowerShell 스크립트입니다.Here's an example PowerShell script that will prompt for user name and password:

    # Interactive Version
    $PEPIp = "<Privileged Endpoint IP or Name>" # You can also use the machine name instead of IP here.
    $PEPCreds = Get-Credential "<Domain>\CloudAdmin" -Message "PEP Credentials"
    $NewBmcPwd = Read-Host -Prompt "Enter New BMC password" -AsSecureString
    $NewBmcUser = Read-Host -Prompt "Enter New BMC user name"
    
    $PEPSession = New-PSSession -ComputerName $PEPIp -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    Invoke-Command -Session $PEPSession -ScriptBlock {
        # Parameter BmcPassword is mandatory, while the BmcUser parameter is optional.
        Set-BmcCredential -BmcPassword $using:NewBmcPwd -BmcUser $using:NewBmcUser
    }
    Remove-PSSession -Session $PEPSession
    

    변수에서 사용자 이름 및 암호를 인코딩할 수도 있으며이는 보안 수준이 떨어질 수 있습니다.You can also encode the user name and password in variables, which may be less secure:

    # Static Version
    $PEPIp = "<Privileged Endpoint IP or Name>" # You can also use the machine name instead of IP here.
    $PEPUser = "<Privileged Endpoint user for example Domain\CloudAdmin>"
    $PEPPwd = ConvertTo-SecureString "<Privileged Endpoint Password>" -AsPlainText -Force
    $PEPCreds = New-Object System.Management.Automation.PSCredential ($PEPUser, $PEPPwd)
    $NewBmcPwd = ConvertTo-SecureString "<New BMC Password>" -AsPlainText -Force
    $NewBmcUser = "<New BMC User name>"
    
    $PEPSession = New-PSSession -ComputerName $PEPIp -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    Invoke-Command -Session $PEPSession -ScriptBlock {
        # Parameter BmcPassword is mandatory, while the BmcUser parameter is optional.
        Set-BmcCredential -BmcPassword $using:NewBmcPwd -BmcUser $using:NewBmcUser
    }
    Remove-PSSession -Session $PEPSession
    

참조: Start-SecretRotation cmdletReference: Start-SecretRotation cmdlet

SecretRotation cmdlet 은 Azure Stack 허브 시스템의 인프라 암호를 회전 시킵니다.Start-SecretRotation cmdlet rotates the infrastructure secrets of an Azure Stack Hub system. 이 cmdlet은 Invoke-Command 매개 변수에서 PEP 세션을 전달 하는 스크립트 블록을 사용 하 여 Azure Stack 허브 권한 있는 끝점에 대해서만 실행할 수 있습니다 -Session .This cmdlet can only be executed against the Azure Stack Hub privileged endpoint, by using an Invoke-Command script block passing the PEP session in the -Session parameter. 기본적으로 모든 외부 네트워크 인프라 끝점의 인증서만 회전 합니다.By default, it rotates only the certificates of all external network infrastructure endpoints.

매개 변수Parameter TypeType 필수Required 위치Position 기본값Default DescriptionDescription
PfxFilesPath StringString FalseFalse namedNamed 없음None 모든 외부 네트워크 끝점 인증서를 포함 하는 \Certificates 디렉터리의 파일 공유 경로입니다.The fileshare path to the \Certificates directory containing all external network endpoint certificates. 외부 암호를 회전 하는 경우에만 필요 합니다.Only required when rotating external secrets. 끝 디렉터리는 \Certificates 여야 합니다.End directory must be \Certificates.
CertificatePassword SecureStringSecureString FalseFalse namedNamed 없음None -PfXFilesPath에 제공 된 모든 인증서의 암호입니다.The password for all certificates provided in the -PfXFilesPath. 외부 비밀을 회전할 때 PfxFilesPath가 제공 되는 경우 필수 값입니다.Required value if PfxFilesPath is provided when external secrets are rotated.
Internal StringString FalseFalse namedNamed 없음None 내부 플래그는 Azure Stack 허브 운영자가 내부 인프라 비밀을 회전 하려고 할 때마다 사용 해야 합니다.Internal flag must be used anytime an Azure Stack Hub operator wishes to rotate internal infrastructure secrets.
PathAccessCredential PSCredentialPSCredential FalseFalse namedNamed 없음None 모든 외부 네트워크 끝점 인증서를 포함 하는 \Certificates 디렉터리의 파일 공유에 대 한 PowerShell 자격 증명입니다.The PowerShell credential for the fileshare of the \Certificates directory containing all external network endpoint certificates. 외부 암호를 회전 하는 경우에만 필요 합니다.Only required when rotating external secrets.
ReRun SwitchParameterSwitchParameter FalseFalse namedNamed 없음None 실패 한 시도 후에 비밀 회전이 다시 시도 때 사용 해야 합니다.Must be used anytime secret rotation is reattempted after a failed attempt.

구문Syntax

외부 비밀 회전의 경우For external secret rotation

Start-SecretRotation [-PfxFilesPath <string>] [-PathAccessCredential <PSCredential>] [-CertificatePassword <SecureString>]  

내부 비밀 회전의 경우For internal secret rotation

Start-SecretRotation [-Internal]  

외부 비밀 회전 다시 실행For external secret rotation rerun

Start-SecretRotation [-ReRun]

내부 비밀 회전 다시 실행For internal secret rotation rerun

Start-SecretRotation [-ReRun] [-Internal]

Examples

내부 인프라 비밀만 회전Rotate only internal infrastructure secrets

이 명령은 Azure Stack 허브 환경의 권한 있는 끝점을 통해 실행 해야 합니다.This command must be run via your Azure Stack Hub environment's privileged endpoint.

PS C:\> Start-SecretRotation -Internal

이 명령은 Azure Stack 허브 내부 네트워크에 노출 되는 모든 인프라 암호를 회전 합니다.This command rotates all of the infrastructure secrets exposed to the Azure Stack Hub internal network.

외부 인프라 비밀만 회전Rotate only external infrastructure secrets

# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"

# Create Credentials for the fileshare
$CertPassword = ConvertTo-SecureString "<CertPasswordHere>" -AsPlainText -Force
$CertShareCreds = Get-Credential
$CertSharePath = "<NetworkPathOfCertShare>"
# Run Secret Rotation
Invoke-Command -Session $PEPSession -ScriptBlock {  
    Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
}
Remove-PSSession -Session $PEPSession

이 명령은 Azure Stack 허브의 외부 네트워크 인프라 끝점에 사용 되는 TLS 인증서를 회전 합니다.This command rotates the TLS certificates used for Azure Stack Hub's external network infrastructure endpoints.

내부 및 외부 인프라 비밀 회전 (1811에 만 해당)Rotate internal and external infrastructure secrets (pre-1811 only)

중요

이 명령은 내부 및 외부 인증서에 대해 회전이 분할 되어 Azure Stack 허브 1811 이전 에만 적용 됩니다.This command only applies to Azure Stack Hub pre-1811 as the rotation has been split for internal and external certificates.

1811 이상 에서는 내부 및 외부 인증서를 모두 회전할 수 없습니다.From 1811+ you can't rotate both internal and external certificates anymore!

# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"

# Create Credentials for the fileshare
$CertPassword = ConvertTo-SecureString "<CertPasswordHere>" -AsPlainText -Force
$CertShareCreds = Get-Credential
$CertSharePath = "<NetworkPathOfCertShare>"
# Run Secret Rotation
Invoke-Command -Session $PEPSession -ScriptBlock {
    Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
}
Remove-PSSession -Session $PEPSession

이 명령은 Azure Stack Hub 내부 네트워크에 노출 된 인프라 암호와 Azure Stack 허브의 외부 네트워크 인프라 끝점에 사용 되는 TLS 인증서를 회전 합니다.This command rotates the infrastructure secrets exposed to Azure Stack Hub internal network, and the TLS certificates used for Azure Stack Hub's external network infrastructure endpoints. 모든 스택에서 생성 된 암호를 회전 Start-SecretRotation 제공 된 인증서가 있으므로 외부 끝점 인증서도 회전 됩니다.Start-SecretRotation rotates all stack-generated secrets, and because there are provided certificates, external endpoint certificates will also be rotated.

다음 단계Next steps

Azure Stack 허브 보안에 대해 자세히 알아보기Learn more about Azure Stack Hub security