ロールベースのアクセス制御を実装する方法
クラウド リソースのセキュリティで保護されたアクセス管理は、クラウドで運営する企業にとって重要です。 ロールベースのアクセス制御 (RBAC) は、Azure リソースにアクセスできるユーザーを管理するのに役立つメカニズムです。 RBAC を使用すると、特定のリソースに対して特定のユーザーが実行できる操作を決定し、各ユーザーがアクセスできるリソースの領域を制御できます。
RBAC は Azure Resource Manager 上に構築された認可システムです。 Azure RBAC を使用して、Azure のリソースへのアクセス権を詳細に管理できます。
Azure RBAC について知っておくべきこと
Azure RBAC で実行できることを次に示します。
あるアプリケーションに、リソース グループ内のすべてのリソースへのアクセスを許可します。
あるユーザーにサブスクリプション内の VM の管理を許可し、別のユーザーに仮想ネットワークの管理を許可します。
データベース管理者 (DBA) グループにサブスクリプション内の SQL データベースの管理を許可します。
あるユーザーに、VM、Web サイト、サブネットなど、リソース グループ内のすべてのリソースの管理を許可します。
Azure RBAC の概念
次の表では、Azure RBAC の主要な概念について説明します。
概念 | 説明 | 例 |
---|---|---|
セキュリティ プリンシパル | リソースへのアクセスを要求しているものを表すオブジェクト。 | ユーザー、グループ、サービス プリンシパル、マネージド ID |
ロールの定義 | 許可された操作を一覧表示するアクセス許可のセット。 Azure RBAC には組み込みのロール定義が付属していますが、独自のカスタム ロール定義を作成することもできます。 | 組み込みのロール定義の一部: 閲覧者、共同作成者、所有者、ユーザー アクセス管理者 |
スコープ | 要求されたアクセス "レベル" の境界、つまり "どのくらいの" アクセス権が付与されるか。 | 管理グループ、サブスクリプション、リソース グループ、リソース |
ロールの割り当て | 割り当てにより、特定のスコープでセキュリティ プリンシパルにロール定義がアタッチされます。 ユーザーは、ロールの割り当てを作成 (アタッチ) することで、ロール定義に記述されているアクセス権を付与できます。 | - 管理グループをスコープとした管理者グループに "ユーザー アクセス管理者" ロールを割り当てる - サブスクリプションをスコープとしたユーザーに "共同作成者" ロールを割り当てる |
Azure RBAC を使用するときに考慮すべきこと
組織内でロールとスコープの割り当てを実装する方法を検討するときは、次の点を考慮してください。
要求元を検討する。 リソースへのすべての種類のアクセスに対応するように戦略を計画します。 セキュリティ プリンシパルは、リソースへのアクセスを要求するすべてのものに対して作成されます。 組織内の要求元を決定します。 要求元は、内部または外部ユーザー、ユーザーのグループ、アプリケーションとサービス、リソースなどです。
ロールを検討する。 組織内の職務と作業シナリオの種類を確認します。 ロールは、一般的に、ジョブ タスクを実行したり、作業目標を達成したりするための要件を中心に構築されます。 管理者、企業コントローラー、エンジニアなどの特定のユーザーは、ほとんどのユーザーが必要とする以上のレベルのアクセス権を必要とします。 一部のロールは、特定のリソースまたはアプリケーションに対してチームまたは部門のすべてのメンバーに同じアクセス権を提供するように定義できます。
アクセス許可のスコープを検討する。 ロールの割り当てに対するアクセス許可のスコープを制御することで、セキュリティを確保する方法について考えます。 サポートする必要があるアクセス許可の種類とスコープのレベルの概要をまとめます。 異なるシナリオで要求元をサポートするために、1 つのロールに異なるスコープ レベルを適用できます。
組み込みまたはカスタム定義を検討する。 Azure RBAC の組み込みロール定義を確認します。 組み込みロールは、そのまま使用することも、組織の特定の要件を満たすように調整することもできます。 カスタム ロール定義を最初から作成することもできます。