Azure 灯塔 - 跨租户自动化

Azure lighthouse - cross tenant automation

我正在我的 Azure 环境中准备自动化解决方案。我必须提供自动化,以便能够管理分布在不同 Azure 租户中的多个 Azure 订阅中的资源。我目前正在测试 Azure Lighthouse,它在备份和更新管理服务管理(多订阅,多租户)的情况下非常有用。在 MS 文档中 - Azure Lighthouse - cross-tenant-management-experience 有一个部分 Azure Automation 和简短描述 Use Automation accounts to access and work with delegated resources。问题是它是如何工作的?我没有找到如何从一个中央订阅 运行 一本 运行 书和管理 remote/customers 订阅中的资源(列出虚拟机、存储帐户)的方法。有什么方法可以使用 Azure Lighthouse 从一个中心点 运行ning 自动化 运行 书籍并管理客户帐户中的资源。我知道我们可以使用 Azure Monitor 并创建警报并使用它们 运行 运行books 来管理客户帐户中的资源。

此答案与 Azure Light house 无关,但您可以通过提供必要的权限让自动化 Runbook 访问多个订阅。

$connectionName = "AzureRunAsConnection"
try
{
    # Get the connection "AzureRunAsConnection "
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    "Logging in to Azure..."
    Connect-AzAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 
}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

$Subs = Get-AzSubscription # filter by name
Select-AzSubscription -SubscriptionName $Subs.Name
Set-AzContext -SubscriptionId $RunAsConnection.SubscriptionId

# Rest of your script goes here