Aracılığıyla paylaş


Uygulamanızın kimliğini doğrulamak için otomatik olarak imzalanan bir ortak sertifika oluşturma

Microsoft Entra ID, hizmet sorumluları için iki tür kimlik doğrulamasını destekler: parola tabanlı kimlik doğrulaması (uygulama gizli dizisi) ve sertifika tabanlı kimlik doğrulaması. Uygulama gizli dizileri Azure portalında veya Microsoft Graph gibi bir Microsoft API'sini kullanarak kolayca oluşturulabilir ancak bunlar sertifikalar kadar güvenli değildir ve uzun ömürlü olur. Bu nedenle uygulamanızın gizli dizi yerine sertifika kullanması önerilir.

Test için, Sertifika Yetkilisi (CA) imzalı sertifika yerine otomatik olarak imzalanan bir ortak sertifika kullanabilirsiniz. Bu nasıl yapılır bölümünde otomatik olarak imzalanan bir sertifika oluşturmak ve dışarı aktarmak için PowerShell kullanacaksınız.

Dikkat

Otomatik olarak imzalanan sertifikalar, güvenilir bir üçüncü taraf CA tarafından imzalanmayan dijital sertifikalardır. Otomatik olarak imzalanan sertifikalar, imzalanan web sitesinden veya yazılımdan sorumlu olan şirket veya geliştirici tarafından oluşturulur, verilir ve imzalanır. Bu nedenle otomatik olarak imzalanan sertifikalar genel kullanıma yönelik web siteleri ve uygulamalar için güvenli değildir.

Sertifikayı PowerShell kullanarak oluştururken şifreleme ve karma algoritmaları, sertifika geçerlilik süresi ve etki alanı adı gibi parametreleri belirtebilirsiniz. Daha sonra sertifika, uygulama gereksinimlerinize bağlı olarak özel anahtarıyla veya anahtarı olmadan dışarı aktarılabilir.

Kimlik doğrulama oturumunu başlatan uygulama özel anahtar gerektirirken, kimlik doğrulamasını onaylayan uygulama ortak anahtarı gerektirir. Bu nedenle, PowerShell masaüstü uygulamanızdan Microsoft Entra ID'ye kimlik doğrulaması yaparsanız, yalnızca ortak anahtarı (.cer dosyası) dışarı aktarır ve Azure portalına yüklersiniz. PowerShell uygulaması, kimlik doğrulamasını başlatmak ve Microsoft Graph gibi Microsoft API'lerini çağırmak için erişim belirteçleri almak için yerel sertifika deponuzdaki özel anahtarı kullanır.

Uygulamanız Azure Otomasyonu gibi başka bir makineden de çalışıyor olabilir. Bu senaryoda, ortak ve özel anahtar çiftini yerel sertifika deponuzdan dışarı aktarır, ortak anahtarı Azure portalına ve özel anahtarı (.pfx dosyası) Azure Otomasyonu yüklersiniz. Azure Otomasyonu'de çalışan uygulamanız kimlik doğrulamasını başlatmak ve Microsoft Graph gibi Microsoft API'lerini çağırmak için erişim belirteçleri almak için özel anahtarı kullanır.

Bu makalede New-SelfSignedCertificate , otomatik olarak imzalanan sertifikayı oluşturmak için PowerShell cmdlet'i ve Export-Certificate kolayca erişilebilen bir konuma aktarmak için cmdlet'i kullanılır. Bu cmdlet'ler, Windows'un modern sürümlerinde yerleşik olarak bulunur (Windows 8.1 ve üzeri ile Windows Server 2012R2 ve üzeri). Otomatik olarak imzalanan sertifika aşağıdaki yapılandırmaya sahip olacaktır:

  • 2048 bit anahtar uzunluğu. Daha uzun değerler desteklense de, en iyi güvenlik ve performans bileşimi için 2048 bit boyutu kesinlikle önerilir.
  • RSA şifreleme algoritmasını kullanır. Microsoft Entra ID şu anda yalnızca RSA'yi desteklemektedir.
  • Sertifika SHA256 karma algoritmasıyla imzalanır. Microsoft Entra ID, SHA384 ve SHA512 karma algoritmalarıyla imzalanan sertifikaları da destekler.
  • Sertifika yalnızca bir yıl geçerlidir.
  • Sertifika hem istemci hem de sunucu kimlik doğrulaması için desteklenir.

Sertifikanın başlangıç ve bitiş tarihini ve diğer özelliklerini özelleştirmek için New-SelfSignedCertificate'e bakın.

Genel sertifikanızı oluşturma ve dışarı aktarma

Makinenizden çalışan bir uygulamadan kimlik doğrulaması yapmak için bu yöntemi kullanarak oluşturduğunuz sertifikayı kullanın. Örneğin, PowerShell'den kimlik doğrulaması.

PowerShell isteminde aşağıdaki komutu çalıştırın ve PowerShell konsol oturumunu açık bırakın. değerini, sertifikanıza vermek istediğiniz adla değiştirin {certificateName} .

$certname = "{certificateName}"    ## Replace {certificateName}
$cert = New-SelfSignedCertificate -Subject "CN=$certname" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256

Önceki $cert komuttaki değişken sertifikanızı geçerli oturumda depolar ve dışarı aktarmanıza olanak tanır.

Aşağıdaki komut sertifikayı .cer biçimde dışarı aktarır. Ayrıca,.pem ve .crt gibi Azure portalında desteklenen diğer biçimlerde de dışarı aktarabilirsiniz.


Export-Certificate -Cert $cert -FilePath "C:\Users\admin\Desktop\$certname.cer"   ## Specify your preferred location

Sertifikanız artık Azure portalına yüklenmeye hazırdır. Karşıya yüklendikten sonra, uygulamanızın kimliğini doğrulamak için kullanılacak sertifika parmak izini alın.

(İsteğe bağlı): Ortak sertifikanızı özel anahtarıyla dışarı aktarma

Uygulamanız Azure Otomasyonu gibi başka bir makineden veya buluttan çalıştırılacaksa özel bir anahtara da ihtiyacınız olacaktır.

Önceki komutlardan sonra sertifika özel anahtarınız için bir parola oluşturun ve bunu bir değişkene kaydedin. yerine sertifika özel anahtarınızı korumak için kullanmak istediğiniz parolayı yazın {myPassword} .


$mypwd = ConvertTo-SecureString -String "{myPassword}" -Force -AsPlainText  ## Replace {myPassword}

değişkeninde depoladığınız parolayı $mypwd kullanarak komutunu kullanarak özel anahtarınızın güvenliğini sağlayın ve dışarı aktarın;


Export-PfxCertificate -Cert $cert -FilePath "C:\Users\admin\Desktop\$certname.pfx" -Password $mypwd   ## Specify your preferred location

Sertifikanız (.cer dosyası) artık Azure portalına yüklenmeye hazırdır. Özel anahtar (.pfx dosyası) şifrelenir ve diğer taraflar tarafından okunamaz. Karşıya yüklendikten sonra, uygulamanızın kimliğini doğrulamak için kullanabileceğiniz sertifika parmak izini alın.

İsteğe bağlı görev: Sertifikayı anahtar deposundan silin.

Sertifika parmak izini almak için aşağıdaki komutu çalıştırarak anahtar çiftini kişisel deponuzdan silebilirsiniz.


Get-ChildItem -Path "Cert:\CurrentUser\My" | Where-Object {$_.Subject -Match "$certname"} | Select-Object Thumbprint, FriendlyName

Ardından, görüntülenen parmak izini kopyalayın ve sertifikayı ve özel anahtarını silmek için kullanın.


Remove-Item -Path Cert:\CurrentUser\My\{pasteTheCertificateThumbprintHere} -DeleteKey

Sertifikanızın sona erme tarihini öğrenme

Yukarıdaki adımları izleyerek oluşturduğunuz otomatik olarak imzalanan sertifikanın süresi dolmadan önce sınırlı bir ömrü vardır. Azure portalının Uygulama kayıtları bölümünde Sertifikalar ve gizli diziler ekranında sertifikanın son kullanma tarihi görüntülenir. Azure Otomasyonu kullanıyorsanız Otomasyon hesabındaki Sertifikalar ekranında sertifikanın son kullanma tarihi görüntülenir. Otomatik olarak imzalanan yeni bir sertifika oluşturmak için önceki adımları izleyin.

Sonraki adımlar

Microsoft Entra Id'de federasyon çoklu oturum açma sertifikalarını yönetme