Udostępnij za pośrednictwem


Zarządzanie poświadczeniami w usłudze Azure Automation

W zasobie poświadczeń usługi Automation przechowywany jest obiekt zawierający poświadczenia zabezpieczeń, takie jak nazwa użytkownika i hasło. Elementy Runbook i konfiguracje DSC używają poleceń cmdlet, które akceptują obiekt PSCredential do uwierzytelniania. Alternatywnie mogą wyodrębnić nazwę użytkownika i hasło PSCredential obiektu w celu udostępnienia aplikacji lub usługi wymagającej uwierzytelniania.

Uwaga

Zabezpieczanie zasobów w usłudze Azure Automation dotyczy poświadczeń, certyfikatów, połączeń i zaszyfrowanych zmiennych. Te zasoby są szyfrowane i przechowywane w usłudze Azure Automation przy użyciu unikatowego klucza generowanego dla każdego konta usługi Automation. Usługa Azure Automation przechowuje klucz w zarządzanym przez system usłudze Key Vault. Przed zapisaniem bezpiecznego zasobu usługa Automation ładuje klucz z usługi Key Vault, a następnie używa go do szyfrowania zasobu.

Uwaga

Aby uzyskać informacje o wyświetlaniu lub usuwaniu danych osobowych, zobacz Ogólne żądania podmiotów danych dotyczące RODO, żądań podmiotów danych platformy Azure dotyczących RODO lub Żądań podmiotów danych systemu Windows dotyczących RODO, w zależności od konkretnego obszaru i potrzeb. Aby uzyskać więcej informacji na temat RODO, zobacz sekcję RODO centrum zaufania firmy Microsoft i sekcję RODO w portalu zaufania usług.

Polecenia cmdlet programu PowerShell używane do uzyskiwania dostępu do poświadczeń

Polecenia cmdlet w poniższej tabeli tworzą poświadczenia usługi Automation i zarządzają nimi za pomocą programu PowerShell. Są one dostarczane jako część modułów Az.

Polecenia cmdlet opis
Get-AzAutomationCredential Pobiera obiekt CredentialInfo zawierający metadane dotyczące poświadczeń. Polecenie cmdlet nie pobiera PSCredential samego obiektu.
New-AzAutomationCredential Tworzy nowe poświadczenie usługi Automation.
Remove-AzAutomationCredential Usuwa poświadczenia automatyzacji.
Set-AzAutomationCredential Ustawia właściwości istniejącego poświadczenia usługi Automation.

Inne polecenia cmdlet używane do uzyskiwania dostępu do poświadczeń

Polecenia cmdlet w poniższej tabeli służą do uzyskiwania dostępu do poświadczeń w konfiguracjach elementów Runbook i DSC.

Polecenia cmdlet opis
Get-AutomationPSCredential PSCredential Pobiera obiekt do użycia w konfiguracji elementu Runbook lub DSC. Najczęściej należy użyć tego wewnętrznego Get-AzAutomationCredential polecenia cmdlet zamiast polecenia cmdlet, ponieważ to drugie pobiera tylko informacje o poświadczeniach. Te informacje nie są zwykle przydatne do przekazania do innego polecenia cmdlet.
Get-Credential Pobiera poświadczenia z monitem o podanie nazwy użytkownika i hasła. To polecenie cmdlet jest częścią domyślnego modułu Microsoft.PowerShell.Security. Zobacz Moduły domyślne.
New-AzureAutomationCredential Tworzy zasób poświadczeń. To polecenie cmdlet jest częścią domyślnego modułu platformy Azure. Zobacz Moduły domyślne.

Aby pobrać PSCredential obiekty w kodzie, należy zaimportować Orchestrator.AssetManagement.Cmdlets moduł. Aby uzyskać więcej informacji, zobacz Zarządzanie modułami w usłudze Azure Automation.

Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue

Uwaga

Należy unikać używania zmiennych w parametrze Name .Get-AutomationPSCredential Ich użycie może komplikować odnajdywanie zależności między elementami Runbook lub konfiguracjami DSC i elementami zawartości poświadczeń w czasie projektowania.

Funkcje języka Python, które uzyskują dostęp do poświadczeń

Funkcja w poniższej tabeli służy do uzyskiwania dostępu do poświadczeń w elemecie Runbook języka Python 2 i 3. 3 elementy Runbook języka Python są obecnie dostępne w wersji zapoznawczej.

Function opis
automationassets.get_automation_credential Pobiera informacje o zasobie poświadczeń.

Uwaga

Zaimportuj automationassets moduł w górnej części elementu Runbook języka Python, aby uzyskać dostęp do funkcji zasobów.

Tworzenie nowego zasobu poświadczeń

Nowy zasób poświadczeń można utworzyć przy użyciu witryny Azure Portal lub programu Windows PowerShell.

Tworzenie nowego zasobu poświadczeń za pomocą witryny Azure Portal

  1. Na koncie usługi Automation w okienku po lewej stronie wybierz pozycję Poświadczenia w obszarze Udostępnione zasoby.

  2. Na stronie Poświadczenia wybierz pozycję Dodaj poświadczenia.

  3. W okienku Nowe poświadczenia wprowadź odpowiednią nazwę poświadczeń zgodnie ze standardami nazewnictwa.

  4. Wpisz swój identyfikator dostępu w polu Nazwa użytkownika.

  5. W przypadku obu pól haseł wprowadź klucz dostępu tajnego.

    Tworzenie nowego poświadczenia

  6. Jeśli pole uwierzytelniania wieloskładnikowego jest zaznaczone, usuń zaznaczenie tego pola.

  7. Kliknij przycisk Utwórz , aby zapisać nowy zasób poświadczeń.

Uwaga

Usługa Azure Automation nie obsługuje kont użytkowników korzystających z uwierzytelniania wieloskładnikowego.

Tworzenie nowego zasobu poświadczeń za pomocą programu Windows PowerShell

W poniższym przykładzie pokazano, jak utworzyć nowy zasób poświadczeń usługi Automation. Najpierw PSCredential zostanie utworzony obiekt o nazwie i haśle, a następnie użyty do utworzenia zasobu poświadczeń. Zamiast tego możesz użyć Get-Credential polecenia cmdlet , aby monitować użytkownika o wpisenie nazwy i hasła.

$user = "MyDomain\MyUser"
$pw = ConvertTo-SecureString "PassWord!" -AsPlainText -Force
$cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $user, $pw
New-AzureAutomationCredential -AutomationAccountName "MyAutomationAccount" -Name "MyCredential" -Value $cred

Pobieranie zasobu poświadczeń

Konfiguracja elementu Runbook lub DSC pobiera zasób poświadczeń za pomocą wewnętrznego Get-AutomationPSCredential polecenia cmdlet. To polecenie cmdlet pobiera PSCredential obiekt, którego można użyć z poleceniem cmdlet, które wymaga poświadczeń. Można również pobrać właściwości obiektu poświadczeń do użycia indywidualnie. Obiekt ma właściwości nazwy użytkownika i bezpiecznego hasła.

Uwaga

Polecenie Get-AzAutomationCredential cmdlet nie pobiera PSCredential obiektu, którego można użyć do uwierzytelniania. Zawiera tylko informacje o poświadczeniu. Jeśli musisz użyć poświadczeń w elemecie Runbook, musisz pobrać go jako PSCredential obiekt przy użyciu polecenia Get-AutomationPSCredential.

Alternatywnie możesz użyć metody GetNetworkCredential, aby pobrać obiekt NetworkCredential reprezentujący niezabezpieczoną wersję hasła.

Przykład tekstowego elementu Runbook

W poniższym przykładzie pokazano, jak używać poświadczeń programu PowerShell w elemecie Runbook. Pobiera poświadczenia i przypisuje nazwę użytkownika i hasło do zmiennych.

$myCredential = Get-AutomationPSCredential -Name 'MyCredential'
$userName = $myCredential.UserName
$securePassword = $myCredential.Password
$password = $myCredential.GetNetworkCredential().Password

Możesz również użyć poświadczeń do uwierzytelniania na platformie Azure za pomocą polecenia Connect-AzAccount po pierwszym nawiązaniu połączenia z tożsamością zarządzaną. W tym przykładzie jest używana tożsamość zarządzana przypisana przez system.

# 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 credential
$myCred = Get-AutomationPSCredential -Name "MyCredential"
$userName = $myCred.UserName
$securePassword = $myCred.Password
$password = $myCred.GetNetworkCredential().Password

$myPsCred = New-Object System.Management.Automation.PSCredential ($userName,$securePassword)

# Connect to Azure with credential
$AzureContext = (Connect-AzAccount -Credential $myPsCred -TenantId $AzureContext.Subscription.TenantId).context

# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription `
    -TenantId $AzureContext.Subscription.TenantId `
    -DefaultProfile $AzureContext

Przykład graficznego elementu Runbook

Działanie wewnętrznego Get-AutomationPSCredential polecenia cmdlet można dodać do graficznego elementu Runbook, klikając prawym przyciskiem myszy poświadczenia w okienku Biblioteka edytora graficznego i wybierając polecenie Dodaj do kanwy.

Dodawanie polecenia cmdlet poświadczeń do kanwy

Na poniższej ilustracji przedstawiono przykład użycia poświadczeń w graficznym elemecie Runbook. W takim przypadku poświadczenie zapewnia uwierzytelnianie elementu Runbook do zasobów platformy Azure, zgodnie z opisem w temacie Używanie identyfikatora Entra firmy Microsoft w usłudze Azure Automation do uwierzytelniania na platformie Azure. Pierwsze działanie pobiera poświadczenia, które mają dostęp do subskrypcji platformy Azure. Następnie działanie połączenia konta używa tego poświadczenia do zapewnienia uwierzytelniania dla wszelkich działań, które pochodzą po nim. Link potoku jest tu używany, ponieważ Get-AutomationPSCredential oczekuje się pojedynczego obiektu.

Przykład przepływu pracy poświadczeń z linkiem potoku

Używanie poświadczeń w konfiguracji DSC

Podczas gdy konfiguracje DSC w usłudze Azure Automation mogą współdziałać z elementami zawartości poświadczeń przy użyciu polecenia Get-AutomationPSCredential, mogą również przekazywać zasoby poświadczeń za pośrednictwem parametrów. Aby uzyskać więcej informacji, zobacz Kompilowanie konfiguracji w usłudze Azure Automation DSC.

Następne kroki