LoginSignup
1
0

More than 5 years have passed since last update.

Azure Blob Storageでパブリック公開されているコンテナーを出力する

Posted at

Blob Storageのコンテナーには、3種類のアクセスポリシーがあります。

  • プライベート(パブリック読み取りアクセスなし)
  • BLOB(BLOBに限定したパブリック読み取りアクセス)
  • コンテナー(コンテナーのBLOB一覧も列挙可能なパブリック読み取りアクセス)

「プライベート」以外のアクセスポリシーは、誰でもアクセスできるようになっているので気をつけたいところです。
自分が管理しているサブスクリプションで、想定外のパブリック公開Blobがないかチェックしたくてコマンドレット作りました。
動作はCloud Shellで試していますが、Azure CLI/PowerShellでサブスクリプションが認証されていれば動くと思います。

Azure CLI

  • Cloud Shell(Bash)を開いて実行します
for accountName in `az storage account list --query [].name -o tsv`
do
  for containerName in `az storage container list --account-name $accountName --query [].name -o tsv`
  do
    permitType=`az storage container show-permission --name $containerName --account-name $accountName -o tsv`
    if [ "$permitType" != "off" ]; then
      echo "acount-name: $accountName, container-name: $containerName, permission-type: $permitType"
    fi
  done
done

Azure PowerShell

  • Cloud Shell(PowerShell)を開いて実行します。
$allStorageAccount = Get-AzureRmStorageAccount
for ($i = 0; $i -lt $allStorageAccount.StorageAccountName.Count; $i++) {
  $containerInfo = Get-AzureRmStorageAccount -Name $allStorageAccount.StorageAccountName[$i] -ResourceGroupName $allStorageAccount.ResourceGroupName[$i]
  Get-AzureStorageContainer -Context $containerInfo.Context | Where-Object { $_.PublicAccess -ne 'Off' }
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0