Karma Runbook Çalışanı üzerinde Otomasyon runbook’larını çalıştırın

Önemli

  • Aracı tabanlı Azure Otomasyonu Kullanıcı Hibrit Runbook Çalışanı (Windows ve Linux) 31 Ağustos 2024’te kullanımdan kaldırılacak ve bu tarihten sonra desteklenmeyecektir. Mevcut Aracı Tabanlı Kullanıcı Karma Runbook Çalışanlarının Uzantı Tabanlı Çalışanlara geçişini 31 Ağustos 2024’e kadar tamamlamanız gerekir. Ayrıca, 1 Kasım 2023'den itibaren yeni Aracı tabanlı Karma Çalışanlar oluşturmak mümkün olmayacaktır. Daha fazla bilgi edinin.
  • Azure Otomasyonu Farklı Çalıştır Hesabı 30 Eylül 2023'te devre dışı bırakılır ve yönetilen kimliklerle değiştirilir. Bu tarihten önce yönetilen kimlikleri kullanmak için runbook'larınızı geçirmeniz gerekir. Daha fazla bilgi için 30 Eylül 2023'ten önce runbook'ları Farklı Çalıştır hesabından yönetilen kimliklere geçirme işlemine başlamak için bkz . Mevcut Farklı Çalıştır hesaplarından yönetilen kimliğe geçiş.

Karma Runbook Çalışanı üzerinde çalışan runbook'lar genellikle yerel bilgisayardaki veya çalışanın dağıtıldığı yerel ortamdaki kaynaklara göre kaynakları yönetir. Azure Otomasyonu runbook'ları genellikle Azure bulutundaki kaynakları yönetir. Farklı şekilde kullanılmış olsalar da, Azure Otomasyonu çalışan runbook'lar ve Karma Runbook Çalışanı üzerinde çalışan runbook'lar yapısı aynıdır.

Karma Runbook Çalışanı üzerinde çalıştırılacak bir runbook yazarken, runbook'u çalışanı barındıran makinede düzenlemeli ve test etmelisiniz. Konak makine, yerel kaynakları yönetmek için gereken tüm PowerShell modüllerine ve ağ erişimine sahiptir. Runbook'u Karma Runbook Çalışanı makinesinde test ettikten sonra, çalışan üzerinde çalıştırılabildiği Azure Otomasyonu ortamına yükleyebilirsiniz.

Güvenlik duvarı tarafından korunan Azure hizmetlerini planlama

Azure Depolama, Azure Key Vault veya Azure SQL'de Azure Güvenlik Duvarı etkinleştirilmesi, söz konusu hizmetler için Azure Otomasyonu runbook'lardan erişimi engeller. Otomasyon güvenilen hizmet listesinde yer almadığından, güvenilen Microsoft hizmetlerine izin vermek için güvenlik duvarı özel durumu etkinleştirildiğinde bile erişim engellenir. Etkin bir güvenlik duvarıyla erişim yalnızca Karma Runbook Çalışanı ve sanal ağ hizmet uç noktası kullanılarak yapılabilir.

Runbook iş davranışını planlama

Azure Otomasyonu Karma Runbook Çalışanlarındaki işleri bulut korumalı alanlarında çalıştırılacak işlerden farklı işler. Uzun süre çalışan bir runbook'nuz varsa, bunun olası yeniden başlatmaya dayanıklı olduğundan emin olun. İş davranışının ayrıntıları için bkz . Karma Runbook Çalışanı işleri.

Hizmet hesapları

Windows Karma Çalışanı

Karma Runbook Çalışanları için işler yerel Sistem hesabı altında çalışır.

Not

  • PowerShell 5.1, PowerShell 7.1(önizleme), Python 2.7 ve Python 3.8 runbook'ları hem uzantı tabanlı hem de aracı tabanlı Windows Karma Runbook Çalışanlarında desteklenir. Aracı tabanlı çalışanlar için Windows Karma çalışan sürümünün 7.3.12960 veya üzeri olduğundan emin olun.
  • PowerShell 7.2 ve Python 3.10 (önizleme) runbook'ları yalnızca uzantı tabanlı Windows Karma Çalışanlarında desteklenir. Windows Karma çalışan uzantısı sürümünün 1.1.11 veya üzeri olduğundan emin olun.

Not

Windows sistemlerinde ortam değişkeni oluşturmak için şu adımları izleyin:

  1. Denetim Masası> System>Gelişmiş Sistem Ayarlar gidin.
  2. Sistem Özellikleri'nde Ortam değişkenleri'ni seçin.
  3. Sistem değişkenleri'nde Yeni'yi seçin.
  4. Değişken adı ve Değişken değeri sağlayın ve tamam'ı seçin.
  5. Vm'yi yeniden başlatın veya geçerli kullanıcıdan oturumu kapatın ve ortam değişkeni değişikliklerini uygulamak için oturum açın.

PowerShell 7.2

PowerShell 7.2 runbook'larını bir Windows Karma Çalışanı üzerinde çalıştırmak için Karma Çalışanı'na PowerShell yükleyin. Bkz . PowerShell'i Windows'a yükleme.

PowerShell 7.2 yüklemesi tamamlandıktan sonra, powershell_7_2_path olarak Değişken adı ve yürütülebilir PowerShell'in konumu olarak Değişken değeri olan bir ortam değişkeni oluşturun. Ortam değişkeni başarıyla oluşturulduktan sonra Karma Runbook Çalışanı'nı yeniden başlatın.

PowerShell 7.1

PowerShell 7.1 runbook'larını bir Windows Karma Çalışanı üzerinde çalıştırmak için Karma Çalışanı'na PowerShell yükleyin. Bkz . PowerShell'i Windows'a yükleme. PowerShell dosyasını PATH ortam değişkenine eklediğinizden emin olun ve yüklemeden sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python 3.10

Python 3.10 runbook'larını bir Windows Karma Çalışanı üzerinde çalıştırmak için Python'ı Karma Çalışanı'na yükleyin. Bkz . Windows'a Python yükleme.

Python 3.10 yüklemesi tamamlandıktan sonra, değişken adı python_3_10_path ve Değişken değeri yürütülebilir Python konumu olarak olan bir ortam değişkeni oluşturun. Ortam değişkeni başarıyla oluşturulduktan sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python 3.8

Windows Karma Çalışanı'nda Python 3.8 runbook'larını çalıştırmak için Karma Çalışanı'na Python yükleyin. Bkz . Windows'a Python yükleme. Python 3.8 runbook'ları için ortam değişkeniPYTHON_3_PATH oluşturun ve yürütülebilir Python'ın konumunu Değişken değeri olarak eklediğinizden emin olun. Ortam değişkeni başarıyla oluşturulduktan sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python yürütülebilir dosyası varsayılan C:\WPy64-3800\python-3.8.0.amd64\python.exe konumundaysa ortam değişkenini oluşturmanız gerekmez.

Python 2.7

Windows Karma Çalışanı üzerinde Python 2.7 runbook'larını çalıştırmak için Karma Çalışanı'na Python yükleyin. Bkz . Windows'a Python yükleme. Python 2.7 runbook'ları için ortam değişkeniPYTHON_2_PATH oluşturun ve yürütülebilir Python dosyasının konumunu Değişken değeri olarak eklediğinizden emin olun. Ortam değişkeni başarıyla oluşturulduktan sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python yürütülebilir dosyası varsayılan C:\Python27\python.exe konumundaysa ortam değişkenini oluşturmanız gerekmez.

Linux Karma Çalışanı

Not

  • PowerShell 5.1, PowerShell 7.1(önizleme), Python 2.7, Python 3.8 runbook'ları hem uzantı tabanlı hem de aracı tabanlı Linux Karma Runbook Çalışanlarında desteklenir. Aracı tabanlı çalışanlar için Linux Karma Runbook çalışan sürümünün 1.7.5.0 veya üzeri olduğundan emin olun.
  • PowerShell 7.2 ve Python 3.10 (önizleme) runbook'ları yalnızca uzantı tabanlı Linux Karma Çalışanlarında desteklenir. Linux Hibrit çalışan uzantısı sürümünün 1.1.11 veya üzeri olduğundan emin olun.

Not

Linux sistemlerinde ortam değişkeni oluşturmak için şu adımları izleyin:

  1. /etc/environment dosyasını açın.
  2. /etc/environment içinde yeni bir satıra VARIABLE_NAME="variable_value" ekleyerek yeni bir Ortam değişkeni oluşturun (VARIABLE_NAME yeni Ortam değişkeninin adıdır ve variable_value atanacağı değeri temsil eder).
  3. Ortam değişkeni değişikliklerini uygulamak için /etc/environment dosyasındaki değişiklikleri kaydettikten sonra VM'yi yeniden başlatın veya geçerli kullanıcıdan oturumu kapatın ve oturum açın.

PowerShell 7.2

Linux Karma Çalışanı üzerinde PowerShell 7.2 runbook'larını çalıştırmak için Karma Çalışanı'na PowerShell dosyasını yükleyin. Daha fazla bilgi için bkz . Linux'ta PowerShell yükleme.

PowerShell 7.2 yüklemesi tamamlandıktan sonra, yürütülebilir PowerShell dosyasının konumu olarak Değişken adı powershell_7_2_path ve Değişken değeri olan bir ortam değişkeni oluşturun. Ortam değişkeni başarıyla oluşturulduktan sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python 3.10

Linux Karma Çalışanı üzerinde Python 3.10 runbook'larını çalıştırmak için Karma Çalışanı'na Python yükleyin. Daha fazla bilgi için bkz . Linux'ta Python 3.10 yükleme.

Python 3.10 yüklemesi tamamlandıktan sonra, yürütülebilir Python dosyasının konumu olarak Değişken adı python_3_10_path ve Değişken değeri olan bir ortam değişkeni oluşturun. Ortam değişkeni başarıyla oluşturulduktan sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python 3.8

Linux Karma Çalışanı üzerinde Python 3.8 runbook'larını çalıştırmak için Karma Çalışanı'na Python yükleyin. Yürütülebilir Python dosyasını PATH ortam değişkenine eklediğinizden emin olun ve yüklemeden sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Python 2.7

Linux Karma Çalışanı üzerinde Python 2.7 runbook'larını çalıştırmak için Karma Çalışanı'na Python yükleyin. Yürütülebilir Python dosyasını PATH ortam değişkenine eklediğinizden emin olun ve yüklemeden sonra Karma Runbook Çalışanı'nı yeniden başlatın.

Runbook izinlerini yapılandırma

Runbook'unuzun Karma Runbook Çalışanı üzerinde çalıştırılacak izinlerini aşağıdaki yollarla tanımlayın:

  • Runbook'un yerel kaynaklara kendi kimlik doğrulamasını sağlamasını sağlayın.
  • Azure kaynakları için yönetilen kimlikleri kullanarak kimlik doğrulamasını yapılandırın.
  • Tüm runbook'lar için bir kullanıcı bağlamı sağlamak üzere Karma Çalışan kimlik bilgilerini belirtin.

Yerel kaynaklar için runbook kimlik doğrulamasını kullanma

Kaynaklara kendi kimlik doğrulamasını sağlayan bir runbook hazırlarken runbook'unuzda kimlik bilgilerini ve sertifika varlıklarını kullanın. Runbook'un farklı kaynaklarda kimlik doğrulamasından geçirebilmesi için kimlik bilgilerini belirtmenize olanak sağlayan birkaç cmdlet vardır. Aşağıdaki örnekte, bir runbook'un bilgisayarı yeniden başlatan bir bölümü gösterilmektedir. Bir kimlik bilgisi varlığından kimlik bilgilerini ve değişken varlığından bilgisayarın adını alır ve ardından cmdlet'iyle Restart-Computer bu değerleri kullanır.

$Cred = Get-AutomationPSCredential -Name "MyCredential"
$Computer = Get-AutomationVariable -Name "ComputerName"

Restart-Computer -ComputerName $Computer -Credential $Cred

InlineScript etkinliği de kullanabilirsiniz. InlineScript , kimlik bilgileriyle başka bir bilgisayarda kod blokları çalıştırmanıza olanak tanır.

Yönetilen kimliklerle runbook kimlik doğrulamayı kullanma

Azure sanal makinelerindeki Karma Runbook Çalışanları, Azure kaynaklarında kimlik doğrulaması yapmak için yönetilen kimlikleri kullanabilir. Farklı Çalıştır hesapları yerine Azure kaynakları için yönetilen kimlikleri kullanmak, aşağıdakilere gerek duymadığınız için avantajlar sağlar:

  • Farklı Çalıştır sertifikasını dışarı aktarın ve ardından Karma Runbook Çalışanı'na aktarın.
  • Farklı Çalıştır hesabı tarafından kullanılan sertifikayı yenileyin.
  • Runbook kodunuzdaki Farklı Çalıştır bağlantı nesnesini işleyin.

Karma Runbook Çalışanı betiklerinde Yönetilen Kimlikleri kullanmanın iki yolu vardır.

  1. Otomasyon hesabı için sistem tarafından atanan Yönetilen Kimliği kullanın:

    1. Otomasyon hesabı için Sistem Tarafından Atanan Yönetilen Kimliği yapılandırın .

    2. Bu kimliğe , görevini gerçekleştirmek için Abonelik içinde gerekli izinleri verin.

    3. Azure kaynaklarında kimlik doğrulaması yapmak için parametresiyle Identity Bağlan-AzAccount cmdlet'ini kullanacak şekilde runbook'u güncelleştirin. Bu yapılandırma, Farklı Çalıştır hesabı kullanma ve ilişkili hesap yönetimini gerçekleştirme gereksinimini azaltır.

      # Ensures you do not inherit an AzContext in your runbook
      Disable-AzContextAutosave -Scope Process
      
      # Connect to Azure with system-assigned managed identity
      $AzureContext = (Connect-AzAccount -Identity).context
      
      # set and store context
      $AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile
      $AzureContext
      
      # Get all VM names from the subscription
      Get-AzVM -DefaultProfile $AzureContext | Select Name
      

    Not

    Otomasyon Hesabının Kullanıcı Tarafından Yönetilen Kimliğini Karma Runbook Çalışanı üzerinde kullanmak mümkün değildir; Otomasyon Hesabının Sistem Tarafından Yönetilen Kimliği olmalıdır.

  2. Karma Runbook Çalışanı olarak çalışan bir Azure VM için VM Yönetilen Kimliği'ni kullanın. Bu durumda, VM'nin Kullanıcı Tarafından Atanan Yönetilen Kimliği'ni veya VM'nin Sistem Tarafından Atanan Yönetilen Kimliği'ni kullanabilirsiniz.

    Not

    Bu, Otomasyon Hesabı Yönetilen Kimliği ile yapılandırılmış bir Otomasyon Hesabında ÇALıŞMAZ . Otomasyon hesabı Yönetilen Kimliği etkinleştirilir etkinleştirilmez, VM Yönetilen Kimliği artık kullanılamaz ve ardından, yalnızca yukarıdaki 1. seçenekte belirtildiği gibi Otomasyon Hesabı Sistem Tarafından Atanan Yönetilen Kimliği kullanmak mümkündür.

    Aşağıdaki yönetilen kimliklerden birini kullanın:

    1. VM için Sistem Tarafından Yönetilen Kimlik yapılandırın .
    2. Bu kimliğe , görevlerini gerçekleştirmek için abonelik içinde gerekli izinleri verin.
    3. Azure kaynaklarında kimlik doğrulaması yapmak için parametresiyle Identity Bağlan-Az-Account cmdlet'ini kullanacak şekilde runbook'u güncelleştirin. Bu yapılandırma, Farklı Çalıştır Hesabı kullanma ve ilişkili hesap yönetimini gerçekleştirme gereksinimini azaltır.
        # Ensures you do not inherit an AzContext in your runbook
        Disable-AzContextAutosave -Scope Process
    
        # Connect to Azure with system-assigned managed identity
        $AzureContext = (Connect-AzAccount -Identity).context
    
        # set and store context
        $AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile
        $AzureContext
    
        # Get all VM names from the subscription
        Get-AzVM -DefaultProfile $AzureContext | Select Name
    

Karma Runbook Çalışanı olarak çalışan Arc özellikli bir sunucu veya Arc özellikli VMware vSphere VM'sine zaten kimlik doğrulaması için kullanılabilecek yerleşik bir Sistem Yönetilen Kimliği atanmıştır.

  1. Uygun rol atamasını ekleyerek kaynağın Erişim denetimi (IAM) dikey penceresinde bu Yönetilen Kimlik'i aboneliğinizdeki kaynaklara atayabilirsiniz.

    Screenshot of how to select managed identities.

  2. Azure Arc Yönetilen Kimliği'ni istediğiniz role gerektiği gibi ekleyin.

    Screenshot of how to add role assignment in the Access control blade.

Not

Bu, Otomasyon Hesabı Yönetilen Kimliği ile yapılandırılmış bir Otomasyon Hesabında ÇALıŞMAZ . Otomasyon hesabı Yönetilen Kimliği etkinleştirildikten hemen sonra Arc Yönetilen Kimliği'ni kullanmak artık mümkün değildir ve ardından yalnızca yukarıdaki 1. seçenekte belirtildiği gibi Otomasyon Hesabı Sistem Tarafından Atanan Yönetilen Kimliği kullanmak mümkündür.

Not

Varsayılan olarak, Azure bağlamları PowerShell oturumları arasında kullanılmak üzere kaydedilir. Karma Runbook Çalışanı'ndaki önceki bir runbook Azure ile doğrulandığında, Azure bağlamları ve oturum açma kimlik bilgilerine göre bu bağlam Sistem PowerShell profilindeki diskte kalır | Microsoft Docs. Örneğin, ile Get-AzVM bir runbook çağrısı olmadan Connect-AzAccountabonelikteki tüm VM'leri döndürebilir ve kullanıcı bu runbook'ta kimlik doğrulaması yapmak zorunda kalmadan Azure kaynaklarına erişebilir. Burada ayrıntılı olarak açıklandığı gibi Azure PowerShell'de bağlam otomatik kaydetmeyi devre dışı bırakabilirsiniz.

Karma Çalışan Kimlik Bilgileri ile runbook kimlik doğrulamayı kullanma

Runbook'unuzun yerel kaynaklara kendi kimlik doğrulamasını sağlaması yerine, Karma Runbook Çalışanı grubu için Karma Çalışan Kimlik Bilgileri belirtebilirsiniz. Karma Çalışan Kimlik Bilgileri belirtmek için yerel kaynaklara erişimi olan bir kimlik bilgisi varlığı tanımlamanız gerekir. Bu kaynaklar sertifika depolarını içerir ve gruptaki bir Karma Runbook Çalışanı üzerinde bu kimlik bilgileri altında çalıştırılacak tüm runbook'lar vardır.

  • Kimlik bilgilerinin kullanıcı adı aşağıdaki biçimlerden birinde olmalıdır:

    • etki alanı\kullanıcıadı
    • username@domain
    • kullanıcı adı (şirket içi bilgisayarda yerel hesaplar için)
  • PowerShell runbook Export-RunAsCertificateToHybridWorker'ı kullanmak için yerel makineye Azure Otomasyonu için Az modüllerini yüklemeniz gerekir.

Karma Runbook Çalışanı grubu için bir kimlik bilgisi varlığı kullanın

Varsayılan olarak, Karma işler Sistem hesabı bağlamında çalışır. Ancak Karma işleri farklı bir kimlik bilgisi varlığı altında çalıştırmak için aşağıdaki adımları izleyin:

  1. Yerel kaynaklara erişimi olan bir kimlik bilgisi varlığı oluşturun.
  2. Azure portalda Otomasyon hesabını açın.
  3. Karma Çalışanı Grupları'nı ve ardından belirli grubu seçin.
  4. Ayarlar'ı seçin.
  5. Varsayılan olan Karma Çalışanı kimlik bilgilerinin değerini Özel olarak değiştirin.
  6. Kimlik bilgilerini seçin ve Kaydet'e tıklayın.
  7. Özel kullanıcılar için aşağıdaki izinler atanmazsa işler askıya alınabilir.
Kaynak türü Klasör izinleri
Azure VM C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (okuma ve yürütme)
Arc özellikli Sunucu C:\ProgramData\Azure Bağlan edMachineAgent\Tokens (okuma)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (okuma ve yürütme)

Not

Linux Karma Çalışanı, Karma Çalışanı kimlik bilgilerini desteklemez.

Karma Runbook Çalışanı üzerinde runbook başlatma

runbook'u Azure Otomasyonu'da başlatma, runbook'u başlatmak için farklı yöntemleri açıklar. Karma Runbook Çalışanı'nda runbook'u başlatmak, Karma Runbook Çalışanı grubunun adını belirtmenize olanak tanıyan bir Çalıştırmada seçeneğini kullanır. Bir grup belirtildiğinde, bu gruptaki çalışanlardan biri runbook'u alır ve çalıştırır. Runbook'unuz bu seçeneği belirtmezse Azure Otomasyonu runbook'u her zamanki gibi çalıştırır.

Azure portalında bir runbook başlattığınızda, Azure veya Karma Çalışanı'nı seçebileceğiniz Çalıştır seçeneği sunulur. Karma Çalışan'ı seçerek açılan listeden Karma Runbook Çalışanı grubunu seçin.

Screenshot showing how to select the Hybrid Runbook Worker group.

PowerShell kullanarak bir runbook başlatırken Start-AzAutomationRunbook cmdlet'iyle parametresini kullanınRunOn. Aşağıdaki örnek, MyHybridGroup adlı Karma Runbook Çalışanı grubunda Test-Runbook adlı bir runbook başlatmak için Windows PowerShell'i kullanır.

Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -RunOn "MyHybridGroup"

Windows Karma Runbook Çalışanı üzerinde imzalı runbook'larla çalışma

Bir Windows Karma Runbook Çalışanı'nın yalnızca imzalı runbook'ları çalıştıracak şekilde yapılandırabilirsiniz.

Önemli

Karma Runbook Çalışanı'nı yalnızca imzalı runbook'ları çalıştıracak şekilde yapılandırdıktan sonra, imzalanmamış runbook'lar, çalışan üzerinde yürütülemez.

Not

PowerShell 7.x, Windows ve Linux Karma Runbook Çalışanı için imzalı runbook'ları desteklemez.

İmzalama sertifikası oluşturma

Aşağıdaki örnek, runbook'ları imzalamak için kullanılabilecek otomatik olarak imzalanan bir sertifika oluşturur. Bu kod sertifikayı oluşturur ve Karma Runbook Çalışanının daha sonra içeri aktarabilmesi için dışarı aktarır. Parmak izi, sertifikaya başvuruda daha sonra kullanmak üzere de döndürülür.

# Create a self-signed certificate that can be used for code signing
$SigningCert = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\my `
    -Subject "CN=contoso.com" `
    -KeyAlgorithm RSA `
    -KeyLength 2048 `
    -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" `
    -KeyExportPolicy Exportable `
    -KeyUsage DigitalSignature `
    -Type CodeSigningCert

# Export the certificate so that it can be imported to the hybrid workers
Export-Certificate -Cert $SigningCert -FilePath .\hybridworkersigningcertificate.cer

# Import the certificate into the trusted root store so the certificate chain can be validated
Import-Certificate -FilePath .\hybridworkersigningcertificate.cer -CertStoreLocation Cert:\LocalMachine\Root

# Retrieve the thumbprint for later use
$SigningCert.Thumbprint

Sertifikayı içeri aktarma ve çalışanları imza doğrulaması için yapılandırma

Oluşturduğunuz sertifikayı bir gruptaki her Karma Runbook Çalışanına kopyalayın. Aşağıdaki betiği çalıştırarak sertifikayı içeri aktarın ve çalışanları runbook'larda imza doğrulaması kullanacak şekilde yapılandırın.

# Install the certificate into a location that will be used for validation.
New-Item -Path Cert:\LocalMachine\AutomationHybridStore
Import-Certificate -FilePath .\hybridworkersigningcertificate.cer -CertStoreLocation Cert:\LocalMachine\AutomationHybridStore

# Import the certificate into the trusted root store so the certificate chain can be validated
Import-Certificate -FilePath .\hybridworkersigningcertificate.cer -CertStoreLocation Cert:\LocalMachine\Root

# Configure the hybrid worker to use signature validation on runbooks.
Set-HybridRunbookWorkerSignatureValidation -Enable $true -TrustedCertStoreLocation "Cert:\LocalMachine\AutomationHybridStore"

Sertifikayı kullanarak runbook'larınızı imzalama

Karma Runbook Çalışanları yalnızca imzalı runbook'ları kullanacak şekilde yapılandırıldığında, Karma Runbook Çalışanı'nda kullanılacak runbook'ları imzalamanız gerekir. Bu runbook'ları imzalamak için aşağıdaki örnek PowerShell kodunu kullanın.

$SigningCert = ( Get-ChildItem -Path cert:\LocalMachine\My\<CertificateThumbprint>)
Set-AuthenticodeSignature .\TestRunbook.ps1 -Certificate $SigningCert

Bir runbook imzalandığında, bunu Otomasyon hesabınıza içeri aktarmanız ve imza bloğuyla yayımlamanız gerekir. Runbook'ları içeri aktarmayı öğrenmek için bkz . Runbook'u içeri aktarma.

Not

Açıklamalar dahil olmak üzere runbook kodunuzda yalnızca düz metin karakterleri kullanın. á veya ñ gibi aksan işaretleri içeren karakterlerin kullanılması hataya neden olur. Azure Otomasyonu kodunuzu indirdiğinde karakterler bir soru işaretiyle değiştirilir ve imzalama işlemi "imza karması doğrulama hatası" iletisiyle başarısız olur.

Linux Karma Runbook Çalışanı üzerinde imzalı runbook'larla çalışma

İmzalı runbook'larla çalışabilmek için Bir Linux Karma Runbook Çalışanının yerel makinede GPG yürütülebilir dosyası olmalıdır.

Önemli

Karma Runbook Çalışanı'nı yalnızca imzalı runbook'ları çalıştıracak şekilde yapılandırdıktan sonra, imzalanmamış runbook'lar, çalışan üzerinde yürütülemez.

Bu yapılandırmayı tamamlamak için aşağıdaki adımları gerçekleştirebilirsiniz:

  • GPG anahtarlık ve anahtarlık oluşturma
  • Anahtarlığı Karma Runbook Çalışanı için kullanılabilir hale getirme
  • İmza doğrulamasının açık olduğunu doğrulayın
  • Runbook'u imzalama

Not

  • PowerShell 7.x aracı tabanlı Windows ve aracı tabanlı Linux Karma Runbook Çalışanı için imzalı runbook'ları desteklemez.
  • İmzalı PowerShell ve Python runbook'ları, uzantı tabanlı Linux Karma Çalışanlarında desteklenmez.

GPG anahtarlık ve anahtarlık oluşturma

Not

GPG anahtarlık oluşturma ve anahtarlık yalnızca aracı tabanlı karma çalışanlar için geçerlidir.

GPG anahtarlığı ve anahtarlık oluşturmak için Karma Runbook Çalışanı nxautomation hesabını kullanın.

  1. nxautomation hesabı olarak oturum açmak için sudo uygulamasını kullanın.

    sudo su - nxautomation
    
  2. Nxautomation'ı kullandıktan sonra GPG anahtar bölmesini kök olarak oluşturun. GPG, adımlarda size yol gösterir. Ad, e-posta adresi, süre sonu süresi ve parola sağlamanız gerekir. Ardından makinede anahtarın oluşturulması için yeterli entropi olana kadar beklersiniz.

    sudo gpg --generate-key
    
  3. GPG dizini sudo ile oluşturulduğundan, aşağıdaki komutu kök olarak kullanarak sahibini nxautomation olarak değiştirmeniz gerekir.

    sudo chown -R nxautomation ~/.gnupg
    

Anahtarlığı Karma Runbook Çalışanı için kullanılabilir hale getirme

Anahtarlık oluşturulduktan sonra Karma Runbook Çalışanı'nın kullanımına açın. home/nxautomation/state/worker.conf ayarlar dosyasını, dosya bölümünün [worker-optional]altına aşağıdaki örnek kodu içerecek şekilde değiştirin.

gpg_public_keyring_path = /home/nxautomation/run/.gnupg/pubring.kbx

İmza doğrulamasının açık olduğunu doğrulayın

Makinede imza doğrulaması devre dışı bırakıldıysa, aşağıdaki komutu kök olarak çalıştırarak bu doğrulamayı açmanız gerekir. değerini çalışma alanı kimliğiniz ile değiştirin <LogAnalyticsworkspaceId> .

sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/require_runbook_signature.py --true <LogAnalyticsworkspaceId>

Runbook'u imzalama

İmza doğrulamayı yapılandırdıktan sonra runbook'u imzalamak için aşağıdaki GPG komutunu kullanın.

gpg --clear-sign <runbook name>

İmzalanan runbook'a runbook name.asc adı> verilir<.

Artık imzalı runbook'u Azure Otomasyonu yükleyip normal bir runbook gibi yürütebilirsiniz.

Günlük Kaydı

Karma runbook çalışanı üzerinde çalışan runbook'larınızla ilgili sorunları gidermeye yardımcı olmak için günlükler aşağıdaki konumda yerel olarak depolanır:

  • Ayrıntılı iş çalışma zamanı işlem günlüğü için Windows'ta C:\ProgramData\Microsoft\System Center\Orchestrator\<version>\SMA\Sandboxes . Üst düzey runbook iş durumu olayları Uygulama ve Hizmet Günlükleri\Microsoft-Automation\Operations olay günlüğüne yazılır.

  • Linux'ta, kullanıcı karma çalışan günlükleri adresinde /home/nxautomation/run/worker.log, sistem runbook çalışan günlükleri ise adresinde /var/opt/microsoft/omsagent/run/automationworker/worker.logbulunabilir.

Sonraki adımlar