Azure デプロイメントにおける最小権限
Azure ベースのクラスターの従来のデプロイ手順は、クラウド権限を粗い粒度で管理しつつ、効率性を重視して設計されています。この手順では、すべてのクラウドリソースを専用のリソースグループに関連付け、リソースグループレベルで権限を割り当てるため、必要以上に広範な権限が付与されます。
コンプライアンスと監査を効率化するために、最小権限の原則 (PoLP) に従い、各リソースへのアクセスを個別に付与することで、PhoenixAI に必要最小限の権限のみを与えることができます。
Azure リソース作成時に最小権限を付与する
Azure で必要なリソースを作成する際に最小権限を付与する場合、各リソースを専用のリソースグループに関連付ける必要はありません。従来のデプロイ手順でデプロイメント用に作成したリソースグループの使用が推奨されている場合でも、リソースには任意のリソースグループを選択できます。その代わりに、各リソースに異なるロール割り当てを追加する必要があります。
このセクションでは、ストレージアカウントを例として、Azure リソースに必要なロール割り当てのみを追加する方法を説明します。他のリソースについても手順は同様です。各リソースに必要なロール割り当てとその付与対象については、リソースごとに必要なロール割り当て を参照してください。
以下の手順では、ストレージアカウントの Reader ロール割り当てを、デプロイメントに使用するサービスプリンシパルに付与します。
-
Storage accounts サービスページに移動し、使用するストレージアカウントをクリックします (または、ロール割り当てを追加したい任意のリソースの概要ページに移動します)。
-
表示されたページで、左側のペインから Access Control (IAM) を選択し、Add をクリックしてから Add role assignment をクリックします。

-
Add role assignment ページの Job function roles タブで Reader を選択し、Next をクリックして続行します。
-
Members タブで、Assign access to に User, group, or service principal を選択します (付与対象がマネージド ID の場合は Managed identity を選択します)。
-
Members で Select members をクリックします。表示された右側のペインで、デプロイメント用に登録したアプリケーションを検索して選択し、Select をクリックします。
-
Review + assign をクリックし、Review + assign タブで入力した情報を確認します。その後、Review + assign をクリックして割り当てを追加します。
リソースごとに必要なロール割り当て
| リソース | ロール割り当て | 付与対象 |
|---|---|---|
| Subnet (Azure Portal を使用する場合は Virtual Network) | Reader | サービスプリンシパル |
| Subnet (Azure Portal を使用する場合は Virtual Network) | Network Contributor | |
| Network Security Group | Reader | |
| Storage Account | Reader | |
| Private Endpoint | Reader | |
| Managed ID | Reader | |
| Managed ID | Managed Identity Operator | |
| SSH Key Pair | Reader | |
| Resource Group (コンピューティングリソースの起動用) | Network Contributor | |
| Resource Group (コンピューティングリソースの起動用) | Virtual Machine Contributor | |
| Resource Group (コンピューティングリソースの起動用) | Reader | マネージド ID |
| Storage Account | Storage Account Contributor | |
| Container | Storage Blob Data Contributor |
- Storage Account に別の Resource Group を使用する場合は、Storage account name or ID に Storage Account ID を指定する必要があります。この場合、Storage Account name を指定するとエラーが返されます。
- Azure Portal からは、Virtual Network レベルでのみロールを付与できます。Subnet レベルでロールを付与する場合は、Azure CLI を使用してこれらのリソースを作成する必要があります。