Azure Stack Hub PKI sertifikalarını doğrulama
Bu makalede açıklanan Azure Stack Hub Hazırlık Denetleyicisi aracına PowerShell Galerisi' den ulaşabilirsiniz. Oluşturulan ortak anahtar altyapısı (PKI) sertifikalarının dağıtım öncesi için uygun olduğunu doğrulamak için aracını kullanın. Gerekirse sertifikaları test etmek ve yeniden göndermek için yeterli zaman bırakarak sertifikaları doğrulayın.
Hazırlık Denetleyicisi aracı aşağıdaki sertifika doğrulamalarını gerçekleştirir:
-
PFX Ayrıştırma
Geçerli PFX dosyasını, doğru parolayı ve genel bilgilerin parolayla korunup korunmadığını denetler. -
Süre Sonu Tarihi
Yedi günlük en düşük geçerliliği denetler. -
İmza algoritması
İmza algoritmasının SHA1 olmadığını denetler. -
Özel Anahtar
Özel anahtarın mevcut olduğunu ve yerel makine özniteliğiyle dışarı aktarıldığını denetler. -
Sertifika zinciri
Otomatik olarak imzalanan sertifikalar için denetim de dahil olmak üzere sertifika zincirinin bozulmamış olduğunu denetler. -
DNS adları
SAN'ın her uç nokta için ilgili DNS adlarını içerdiğini veya destekleyen bir joker karakter olup olmadığını denetler. -
Anahtar kullanımı
Anahtar kullanımının dijital imza ve anahtar şifrelemesi içerip içermediğini denetler ve gelişmiş anahtar kullanımının sunucu kimlik doğrulaması ve istemci kimlik doğrulaması içerip içermediğini denetler. -
Anahtar boyutu
Anahtar boyutunun 2048 veya daha büyük olup olmadığını denetler. -
Zincir sırası
Siparişin doğru olduğunu doğrulayan diğer sertifikaların sırasını denetler. -
Diğer sertifikalar
PFX'te ilgili yaprak sertifika ve zinciri dışında başka hiçbir sertifikanın paketlenmemiş olduğundan emin olun.
Önemli
PKI sertifikası bir PFX dosyasıdır ve parola hassas bilgi olarak kabul edilmelidir.
Ön koşullar
Sisteminiz bir Azure Stack Hub dağıtımı için PKI sertifikalarını doğrulamadan önce aşağıdaki önkoşulları karşılamalıdır:
- Microsoft Azure Stack Hub Hazır Olma Denetleyicisi.
- Hazırlık yönergelerini izleyerek DıŞARı AKTARıLAN SSL Sertifikaları.
- DeploymentData.json.
- Windows 10 veya Windows Server 2016.
Çekirdek hizmetler sertifika doğrulaması gerçekleştirme
Dağıtım ve gizli dizi döndürme için Azure Stack Hub PKI sertifikalarını doğrulamak için şu adımları kullanın:
Aşağıdaki cmdlet'i çalıştırarak AzsReadinessChecker'ı bir PowerShell isteminden (5.1 veya üzeri) yükleyin:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Sertifika dizin yapısını oluşturun. Aşağıdaki örnekte, tercih ettiğiniz yeni bir dizin yoluna geçiş
<C:\Certificates\Deployment>
yapabilirsiniz.New-Item C:\Certificates\Deployment -ItemType Directory $directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal' $destination = 'C:\Certificates\Deployment' $directories | % { New-Item -Path (Join-Path $destination $PSITEM) -ItemType Directory -Force}
Not
Kimlik sistemi olarak AD FS kullanıyorsanız AD FS ve Graph gereklidir. Örneğin:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Sertifikalarınızı önceki adımda oluşturulan uygun dizinlere yerleştirin. Örneğin:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Sertifikalarınızı önceki adımda oluşturulan uygun dizinlere yerleştirin. Örneğin:
PowerShell penceresinde, Azure Stack Hub ortamına uygun ve
IdentitySystem
değerleriniFQDN
RegionName
değiştirin ve aşağıdaki cmdlet'i çalıştırın:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Çıktıyı denetleyin ve tüm sertifikaların tüm testleri geçtiğinden emin olun. Örneğin:
Invoke-AzsHubDeploymentCertificateValidation v1.2005.1286.272 started. Testing: KeyVaultInternal\KeyVaultInternal.pfx Thumbprint: E86699****************************4617D6 PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: ARM Public\ARMPublic.pfx Thumbprint: 8DC4D9****************************69DBAA PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: Admin Portal\AdminPortal.pfx Thumbprint: 6F9055****************************4AC0EA PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: Public Portal\PublicPortal.pfx Log location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsHubDeploymentCertificateValidation Completed
Diğer Azure Stack Hub hizmetlerinin sertifikalarını doğrulamak için
-CertificatePath
değerini değiştirin. Örneğin:# App Services Invoke-AzsHubAppServicesCertificateValidation -CertificatePath C:\Certificates\AppServices -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # DBAdapter Invoke-AzsHubDBAdapterCertificateValidation -CertificatePath C:\Certificates\DBAdapter -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # EventHubs Invoke-AzsHubEventHubsCertificateValidation -CertificatePath C:\Certificates\EventHubs -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com
Her klasör, sertifika türü için tek bir PFX dosyası içermelidir. Bir sertifika türünün birden çok sertifika gereksinimi varsa, her bir sertifika için iç içe klasörler beklenir ve ada duyarlıdır. Aşağıdaki kod, tüm sertifika türleri için örnek bir klasör/sertifika yapısı ve için
-CertificatePath
uygun değeri gösterir.C:\>tree c:\SecretStore /A /F Folder PATH listing Volume serial number is 85AE-DF2E C:\SECRETSTORE \---AzureStack +---CertificateRequests \---Certificates +---AppServices # Invoke-AzsCertificateValidation ` | +---API # -CertificatePath C:\Certificates\AppServices | | api.pfx | | | +---DefaultDomain | | wappsvc.pfx | | | +---Identity | | sso.pfx | | | \---Publishing | ftp.pfx | +---DBAdapter # Invoke-AzsCertificateValidation ` | dbadapter.pfx # -CertificatePath C:\Certificates\DBAdapter | | +---Deployment # Invoke-AzsCertificateValidation ` | +---ACSBlob # -CertificatePath C:\Certificates\Deployment | | acsblob.pfx | | | +---ACSQueue | | acsqueue.pfx ./. ./. ./. ./. ./. ./. ./. <- Deployment certificate tree trimmed. | \---Public Portal | portal.pfx | \---EventHubs # Invoke-AzsCertificateValidation ` eventhubs.pfx # -CertificatePath C:\Certificates\EventHubs
Bilinen sorunlar
Belirti: Testler atlandı
Neden: AzsReadinessChecker bir bağımlılık karşılanmazsa bazı testleri atlar:
Sertifika zinciri başarısız olursa diğer sertifikalar atlanır.
Testing: ACSBlob\singlewildcard.pfx Read PFX: OK Signature Algorithm: OK Private Key: OK Cert Chain: OK DNS Names: Fail Key Usage: OK Key Size: OK Chain Order: OK Other Certificates: Skipped Details: The certificate records '*.east.azurestack.contoso.com' do not contain a record that is valid for '*.blob.east.azurestack.contoso.com'. Please refer to the documentation for how to create the required certificate file. The other certificates check was skipped because cert chain and/or DNS names failed. Follow the guidance to remediate those issues and recheck. Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsCertificateValidation Completed
Çözüm: Her sertifika için her test kümesinin altındaki ayrıntılar bölümünde aracın yönergelerini izleyin.
Belirti: x509 uzantılarına yazılmış bir HTTP CDP'sine sahip olmasına rağmen HTTP CRL denetimi başarısız oluyor.
Neden: AzsReadinessChecker şu anda bazı dillerde HTTP CDP'yi denetleyemiyor.
Çözüm: İşletim sistemi dili EN-US olarak ayarlanmış doğrulamayı çalıştırın.
Sertifikalar
Directory | Sertifika |
---|---|
ACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueue | wildcard_queue_<region>_<externalFQDN> |
ACSTable | wildcard_table_<region>_<externalFQDN> |
uzantı kona Yönetici | wildcard_adminhosting_<region>_<externalFQDN> |
Yönetim Portalı | adminportal_<region>_<externalFQDN> |
ARM Yönetici | adminmanagement_<region>_<externalFQDN> |
ARM Genel | management_<region>_<externalFQDN> |
KeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Genel Uzantı Konağı | wildcard_hosting_<region>_<externalFQDN> |
Genel Portal | portal_<region>_<externalFQDN> |
Sonraki adımlar
Sertifikalarınız AzsReadinessChecker tarafından doğrulandıktan sonra, bunları Azure Stack Hub dağıtımı veya dağıtım sonrası gizli dizi döndürme için kullanmaya hazır olursunuz.
- Dağıtım için, sertifikalarınızı Azure Stack Hub PKI gereksinimleri - Zorunlu sertifikalar bölümünde belirtildiği gibi dağıtım sanal makine konağına kopyalayabilmeleri için dağıtım mühendisinize güvenli bir şekilde aktarın.
- Gizli dizi döndürme için bkz. Azure Stack Hub'da gizli dizileri döndürme. Değer ekleme kaynak sağlayıcısı sertifikalarının rotasyonu , Dış gizli dizileri döndürme bölümünde ele alınmıştır.