Azure でのリソース アクセス管理

この記事では、基本的な Azure 構成概念であるリソース、サブスクリプション、リソース グループから始めて、Azure にリソースをデプロイする方法について説明します。 次に、Azure Resource Manager (ARM) がリソースをデプロイする方法について説明します。

Azure リソースとは

Azure でのリソースとは、Azure が管理するエンティティです。 仮想マシン、仮想ネットワーク、ストレージ アカウントはすべて Azure リソースの例です。

Diagram of a resource.

Azure リソース グループとは

Azure の各リソースは、リソース グループに属している必要があります。 リソース グループは、複数のリソースを関連付ける論理コンテナーです。これにより、ライフサイクルとセキュリティに基づいてそれらを 1 つのエンティティとして管理できます。 たとえば、似たようなライフサイクルをリソースが共有している場合 (n 層アプリケーションのリソースなど)、それらのリソースをグループとして作成または削除できます。 つまり、一緒に作成、管理、非推奨にするすべてのものが、1 つのリソース グループ内に関連付けられています。

Diagram of a resource group containing a resource.

推奨されるベスト プラクティスは、リソース グループとそこに含まれているリソースを Azure サブスクリプションに関連付けることです。

Azure サブスクリプションとは

Azure サブスクリプションは、リソース グループとそれぞれのリソースを関連付ける論理コンテナーであるという点において、リソース グループに似ています。 Azure サブスクリプションは、Azure Resource Manager の制御にも関連付けられています。 Azure Resource Manager の概要と Azure サブスクリプションとの関係について説明します。

Diagram of an Azure subscription.

Azure Resource Manager とは

Azure のしくみ」で、Azure には、Azure の機能を調整するサービスを含むフロントエンドが含まれていることを学習しました。 これらのサービスの 1 つが Azure Resource Manager です。 このサービスは、リソースの管理に使用する RESTful API クライアントをホストします。

Diagram of Azure Resource Manager.

次の図は、Azure PowerShellAzure portal、および Azure CLI という 3 つのクライアントを示しています。

Diagram of Azure clients connecting to the Resource Manager REST API.

これらのクライアントは、REST API を使用して Resource Manager に接続しますが、Resource Manager にはリソースを直接管理する機能が含まれていません。 代わりに、Azure ではリソースの種類のほとんどに、独自のリソース プロバイダーがあります。

Diagram of Azure resource providers.

クライアントが特定のリソースを管理するように要求すると、Azure Resource Manager は要求を完了するために、そのリソースの種類のリソース プロバイダーに接続します。 たとえば、クライアントが仮想マシン リソースを管理するように要求した場合、Azure Resource Manager は、Microsoft.Compute リソース プロバイダーに接続されます。

Diagram of Azure Resource Manager connecting to the Microsoft.Compute resource provider.

Azure Resource Manager が、仮想マシン リソースを管理するために、サブスクリプションとリソース グループの両方の識別子を指定するようクライアントに要求しています。

Azure Resource Manager のしくみを理解したら、Azure サブスクリプションを Azure Resource Manager の制御に関連付ける方法を学習できます。 Azure Resource Manager が任意のリソース管理要求を実行できるようにするには、次の一連の制御を確認します。

最初の制御は、検証済みのユーザーが要求を行う必要があることです。 また、ユーザー ID 機能を提供するために、Azure Resource Manager には Microsoft Entra ID との信頼関係が必要です。

Diagram of Microsoft Entra ID.

Microsoft Entra ID では、ユーザーをテナントにセグメント分割できます。 "テナント" とは、通常は組織に関連付けられる Microsoft Entra ID の安全な専用インスタンスを表す論理的な構造です。 また、各サブスクリプションを Microsoft Entra テナントに関連付けることもできます。

A Microsoft Entra tenant associated with a subscription

特定のサブスクリプション内のリソースを管理するためのそれぞれのクライアント要求には、そのユーザーが関連付けられている Microsoft Entra テナント内にアカウントを持っていることが必要となります。

次の制御では、要求を行うための十分なアクセス許可がユーザーにあることが確認されます。 Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、アクセス許可がユーザーに割り当てられます。

Users assigned to Azure roles

Azure ロールでは、特定のリソースに対してユーザーが取得できる一連のアクセス許可が指定されます。 ロールがユーザーに割り当てられると、これらのアクセス許可が適用されます。 たとえば、組み込みの所有者ロールを使うと、ユーザーはリソースに対して任意のアクションを実行できます。

次の制御は、Azure リソース ポリシーに適うように指定されている設定で、要求が許可されることのチェックです。 Azure リソース ポリシーでは、特定のリソースに対して許可される操作が指定されます。 たとえば、Azure リソース ポリシーを使用して、ユーザーが特定の種類の仮想マシンのみデプロイできるように指定できます。

Azure resource policy

次の制御は、要求が Azure サブスクリプションの制限を超えていないことのチェックです。 たとえば、サブスクリプションあたりのリソース グループ数は、980 グループに制限されています。 制限に達したときに別のリソース グループをデプロイする要求を受け取った場合は、それを拒否します。

Diagram of Azure resource limits.

最後の制御は、要求が、サブスクリプションに関連付けられている財務コミットメント内に収まっていることのチェックです。 たとえば、仮想マシンのデプロイ要求の場合は、サブスクリプションに十分な支払い情報があることが Azure Resource Manager によって確認されます。

Diagram of a financial commitment associated with a subscription.

まとめ

この記事では、Azure Resource Manager を使用して、リソース アクセスが Azure でどのように管理されるかを説明しました。

次のステップ

「Azure 向けの Microsoft Cloud 導入フレームワーク」でクラウド導入について学習します。