ストレージ アカウント レベルによるコンテナーと Blob に対するパブリック アクセスの無効化について

作成したストレージ アカウントを Blob ストレージとして使用する場合、コンテナーを作成する必要がありますが、以前は設定できていたパブリック アクセスの項目がグレーアウトされていることに気が付きました。

ドキュメントを調べてみたら、セキュリティの観点から最近追加された設定のようです。コンテナーと Blob レベルのパブリック アクセスの既定値は、「プライベート (匿名アクセスはありません)」ですが、不用意に匿名読み取りアクセスさせないようにストレージ アカウント レベルで制御可能になっているようです。

後述しますが、新規にストレージ アカウントを作成する際、既定ではコンテナーと Blob に対するパブリック アクセスはストレージ アカウント レベルでは有効ですが、Azure ポータルから作成する際は無効になっていました
※2020/07/15 追記。Azure ポータルから作成する場合も有効の設定で修正された模様。

ストレージ アカウント レベルのパブリック アクセス無効化について、既定の設定値を含む、無効化の設定や確認方法について纏めてみました。

ストレージ アカウント レベルのパブリック アクセス無効化について

※2020/07/14 時点で確認した内容となるため、今後変更になる可能性があります。

スポンサーリンク

新規ストレージ アカウント作成時のパブリック アクセス設定について

Azure ポータル

Azure ポータル (既定値の変更なし) でストレージ アカウントを作成した場合には、パブリック アクセスは無効となっています。
※2020/07/15 追記。Azure ポータルから作成する場合も有効の設定で修正された模様。

Azure PowerShell、Azure CLI、ARM テンプレート

Azure PowerShell、Azure CLI、ARM テンプレートでストレージ アカウントを作成した場合には、パブリック アクセスは有効となっています。

ARM テンプレートの場合、後述する特定の項目を追加、設定することで作成時に無効化することは可能ですが、Azure PowerShell、Azure CLI について、(2020/07/14 時点では) 無効化するためのパラメーターは確認されませんでした
※2020/07/15 追記。Azure PowerShell v4.4.0 以降、Azure CLI 2.9.0 以降であれば、無効化の設定ができるようです。

パブリック アクセスを無効化する方法について

Azure ポータル、もしくは ARM テンプレートを用いてストレージ アカウント レベルのパブリック アクセスを無効化することが可能です。
※2020/07/15 追記。Azure PowerShell v4.4.0 以降、Azure CLI 2.9.0 以降であれば、無効化の設定ができるようです。

新規にストレージ アカウントを作成する場合

Azure ポータル

ストレージ アカウントの作成にて、[詳細] タブの [BLOB パブリック アクセス] の項目で「無効」に設定します。

ARM テンプレート

ARM テンプレートの resources セクション内、properties 要素として allowBlobPublicAccess の項目を追加することで、ストレージ アカウント レベルでパブリック アクセスを無効化することが可能です。

"resources": [
    {
        ...
        "properties": {
            ...
            "allowBlobPublicAccess" : false,
            ...
        },
        ...
    }
]

既存のストレージ アカウントに対して設定する場合

Azure ポータル

ストレージ アカウントの管理ブレード内にある [設定] – [構成] からの項目で「無効」に設定します。

スポンサーリンク

パブリック アクセス設定を確認する方法について

Azure PowerShell

Get-AzResource コマンドレットを用いて、ストレージ アカウント レベルでのパブリックアクセス設定を確認することが可能です。

コマンドの内容

実行結果
  • 無効化されている場合
    “False” と表示されます。
  • 有効化されている場合
    何も表示されません (有効化されている)。

Azure CLI

az resource show コマンドを用いて、ストレージ アカウント レベルでのパブリックアクセス設定を確認することが可能です。

コマンドの内容

実行結果
  • 無効化されている場合
    “false” と表示されます。
  • 有効化されている場合
    何も表示されません (有効化されている)。

参考

Azure Storage Microsoft Azure

コメント

タイトルとURLをコピーしました