Azure 图形存储帐户 blob 容器

问题描述 投票:0回答:2

我有这个 Azure Graph 查询来获取我的所有存储帐户:

resources
| where type == 'microsoft.storage/storageaccounts'
| join kind=inner (
    resourcecontainers
    | where type == 'microsoft.resources/subscriptions'
    | project subscriptionId, subscriptionName = name)
    on subscriptionId
| project name,sku,properties,tags,resourceGroup,tenantId,subscriptionId,location,subscriptionName

现在我需要为每个存储帐户获取容器名称和每个容器的“公共访问级别”,如 Azure 门户中的这张图片所示:

我在 Azure Graph 中找不到正确的查询来执行此操作。有什么帮助吗?

azure azure-ad-graph-api
2个回答
1
投票

这不是最好的答案,但我确实使用了图表并这样做,循环每个存储中的容器,如下所示:

$storageAccount = Get-AzStorageAccount -ResourceGroupName $_.resourceGroup -Name $_.name
$ctx = $storageAccount.Context

$container = Get-AzStorageContainerAcl -Context $ctx -ErrorAction SilentlyContinue

$container = $container | Where-Object -Property PublicAccess -ne "Off"
    foreach ($c in $container) {
        [PSCustomObject]@{
            ResourceGroup  = $_.resourceGroup
            StorageAccount = $_.name
            BlobPublicAccess = $_.allowBlobPublicAccess
            Container = $c.Name
            ContainerPublicAccess = $c.PublicAccess
        }        
    }

0
投票

根据我的理解,为了访问存储帐户的容器信息,您必须登录该存储帐户,这可能取决于很多方面,例如如何配置您访问它的方式,但主要您需要访问键

© www.soinside.com 2019 - 2024. All rights reserved.