この記事では、Azure ロールベースのアクセス制御 (Azure RBAC) を使用するためのベスト プラクティスについて説明します。 これらのベスト プラクティスは、Azure RBAC のエクスペリエンスと、自分のようなお客様のエクスペリエンスから派生しています。
ユーザーが必要なアクセスだけを許可する
Azure RBAC を使用して、チーム内で職務を分離し、職務に必要なアクセス許可のみをユーザーに付与します。 すべてのユーザーに Azure サブスクリプションまたはリソースの無制限のアクセス許可を付与する代わりに、特定のスコープで特定のアクションのみを許可できます。
アクセス制御戦略を計画するときは、作業を完了するための最小限の特権をユーザーに付与することをお勧めします。 最初は便利だと思われる場合でも、より広範なスコープで広範なロールを割り当てることは避けてください。 カスタム ロールを作成する場合は、ユーザーが必要とするアクセス許可のみを含めます。 ロールとスコープを制限することで、セキュリティ プリンシパルが侵害された場合にリスクにさらされるリソースを制限することができます。
次の図は、Azure RBAC を使用するための推奨パターンを示しています。
ロールを割り当てる方法については、「 Azure portal を使用して Azure ロールを割り当てる」を参照してください。
サブスクリプション所有者の数を制限する
侵害された所有者による侵害の可能性を減らすため、サブスクリプション所有者は最大 3 人までにします。 この推奨事項は、Microsoft Defender for Cloud で監視できます。 Defender for Cloud のその他の ID とアクセスに関する推奨事項については、「セキュリティに関 する推奨事項 - リファレンス ガイド」を参照してください。
特権管理者ロールの割り当てを制限する
一部のロールは 特権管理者ロールとして識別されます。 セキュリティ体制を改善するために、次のアクションを実行することを検討してください。
- 不要な特権ロールの割り当てを削除します。
- ジョブ機能ロールを代わりに使用できる場合は、特権管理者ロールを割り当てないでください。
- 特権管理者ロールを割り当てる必要がある場合は、管理グループやサブスクリプションなどのより広範なスコープではなく、リソース グループやリソースなどの狭いスコープを使用します。
- ロールの割り当てを作成するアクセス許可を持つロールを割り当てる場合は、ロールの割り当てを制限する条件を追加することを検討してください。 詳細については、「条件を使用して Azure ロールの割り当て管理を他のユーザーに委任する」を参照してください。
詳細については、「特権管理者ロールの割り当てを一覧表示または管理する」を参照してください。
Microsoft Entra Privileged Identity Management を使用する
悪意のあるサイバー攻撃から特権アカウントを保護するには、Microsoft Entra Privileged Identity Management (PIM) を使用して特権の公開時間を短縮し、レポートとアラートを使用してそれらの使用の可視性を高めることができます。 PIM は、Microsoft Entra ID と Azure リソースへの Just-In-Time 特権アクセスを提供することで、特権アカウントを保護するのに役立ちます。 アクセスには、その後に権限が自動的に取り消される時間制限を指定できます。
詳細については、「Microsoft Entra Privileged Identity Management とは」を参照してください。
ユーザーではなくグループにロールを割り当てる
ロールの割り当てを管理しやすくするには、ユーザーにロールを直接割り当てないようにします。 代わりに、グループにロールを割り当てます。 ユーザーではなくグループにロールを割り当てることは、ロールの割り当ての数を最小限に抑えるのにも役立ちます。 これにより、サブスクリプションごとのロールの割り当てが制限されます。
ロール名の代わりに一意のロール ID を使用してロールを割り当てる
ロール名が変更されることがあります。次に例を示します。
- 独自のカスタム ロールを使用していて、名前を変更することにしました。
- 名前に (プレビュー) を含む プレビュー ロールを使用している。 ロールが解放されると、ロールの名前が変更されます。
ロールの名前が変更される場合でも、ロールの ID は変わりません。 スクリプトまたはオートメーションを使用してロールの割り当てを作成する場合は、ロール名ではなく一意のロール ID を使用するのがベスト プラクティスです。 そうすれば、ロールの名前が変更されても、スクリプトが動作する可能性が高くなります。
詳細については、「 一意のロール ID と Azure PowerShell を使用してロールを割り当てる 」および「 一意のロール ID と Azure CLI を使用してロールを割り当てる」を参照してください。
カスタム ロールを作成するときにワイルドカードを使用しないようにする
カスタム ロールを作成するときに、ワイルドカード (*
) 文字を使用してアクセス許可を定義できます。 ワイルドカード (Actions
) 文字を使用する代わりに、DataActions
と *
を明示的に指定することをお勧めします。 今後の Actions
または DataActions
によって付与される追加のアクセスとアクセス許可は、ワイルドカードを使用して望ましくない動作になる可能性があります。 詳細については、「Azure カスタム ロール」を参照してください。