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

Azure Active Directory (AAD) では、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 データ閲覧者ストレージ 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 Storage での Azure ロールの割り当てについては、次の点に注意してください。

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

注意

BLOB データにきめ細かくアクセスするための Azure RBAC カスタム ロールを作成できます。 詳細については、「Azure カスタム ロール」を参照してください。

次のステップ