Вход Azure Аккаунт автоматизации без учетных данных в Azure AD - PullRequest
0 голосов
/ 05 мая 2020

можно подключить к azuread с учетной записью автоматизации azure с помощью командлета:

  • MsOnline Module
  • AzureAD Module

без использования учетных данных хранится в учетной записи автоматизации?

enter image description here

Я использую следующий код с учетными данными и отлично работает:

$azureadcred = Get-AutomationPSCredential -Name 'AzureAD'
Connect-AzureAD -credential $azureadcred

$o365cred = Get-AutomationPSCredential -Name 'O365'
Connect-Msolservice -credential $o365cred

Любая помощь оценен

Спасибо

1 Ответ

0 голосов
/ 05 мая 2020

Как подключить модуль AzureAD без пользователя

Мы можем использовать принципала службы для подключения модуля AzureAD. Между тем, вы используете учетную запись автоматизации Azure, мы можем напрямую использовать Azure учетные записи запуска от имени для подключения модуля.

Подробные инструкции приведены ниже.

  1. Назначьте Azure роль AD учетным записям запуска от имени. а. Получить идентификатор объекта учетных записей запуска от имени enter image description here

    b. назначить роль

 Connect-AzureAD 

 $role =Get-AzureADDirectoryRole -Filter "DisplayName eq 'Company Administrator'" 

    Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId <the object id you copy>
Скрипт PowerShell
 $servicePrincipalConnection=Get-AutomationConnection -Name 'AzureRunAsConnection'
 $connectState = Connect-AzAccount `
       -ServicePrincipal `
       -TenantId $servicePrincipalConnection.TenantId `
       -ApplicationId $servicePrincipalConnection.ApplicationId `
       -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
 if ($connectState) {
        "Connected."
    } else {
        "Doesn't seem to be connected."
    }
$context = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
$context.Account
$graphToken = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id.ToString(), $null, [Microsoft.Azure.Commands.Common.Authentication.ShowDialog]::Never, $null, "https://graph.microsoft.com").AccessToken

$aadToken = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id.ToString(), $null, [Microsoft.Azure.Commands.Common.Authentication.ShowDialog]::Never, $null, "https://graph.windows.net").AccessToken

Connect-AzureAD -TenantId $context.tenant.id -AccountId $context.Account.Id -AzureEnvironmentName $context.Environment.Name -AadAccessToken $aadToken -MsAccessToken $graphToken 

get-azureaduser -Top 5
...