From 8165f5d7f8959a5b08882dfbd60ae4ae2e0f53e0 Mon Sep 17 00:00:00 2001 From: "Yudai Tomita (Microsoft Japan)" <67356108+Yudai-Tomita@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:07:27 +0900 Subject: [PATCH] Fix formatting and add missing sections in documentation --- articles/storage/storageFirewall-403Error.md | 80 ++++++++------------ 1 file changed, 33 insertions(+), 47 deletions(-) diff --git a/articles/storage/storageFirewall-403Error.md b/articles/storage/storageFirewall-403Error.md index 311d1b17ea..7327d6b452 100644 --- a/articles/storage/storageFirewall-403Error.md +++ b/articles/storage/storageFirewall-403Error.md @@ -2,9 +2,6 @@ title: 403 エラーが発生し Azure ストレージ アカウント内のコンテンツにアクセスできない date: 2025-01-07 15:00:00 - - - tags: @@ -17,42 +14,33 @@ tags: 403 エラーは認証エラーですので、ネットワークとしては疎通ができている状態ですが、認証によってアクセスが拒否されている状況となります。 本記事ではまず、ストレージ アカウント自体に備わっているファイアウォール(ネットワーク設定)の観点でトラブルシューティングのご紹介をさせていただきます。 ---- -## ストレージ アカウント内のコンテンツ表示における 403 エラーの表示例 - どれも 403 エラーや Access is denied として表示され、アクセス拒否となっていることが分かります。 ---- - --- -### Azure ポータルでストレージ アカウントの Blob コンテナー内の表示、およびストレージブラウザーで Blob や Azure Files にアクセスした際 ---- - -![This request is not authorized to perform this operation.](storageFirewall-403Error/Storage01.png) ---- ---- - -### Azure ポータルで Azure Files(ファイル共有)にアクセスした際 -![このマシンからはアクセスできないようです。このストレージ アカウントは VNet にあります。](storageFirewall-403Error/Storage02.png) ---- - -### Azure Storage Explorer で Blob コンテナーにアクセスした際 + --- ---- - +![This request is not authorized to perform this operation.](storageFirewall-403Error/Storage03.png) +### Azure ポータルで Azure Files(ファイル共有)にアクセスした際 +### Azure Storage Explorer で Azure Files(ファイル共有)にアクセスした際 + + +### AzCopy コマンドにてファイルコピー時した際 + + ![Unable to retrieve child resources](storageFirewall-403Error/Storage90.png) ---- - + --- ![INFO: Authentication failed, it is either not correct, or expired, or does not have the correct permission / RESPONSE 403: 403 This request is not authorized to perform this operation. / ERROR CODE: AuthorizationFailure](storageFirewall-403Error/Storage04.png) ---- - +--- + + + --- @@ -66,11 +54,9 @@ tags: これらのエラーの場合は、以下の原因によりアクセス拒否となっている可能性がございます。 - ストレージ アカウント自体に備わっているファイアウォール(ネットワーク設定)によりアクセス拒否されている -- データ操作の認可がされていない - +以下の手順で Azure ポータルからストレージアカウントのファイアウォールを無効化することが可能でございます。 まずは、それぞれの機能について解説させていただきます。 - ---- +--- ## ストレージ アカウントのファイアウォール(ネットワーク設定)とデータへの認可について ストレージ アカウントには、特定の VNET や特定のグローバル IP アドレスからのアクセスのみを許可するといった、ファイアウォール機能が備わっております。 @@ -80,33 +66,32 @@ tags: https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security また、ファイアウォールで許可されたクライアントからのアクセスであっても、アクセス先のデータに対して適切な認可がされていない場合は、同様に 403 エラーのアクセス拒否が発生します。 - ■ご参考:Azure Storage 内のデータへのアクセスを承認する -https://learn.microsoft.com/ja-jp/azure/storage/common/authorize-data-access +以下の手順で Azure ポータルからストレージアカウントのファイアウォールを無効化することが可能でございます。 + + + + +1. 対象のストレージアカウントの画面にて「ネットワーク」をクリックします。 + -以下の手順で Azure ポータルからストレージアカウントのファイアウォールを無効化することが可能でございます。 - -1. 対象のストレージアカウントの画面にて「ネットワーク」をクリックします。 - ## ストレージ アカウントのファイアウォールを一時的に無効化してみる > [!WARNING] -> 一時的に全てのネットワークからの接続が許可されますので、この点についてご留意くださいませ。 - +--- 意図せず 403 エラーでアクセス拒否となった場合、ファイアウォールによってブロックされていないかといった点を切り分けるために、一時的にファイアウォールを無効化するのが容易な手段となります。 ファイアウォールが元から無効であったり、ファイアウォールを無効化しても 403 エラーのアクセス拒否が継続する場合は、データ認可の問題などファイアウォールとは別の原因があると判断できます。 以下の手順で Azure ポータルからストレージアカウントのファイアウォールを無効化することが可能でございます。 -以下の手順でファイアウォールを無効化することが可能でございます。 +1. 対象のストレージアカウントの画面にて「ネットワーク」をクリックします。 1. 対象のストレージアカウントの画面にて「ネットワーク」をクリックします。 1. 対象のストレージアカウント「ネットワーク」をクリックします。 2. 「ファイアウォールと仮想ネットワーク」より「すべてのネットワーク」を選択し「保存」します。 ![](storageFirewall-403Error/Storage06.png) - -「すべてのネットワーク」が選択されている場合、ストレージファイアウォールの設定は無効状態となります。 +- [接続元クライアントが Azure VM の場合は、同一リージョンのストレージ アカウントへの接続時にプライベート IP アドレスで接続するため](https://jpaztech.github.io/blog/storage/storageFirewall-accesscontroll/)、このようなパブリック IP アドレスでの接続許可が叶いません。後述の VNET 単位の接続許可の設定をご検討ください。 「すべてのネットワーク」が選択されている状態に変更が完了したら、403 エラーのアクセス拒否が解消されるか確認してください。(少し反映までに時間がかかることもございます。) 403 エラーのアクセス拒否が解消されていれば、ストレージファイアウォールの設定に問題があると判断できます。 @@ -114,8 +99,10 @@ https://learn.microsoft.com/ja-jp/azure/storage/common/authorize-data-access もし、このままストレージファイアウォールを無効としても運用上差し支えなければ無効の状態でご利用ください。 アクセス元を制限したい場合は、以下に沿ってファイアウォール有効化の設定をご確認ください。 -- クライアント IP アドレスとして表示されるのは、Azure ポータルに接続している IP アドレスです。プロキシ使用時にエンドポイントへの接続をバイパスしている際などは、その点を考慮する必要がございます。 - +- クライアント IP アドレスとして表示されるのは、Azure ポータルに接続している IP アドレスです。プロキシ使用時にエンドポイントへの接続をバイパスしている際などは、その点を考慮する必要がございます。 + + + ## 特定のパブリック IP アドレス(グローバル IP アドレス)からの接続を許可するようにファイアウォールを設定する Azure ポータルにて以下の手順で、特定のパブリック IP アドレス(グローバル IP アドレス)からの接続を許可するようにファイアウォールを設定することが可能です。 @@ -130,9 +117,9 @@ Azure ポータルにて以下の手順で、特定のパブリック IP アド - クライアント IP アドレスとして表示されるのは、Azure ポータルに接続している IP アドレスです。プロキシ使用時にエンドポイントへの接続をバイパスしている際などは、その点を考慮する必要がございます。 - クライアント IP アドレスとして表示されるのは、Azure ポータルに接続している IP アドレスです。プロキシ使用時などは、その点を考慮する必要がございます。 -- Express Route をご利用されており、Microsoft Peering または Public Peering を用いて Azure ストレージに接続する構成の場合、Azure ストレージに側の接続元の IP アドレスはオンプレミスのプライベート IP アドレスではなく、Microsoft Peering または Public Peering で構成したパブリック IP アドレスとなります。そのため、Express Route 経由後のパブリック IP アドレスを追加していただく必要があることをあらかじめご留意ください。 +以下が Azure ポータルでその設定を行う手順となります。 -アクセス許可を行いたいアクセス元の IP アドレスが分からない状態の場合、下記の通り Azure ストレージの診断設定でログを取得し、403 エラーを検知しているログより接続元クライアントの IP アドレスを特定することも可能です。 +1. 対象のストレージアカウントの画面にて「ネットワーク」をクリックします。 --- ## ストレージ アカウントの診断設定およびアクセス元 IP アドレスの特定 @@ -149,10 +136,9 @@ https://jpaztech.github.io/blog/storage/azureFilesMonitoring 上記は、Azure Files(ファイル共有)での例とはなっておりますが、診断設定を有効にする種類として file ではなく blob を設定すれば、同様に Blob ストレージについてもアクセスログを採取することが可能です。 採取されたログ内に callerIpAddress として、実際のアクセス元となるクライアントの IP アドレスが記録されますので、これによりアクセス元 IP アドレスの特定が可能でございます。 - --- ## 特定の仮想ネットワーク(VNET)およびサブネットからのアクセスを許可する - +> その場合は、一度ストレージファイアウォール「仮想ネットワーク」項目からエラーが表示されているサブネットを削除し、上述の手順で仮想ネットワークおよびサブネットの追加をお試しいただきますようお願いいたします。 ストレージ アカウントのファイアウォールでは、特定のパブリック IP アドレスからのアクセス許可でだけではなく、特定の VNET 上のサブネットからのアクセスを許可する設定をすることが可能です。 以下がその手順となります。