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
Na koncie usługi Automation w okienku po lewej stronie wybierz pozycję Poświadczenia w obszarze Udostępnione zasoby.
Na stronie Poświadczenia wybierz pozycję Dodaj poświadczenia.
W okienku Nowe poświadczenia wprowadź odpowiednią nazwę poświadczeń zgodnie ze standardami nazewnictwa.
Wpisz swój identyfikator dostępu w polu Nazwa użytkownika.
W przypadku obu pól haseł wprowadź klucz dostępu tajnego.
Jeśli pole uwierzytelniania wieloskładnikowego jest zaznaczone, usuń zaznaczenie tego pola.
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.
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.
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
- Aby dowiedzieć się więcej o poleceniach cmdlet używanych do uzyskiwania dostępu do certyfikatów, zobacz Zarządzanie modułami w usłudze Azure Automation.
- Aby uzyskać ogólne informacje na temat elementów Runbook, zobacz Wykonywanie elementu Runbook w usłudze Azure Automation.
- Aby uzyskać szczegółowe informacje na temat konfiguracji DSC, zobacz Omówienie usługi Azure Automation State Configuration.