BLOB データにアクセスするための Azure ロールを割り当てる

Azure Active Directory (Azure AD) では、Azure ロールベースのアクセス制御 (Azure RBAC) を通じて、セキュリティで保護されたリソースへのアクセス権が承認されます。 Azure Storage では、BLOB データへのアクセスに使用される一般的なアクセス許可セットを含む一連の Azure 組み込みロールが定義されます。

Azure ロールが Azure AD セキュリティ プリンシパルに割り当てられると、Azure によりそのセキュリティ プリンシパルのリソースへのアクセス権が付与されます。 Azure AD セキュリティ プリンシパルは、Azure リソースのユーザー、グループ、アプリケーション サービス プリンシパル、またはマネージド ID の場合があります。

Azure AD を使用して BLOB データへのアクセスを認可する方法の詳細については、Azure Active Directory を使用して BLOB へのアクセスを認可することに関する記事を参照してください。

注意

この記事では、ストレージ アカウントの BLOB データにアクセスするために Azure ロールを割り当てる方法について説明します。 Azure Storage での管理操作のロールの割り当てについては、「Azure Storage リソース プロバイダーを使用して管理リソースにアクセスする」を参照してください。

Azure ロールを割り当てる

Azure portal、PowerShell、Azure CLI、または Azure Resource Manager テンプレートを使用して、データ アクセスのロールを割り当てることができます。

Azure portal で Azure AD の資格情報を使用して BLOB データにアクセスするには、ユーザーに次のロールが割り当てられている必要があります。

  • ストレージ BLOB データ共同作成者 などのデータ アクセス ロール
  • Azure Resource Manager 閲覧者 ロール

これらのロールをユーザーに割り当てる方法については、「Azure portal を使用して Azure ロールを割り当てる」に記載されている手順に従ってください。

閲覧者ロールは Azure Resource Manager のロールであり、ユーザーにストレージ アカウントのリソースの表示を許可しますが、変更は許可しません。 これは Azure Storage 内のデータに読み取りアクセス許可を提供しませんが、アカウント管理リソースに対してのみです。 ユーザーが Azure portal 内の BLOB コンテナーに移動できるようにするには、閲覧者 ロールが必要です。

たとえば、ストレージ BLOB データ共同作成者 ロールを sample-container という名前のコンテナーのレベルで Mary というユーザーに割り当てると、Mary にはそのコンテナー内のすべての BLOB に対する読み取り、書き込み、および削除のアクセス権が付与されます。 ただし、Mary が Azure portal で BLOB を表示する場合、ストレージ BLOB データ共同作成者 ロール自体は、BLOB を表示するためにポータル内でその BLOB に移動するための十分なアクセス許可を提供しません。 ポータル内を移動し、そこに表示されている他のリソースを表示するには、追加のアクセス許可が必要です。

Azure AD の資格情報で Azure portal を使用するには、ユーザーに 閲覧者 ロールを割り当てる必要があります。 ただし、Microsoft.Storage/storageAccounts/listKeys/action アクセス許可を含むロールがユーザーに割り当てられている場合、ユーザーは共有キーによる認可を経てストレージ アカウント キーでポータルを使用できます。 ストレージ アカウント キーを使用するには、ストレージ アカウントに対して共有キー アクセスを許可する必要があります。 共有キー アクセスを許可または禁止する方法の詳細については、「Azure ストレージ アカウントの共有キーによる承認を禁止する」を参照してください。

閲覧者 ロール以外の追加のアクセス許可を提供する Azure Resource Manager ロールを割り当てることもできます。 セキュリティのベスト プラクティスとして、割り当てるアクセス許可を最小限にとどめることをお勧めします。 詳細については、「Azure RBAC のベスト プラクティス」を参照してください。

注意

データ アクセスのためのロールを自分に割り当てる前に、Azure portal 経由でストレージ アカウントのデータにアクセスできるようになります。これは、Azure portal もデータ アクセスにアカウント キーを使用できるためです。 詳細については、「Azure portal で BLOB データへのアクセスの承認方法を選択する」を参照してください。

Azure portal の Storage Explorer のプレビュー バージョンでは、BLOB データを表示および変更するための Azure AD 資格情報の使用はサポートされていません。 Azure portal の Storage Explorer では、データは常にアカウント キーを使用してアクセスされます。 Azure portal で Storage Explorer を使用するには、Microsoft. Storage/storageAccounts/listkeys/action を含むロールが割り当てられている必要があります。

Azure Storage での Azure ロールの割り当てについては、次の点に注意してください。

  • Azure ストレージ アカウントを作成するとき、Azure AD を介してデータにアクセスするためのアクセス許可は自動的に割り当てられません。 Azure Storage の Azure ロールを自分自身に明示的に割り当てる必要があります。 これは、サブスクリプション、リソース グループ、ストレージ アカウント、あるいはコンテナーのレベルで割り当てることができます。
  • ストレージ アカウントが Azure Resource Manager 読み取り専用ロックでロックされている場合、このロックによって、スコープがストレージ アカウントまたはコンテナーに設定された Azure ロールを割り当てることはできなくなります。
  • Azure AD 経由でデータにアクセスするための適切なアクセス許可を設定し、データにアクセスできない場合 (たとえば、"AuthorizationPermissionMismatch" エラーが発生している場合)。 Azure AD で行ったアクセス許可の変更がレプリケートされるのに十分な時間を割り当て、アクセスをブロックする拒否割り当てが存在しないことを確認します。「Azure 拒否割り当てについて」を参照してください。

次のステップ