Azure 拒否割り当てを一覧表示する

ロールの割り当てと同様に、"拒否割り当て" ではアクセスの拒否を目的として、特定のスコープでユーザー、グループ、またはサービス プリンシパルに一連の拒否アクションがアタッチされます。 拒否割り当てを使用すると、ロールの割り当てでアクセスを許可されている場合であっても、指定した Azure リソース アクションをユーザーが実行できなくなります。

この記事では、拒否割り当てを一覧表示する方法を説明します。

重要

顧客が管理する拒否の割り当ては、現在プライベート プレビュー段階にあります。 生成された参照ドキュメントで関連APIやコマンドが利用可能であることは、その機能が公開プレビュー中または一般公開されていることを示すものではありません。 一般的に利用可能なシナリオでは、Azure が拒否の割り当てを作成、管理します。

拒否割り当ての生成方法

一般的に利用されるシナリオでは、Azure はリソースを保護するために拒否の割り当てを作成、管理します。 デプロイメント スタックを作成する際に拒否設定を指定することができ、これによりデプロイメント スタック リソースが所有する拒否割り当てが作成されます。 詳細については、「 マネージド リソースの保護 」と 「Azure RBAC の制限」を参照してください。

ロール割り当てと拒否割り当ての比較

拒否割り当てはロール割り当てと同様のパターンに従いますが、いくつかの相違点もあります。

機能性 ロール割り当て 割り当てを拒否
アクセス権の付与 ✅
アクセス拒否 ✅
直接作成できる ✅
スコープで適用 ✅ ✅
プリンシパルを除外 ✅
子スコープへの継承を防止 ✅
従来のサブスクリプション管理者の割り当てに適用 ✅

拒否割り当てのプロパティ

拒否割り当てには、以下のプロパティがあります。

プロパティ 必須 タイプ 説明
DenyAssignmentName イエス 糸 拒否割り当ての表示名。 名前は、指定のスコープで一意である必要があります。
Description いいえ 糸 拒否割り当ての説明。
Permissions.Actions 少なくとも 1 つの Actions または DataActions 文字列[] 拒否割り当てによってアクセスがブロックされるコントロール プレーン アクションを指定する文字列の配列。
Permissions.NotActions いいえ 文字列[] 拒否割り当てから除外されるコントロール プレーン アクションを指定する文字列の配列。
Permissions.DataActions 少なくとも 1 つの Actions または DataActions 文字列[] 拒否割り当てによってアクセスがブロックされるデータ プレーン アクションを指定する文字列の配列。
Permissions.NotDataActions いいえ 文字列[] 拒否割り当てから除外されるデータ プレーン アクションを指定する文字列の配列。
Scope いいえ 糸 拒否割り当てが適用されるスコープを指定する文字列。
DoNotApplyToChildScopes いいえ ブール値 拒否割り当てが子スコープに適用されるかどうかを指定します。 既定値は false です。
Principals[i].Id イエス 文字列[] 拒否割り当てが適用される Microsoft Entra プリンシパル オブジェクト ID (ユーザー、グループ、サービス プリンシパル、またはマネージド ID) の配列。 すべてのプリンシパルを表すには、空の GUID 00000000-0000-0000-0000-000000000000 に設定します。
Principals[i].Type いいえ 文字列[] Principals[i].Id によって表されるオブジェクトの種類の配列。すべてのプリンシパルを表すために SystemDefined に設定されます。
ExcludePrincipals[i].Id いいえ 文字列[] 拒否割り当てが適用されない Microsoft Entra プリンシパル オブジェクト ID (ユーザー、グループ、サービス プリンシパル、またはマネージド ID) の配列。
ExcludePrincipals[i].Type いいえ 文字列[] ExcludePrincipals[i].Id によって表されるオブジェクトの種類の配列。
IsSystemProtected いいえ ブール値 この拒否割り当てが Azure によって作成されたものかどうか、およびこの拒否割り当てを編集または削除できるかどうかを指定します。 現在、すべての拒否割り当てはシステムによって保護されています。

All Principals プリンシパル

拒否割り当てをサポートするために、All Principals (すべてのプリンシパル) という名前のシステム定義プリンシパルが導入されました。 このプリンシパルは、Microsoft Entra ディレクトリのすべてのユーザー、グループ、サービス プリンシパルおよびマネージド ID を表します。 プリンシパル ID がゼロ GUID 00000000-0000-0000-0000-000000000000 で、プリンシパルの種類が SystemDefined の場合、プリンシパルはすべてのプリンシパルを表します。 Azure PowerShell の出力では、All Principals は次のようになります。

Principals              : {
                          DisplayName:  All Principals
                          ObjectType:   SystemDefined
                          ObjectId:     00000000-0000-0000-0000-000000000000
                          }

All Principals は ExcludePrincipals と組み合わせて、一部のユーザー以外のすべてのプリンシパルを拒否することができます。 All Principals には次の制約があります。

  • Principals でのみ使用することができ、ExcludePrincipals では使用できません。
  • Principals[i].Type が SystemDefined に設定されていること。

拒否割り当てを一覧表示する

以下の手順に従って、拒否割り当てを一覧表示します。

重要

独自の拒否割り当てを直接作成することはできません。 拒否の割り当ては、Azure によって作成および管理されます。 詳細については、「管理対象リソースを削除から保護する」を参照してください。

前提条件

拒否割り当てに関する情報を取得するのに必要なものは次のとおりです:

  • ほとんどの Microsoft.Authorization/denyAssignments/readに含まれている、 アクセス許可。

Azure ポータルで拒否割り当てを一覧表示する

サブスクリプションまたは管理グループのスコープで拒否割り当てを一覧表示するには、次の手順に従います。

  1. Azure portal で、選択したスコープ (リソース グループやサブスクリプションなど) を開きます。

  2. [アクセス制御 (IAM)] を選択します。

  3. [拒否の割り当て] タブを選択します (または、[拒否の割り当ての表示] タイルで [表示] ボタンを選択します)。

    このスコープで拒否の割り当てがある場合、またはこのスコープに継承されている場合、そのリストが表示されます。

    選択されたスコープでの拒否の割り当てを一覧表示する [アクセスの制御 (IAM)] ページと [拒否の割り当て] タブのスクリーンショット。

  4. 追加の列を表示するために [列の編集] を選択します。

    拒否の割り当ての一覧に列を追加する方法を示す [拒否の割り当て列] ペインのスクリーンショット。

    列 説明
    名前 拒否割り当ての名前です。
    プリンシパルの種類 ユーザー、グループ、システム定義のグループ、またはサービス プリンシパルです。
    拒否 拒否割り当てに含まれているセキュリティ プリンシパルの名前です。
    身分証明書 拒否割り当ての一意の識別子です。
    除外されたプリンシパル 拒否割り当てから除外されているセキュリティ プリンシパルがあるかどうかです。
    子に適用しません (子には適用しない) サブスコープに拒否割り当てが継承されるかどうか。
    保護されているシステム Azure が拒否割り当てを管理しているかどうかです。 現時点では、常に [はい] です。
    スコープ 管理グループ、サブスクリプション、リソース グループ、またはリソースです。
  5. 有効になっている任意の項目のチェックマークをオンにし、[OK] を選択して、選択した列を表示します。

拒否割り当ての詳細を一覧表示する

拒否割り当ての詳細をさらに一覧表示するには、次の手順を実行します。

  1. 前のセクションの説明に従って、[拒否割り当て] ウィンドウを開きます。

  2. 拒否割り当ての名前を選択して、[ユーザー] ページを開きます。

    適用対象と除外対象を一覧表示する拒否の割り当ての [ユーザー] ページのスクリーンショット。

    [ユーザー] ページには、次の 2 つのセクションがあります。

    設定を拒否 説明
    拒否割り当てが適用される項目 拒否割り当ての適用対象のセキュリティ プリンシパルです。
    拒否割り当ては除外します 拒否割り当てから除外対象のセキュリティ プリンシパルです。

    システム定義のプリンシパルは、Azure AD ディレクトリのすべてのユーザー、グループ、サービス プリンシパルおよびマネージド ID を表します。

  3. 拒否されたアクセス許可の一覧を表示するには、[拒否されたアクセス許可] を選択します。

    拒否されたアクセス許可を一覧表示する拒否の割り当ての [拒否されたアクセス許可] ページのスクリーンショット。

    アクションの種類 説明
    アクション 拒否されたコントロール プレーン アクション。
    NotActions 拒否されたコントロール プレーン アクションから除外されたコントロール プレーン アクション。
    データアクション 拒否されたデータプレーンアクション。
    NotDataアクション 拒否されたデータ プレーン アクションから除外されたデータ プレーン アクション。

    前のスクリーンショットの例で有効なアクセス許可は、次のとおりです。

    • データ プレーン上のストレージ アクションは、コンピューティング アクションを除き、すべて拒否されます。
  4. 拒否の割り当てのプロパティを表示するには、[プロパティ] を選択します。

    拒否アサインメントのプロパティ一覧を示す[プロパティ] ページのスクリーンショット。

    [プロパティ] ページには、拒否の割り当ての名前、ID、説明およびスコープが表示されます。 [Does not apply to children]\(子には適用しない\) スイッチは、拒否割り当てがサブスコープに継承されるかどうかを示します。 [保護されているシステム] スイッチは、Azure によって拒否割り当てが管理されるかどうかを示します。 現在、これはすべてのケースにおいて [はい] です。

次のステップ