mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-31 15:05:44 -08:00
Translated ['src/pentesting-cloud/azure-security/az-basic-information/RE
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
- 各管理グループとサブスクリプションは**1つの親**のみをサポートできます。
|
||||
- 複数の管理グループを作成できる場合でも、**ルート管理グループは1つだけ**です。
|
||||
- ルート管理グループは**すべての他の管理グループとサブスクリプションを含み**、**移動または削除することはできません**。
|
||||
- 単一の管理グループ内のすべてのサブスクリプションは**同じEntra IDテナントを信頼**しなければなりません。
|
||||
- 単一の管理グループ内のすべてのサブスクリプションは、**同じEntra IDテナントを信頼**しなければなりません。
|
||||
|
||||
<figure><img src="../../../images/image (147).png" alt=""><figcaption><p><a href="https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png">https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png</a></p></figcaption></figure>
|
||||
|
||||
@@ -65,14 +65,14 @@ Entraドメインサービスは、従来のWindows Active Directory環境と互
|
||||
### ユーザー
|
||||
|
||||
- **新しいユーザー**
|
||||
- 選択したテナントからのメール名とドメインを指定
|
||||
- 表示名を指定
|
||||
- パスワードを指定
|
||||
- プロパティ(名、職名、連絡先情報など)を指定
|
||||
- 選択したテナントからのメール名とドメインを示す
|
||||
- 表示名を示す
|
||||
- パスワードを示す
|
||||
- プロパティ(名、職名、連絡先情報など)を示す
|
||||
- デフォルトのユーザータイプは「**メンバー**」
|
||||
- **外部ユーザー**
|
||||
- 招待するメールと表示名を指定(Microsoft以外のメールも可)
|
||||
- プロパティを指定
|
||||
- 招待するメールと表示名を示す(Microsoft以外のメールも可)
|
||||
- プロパティを示す
|
||||
- デフォルトのユーザータイプは「**ゲスト**」
|
||||
|
||||
### メンバーとゲストのデフォルト権限
|
||||
@@ -105,9 +105,9 @@ Entraドメインサービスは、従来のWindows Active Directory環境と互
|
||||
- **ゲスト**
|
||||
- **ゲストユーザーアクセス制限**オプション:
|
||||
- **ゲストユーザーはメンバーと同じアクセス権を持ちます**。
|
||||
- **ゲストユーザーはディレクトリオブジェクトのプロパティとメンバーシップへのアクセスが制限されています(デフォルト)**。これにより、デフォルトで他のユーザーやグループ情報へのアクセスが許可されなくなります。
|
||||
- **ゲストユーザーアクセスは、自分のディレクトリオブジェクトのプロパティとメンバーシップに制限されています**が最も制限的です。
|
||||
- **ゲストを招待する**オプション:
|
||||
- **ゲストユーザーはディレクトリオブジェクトのプロパティとメンバーシップへのアクセスが制限されています(デフォルト)**。これにより、デフォルトでゲストは自分のユーザープロファイルのみへのアクセスが許可されます。他のユーザーやグループ情報へのアクセスは許可されません。
|
||||
- **ゲストユーザーアクセスは、自分のディレクトリオブジェクトのプロパティとメンバーシップに制限されています**が、最も制限が厳しいです。
|
||||
- **ゲストを招待できる**オプション:
|
||||
- **組織内の誰でもゲストユーザーを招待できます(最も包括的) - デフォルト**
|
||||
- **メンバーユーザーおよび特定の管理ロールに割り当てられたユーザーは、メンバー権限を持つゲストを含むゲストユーザーを招待できます**
|
||||
- **特定の管理ロールに割り当てられたユーザーのみがゲストユーザーを招待できます**
|
||||
@@ -116,7 +116,7 @@ Entraドメインサービスは、従来のWindows Active Directory環境と互
|
||||
- 外部ユーザーが組織を離れることを許可
|
||||
|
||||
> [!TIP]
|
||||
> デフォルトで制限されていても、権限が付与されたユーザー(メンバーおよびゲスト)は前述のアクションを実行できます。
|
||||
> デフォルトで制限されていても、権限が付与されたユーザー(メンバーおよびゲスト)は、前述のアクションを実行できます。
|
||||
|
||||
### **グループ**
|
||||
|
||||
@@ -133,7 +133,7 @@ Entraドメインサービスは、従来のWindows Active Directory環境と互
|
||||
|
||||
### **サービスプリンシパル**
|
||||
|
||||
**サービスプリンシパル**は、**アプリケーション**、ホスティングサービス、および自動化ツールがAzureリソースにアクセスするために作成された**アイデンティティ**です。このアクセスは、サービスプリンシパルに割り当てられたロールによって**制限され**、**どのリソースにアクセスできるか**を制御します。セキュリティ上の理由から、**ユーザーアイデンティティでログインするのではなく、自動化ツールとともにサービスプリンシパルを使用することを常に推奨します**。
|
||||
**サービスプリンシパル**は、**アプリケーション**、ホスティングサービス、および自動化ツールがAzureリソースにアクセスするために**使用**するために作成された**アイデンティティ**です。このアクセスは、サービスプリンシパルに割り当てられたロールによって**制限され**、**どのリソースにアクセスできるか**とそのレベルを制御します。セキュリティ上の理由から、**ユーザーアイデンティティでログインするのではなく、自動化ツールとともにサービスプリンシパルを使用することを常に推奨します**。
|
||||
|
||||
サービスプリンシパルとして**直接ログインする**ことも可能で、**シークレット**(パスワード)、**証明書**、または第三者プラットフォーム(例: Github Actions)への**フェデレーテッド**アクセスを付与することができます。
|
||||
|
||||
@@ -148,11 +148,11 @@ Entraドメインサービスは、従来のWindows Active Directory環境と互
|
||||
|
||||
1. **アプリケーションID(クライアントID)**: Azure AD内のアプリの一意の識別子。
|
||||
2. **リダイレクトURI**: Azure ADが認証応答を送信するURL。
|
||||
3. **証明書、シークレット、フェデレーテッド資格情報**: アプリケーションのサービスプリンシパルとしてログインするためにシークレットまたは証明書を生成することができ、またはそれにフェデレーテッドアクセスを付与することができます(例: Github Actions)。
|
||||
1. **証明書**または**シークレット**が生成された場合、**アプリケーションID**、**シークレット**または**証明書**、および**テナント**(ドメインまたはID)を知っていることで、CLIツールを使用して**サービスプリンシパルとしてログイン**できます。
|
||||
3. **証明書、シークレット、およびフェデレーテッド資格情報**: アプリケーションのサービスプリンシパルとしてログインするためにシークレットまたは証明書を生成することが可能で、またそれにフェデレーテッドアクセスを付与することもできます(例: Github Actions)。
|
||||
1. **証明書**または**シークレット**が生成された場合、**アプリケーションID**、**シークレット**または**証明書**、および**テナント**(ドメインまたはID)を知っていることで、CLIツールを使用して**サービスプリンシパルとしてログイン**することが可能です。
|
||||
4. **API権限**: アプリがアクセスできるリソースまたはAPIを指定します。
|
||||
5. **認証設定**: アプリのサポートされている認証フローを定義します(例: OAuth2、OpenID Connect)。
|
||||
6. **サービスプリンシパル**: アプリが作成されるとサービスプリンシパルが作成されます(ウェブコンソールから行われた場合)または新しいテナントにインストールされたとき。
|
||||
6. **サービスプリンシパル**: アプリが作成されると(ウェブコンソールから行われた場合)、サービスプリンシパルが作成されます。
|
||||
1. **サービスプリンシパル**は、要求されたすべての権限を取得します。
|
||||
|
||||
### デフォルト同意権限
|
||||
@@ -161,21 +161,21 @@ Entraドメインサービスは、従来のWindows Active Directory環境と互
|
||||
|
||||
- **ユーザー同意を許可しない**
|
||||
- すべてのアプリに対して管理者が必要です。
|
||||
- **確認された発行者からのアプリに対するユーザー同意を許可し、選択された権限(推奨)**
|
||||
- すべてのユーザーは、「低影響」と分類された権限に同意でき、確認された発行者からのアプリまたはこの組織に登録されたアプリに対して同意できます。
|
||||
- **デフォルト**の低影響権限(ただし、低影響として追加するには同意が必要):
|
||||
- **確認されたパブリッシャーからのアプリに対して、選択された権限のユーザー同意を許可する(推奨)**
|
||||
- すべてのユーザーは、「低影響」と分類された権限に対して同意でき、確認されたパブリッシャーからのアプリまたはこの組織に登録されたアプリに対して同意できます。
|
||||
- **デフォルトの**低影響権限(ただし、低影響として追加するには同意が必要):
|
||||
- User.Read - サインインしてユーザープロファイルを読み取る
|
||||
- offline_access - ユーザーがアクセスを許可したデータへのアクセスを維持
|
||||
- offline_access - ユーザーがアクセスを許可したデータへのアクセスを維持する
|
||||
- openid - ユーザーをサインインさせる
|
||||
- profile - ユーザーの基本プロファイルを表示
|
||||
- email - ユーザーのメールアドレスを表示
|
||||
- profile - ユーザーの基本プロファイルを表示する
|
||||
- email - ユーザーのメールアドレスを表示する
|
||||
- **アプリに対するユーザー同意を許可する(デフォルト)**
|
||||
- すべてのユーザーは、組織のデータにアクセスするために任意のアプリに同意できます。
|
||||
|
||||
**管理者同意リクエスト**: デフォルトは**いいえ**
|
||||
**管理者同意要求**: デフォルトは**いいえ**
|
||||
|
||||
- ユーザーは、同意できないアプリに対して管理者同意をリクエストできます。
|
||||
- **はい**の場合: 同意リクエストを行うことができるユーザー、グループ、ロールを指定できます。
|
||||
- ユーザーは、同意できないアプリに対して管理者同意を要求できます。
|
||||
- **はい**の場合: 同意要求を行うことができるユーザー、グループ、ロールを指定できます。
|
||||
- ユーザーがメール通知や期限切れリマインダーを受け取るかどうかも設定できます。
|
||||
|
||||
### **マネージドアイデンティティ(メタデータ)**
|
||||
@@ -184,8 +184,8 @@ Azure Active Directoryのマネージドアイデンティティは、アプリ
|
||||
|
||||
マネージドアイデンティティには2種類あります。
|
||||
|
||||
- **システム割り当て**。一部のAzureサービスでは、**サービスインスタンスに直接マネージドアイデンティティを有効にする**ことができます。システム割り当てマネージドアイデンティティを有効にすると、リソースが存在するサブスクリプションによって信頼されるEntra IDテナントに**サービスプリンシパル**が作成されます。**リソース**が**削除されると**、Azureは自動的に**アイデンティティ**を削除します。
|
||||
- **ユーザー割り当て**。ユーザーがマネージドアイデンティティを生成することも可能です。これらは、サブスクリプション内のリソースグループ内に作成され、サブスクリプションによって信頼されるEntraIDにサービスプリンシパルが作成されます。その後、マネージドアイデンティティを1つまたは**複数のAzureサービスのインスタンス**に割り当てることができます(複数のリソース)。ユーザー割り当てマネージドアイデンティティの場合、**アイデンティティはそれを使用するリソースとは別に管理されます**。
|
||||
- **システム割り当て**。一部のAzureサービスでは、**サービスインスタンスに直接マネージドアイデンティティを有効にする**ことができます。システム割り当てマネージドアイデンティティを有効にすると、リソースが存在するサブスクリプションによって信頼されるEntra IDテナントに**サービスプリンシパル**が作成されます。**リソース**が**削除される**と、Azureは自動的に**アイデンティティ**を削除します。
|
||||
- **ユーザー割り当て**。ユーザーがマネージドアイデンティティを生成することも可能です。これらは、サブスクリプション内のリソースグループ内に作成され、サブスクリプションによって信頼されるEntraIDにサービスプリンシパルが作成されます。その後、マネージドアイデンティティを1つまたは**複数のAzureサービスのインスタンス**(複数のリソース)に割り当てることができます。ユーザー割り当てマネージドアイデンティティの場合、**アイデンティティはそれを使用するリソースとは別に管理されます**。
|
||||
|
||||
マネージドアイデンティティは、サービスプリンシパルに付随する**永続的な資格情報**(パスワードや証明書など)を生成しません。
|
||||
|
||||
@@ -193,21 +193,21 @@ Azure Active Directoryのマネージドアイデンティティは、アプリ
|
||||
|
||||
これは、サービスプリンシパルをフィルタリングし、割り当てられたアプリケーションを確認するための**Azure内のテーブル**です。
|
||||
|
||||
**「エンタープライズアプリケーション」という別のタイプの「アプリケーション」ではありません。** Azure内に「エンタープライズアプリケーション」というオブジェクトは存在せず、サービスプリンシパル、アプリ登録、マネージドアイデンティティを確認するための抽象化に過ぎません。
|
||||
**「エンタープライズアプリケーション」という別のタイプの「アプリケーション」ではありません**。Azure内に「エンタープライズアプリケーション」というオブジェクトは存在せず、サービスプリンシパル、アプリ登録、マネージドアイデンティティを確認するための抽象化に過ぎません。
|
||||
|
||||
### 管理単位
|
||||
### 管理ユニット
|
||||
|
||||
管理単位は、**組織の特定の部分に対してロールから権限を付与する**ことを可能にします。
|
||||
管理ユニットは、**組織の特定の部分に対してロールから権限を付与する**ことを可能にします。
|
||||
|
||||
例:
|
||||
|
||||
- シナリオ: 会社が地域のIT管理者に自分の地域のユーザーのみを管理させたい。
|
||||
- 実装:
|
||||
- 各地域のために管理単位を作成します(例: "北米AU"、"ヨーロッパAU")。
|
||||
- 各地域のために管理ユニットを作成します(例: "北米AU"、"ヨーロッパAU")。
|
||||
- 各地域のユーザーでAUを構成します。
|
||||
- AUは**ユーザー、グループ、またはデバイスを含むことができます**
|
||||
- AUは**動的メンバーシップをサポートします**
|
||||
- AUは**AUを含むことができません**
|
||||
- AUは**ユーザー、グループ、またはデバイスを含むことができます**。
|
||||
- AUは**動的メンバーシップをサポート**します。
|
||||
- AUは**AUを含むことができません**。
|
||||
- 管理ロールを割り当てます:
|
||||
- 地域のITスタッフに「ユーザー管理者」ロールを付与し、その地域のAUにスコープを設定します。
|
||||
- 結果: 地域のIT管理者は、他の地域に影響を与えることなく、自分の地域内のユーザーアカウントを管理できます。
|
||||
@@ -237,13 +237,13 @@ Azure Active Directoryのマネージドアイデンティティは、アプリ
|
||||
|
||||
### 組み込みロール
|
||||
|
||||
[ドキュメントから: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azureロールベースアクセス制御(Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview)には、**ユーザー、グループ、サービスプリンシパル、マネージドアイデンティティ**に割り当てることができるいくつかのAzureの**組み込みロール**があります。ロールの割り当ては、**Azureリソースへのアクセスを制御する方法**です。組み込みロールが組織の特定のニーズを満たさない場合は、独自の[**Azureカスタムロール**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**を作成できます。**
|
||||
[ドキュメントから: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azureロールベースアクセス制御(Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview)には、**ユーザー、グループ、サービスプリンシパル、およびマネージドアイデンティティ**に**割り当てることができる**いくつかのAzureの**組み込みロール**があります。ロールの割り当ては、**Azureリソースへのアクセスを制御する方法**です。組み込みロールが組織の特定のニーズを満たさない場合は、独自の[**Azureカスタムロール**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**を作成できます。**
|
||||
|
||||
**組み込み**ロールは、**意図されたリソース**にのみ適用されます。たとえば、以下の2つの**組み込みロール**の例を確認してください。
|
||||
**組み込み**ロールは、**意図されたリソース**にのみ適用されます。たとえば、次の2つの**組み込みロール**の例を確認してください。
|
||||
|
||||
| [ディスクバックアップリーダー](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | ディスクバックアップを実行するためのバックアップボールトへの権限を提供します。 | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ |
|
||||
| [仮想マシンユーザーログイン](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | ポータル内の仮想マシンを表示し、通常のユーザーとしてログインします。 | fb879df8-f326-4884-b1cf-06f3ad86be52 |
|
||||
| [仮想マシンユーザーログイン](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | ポータルで仮想マシンを表示し、通常のユーザーとしてログインします。 | fb879df8-f326-4884-b1cf-06f3ad86be52 |
|
||||
|
||||
これらのロールは、**論理コンテナ**(管理グループ、サブスクリプション、リソースグループなど)にも割り当てることができ、影響を受けるプリンシパルは**それらのコンテナ内のリソースに対して**持ちます。
|
||||
|
||||
@@ -261,7 +261,7 @@ Azure Active Directoryのマネージドアイデンティティは、アプリ
|
||||
- 使用される形式はJSONです。
|
||||
- `actions`は、リソースの作成、更新、削除などの管理操作に対する権限を指します。
|
||||
- `dataActions`は、リソース内のデータ操作に対する権限であり、リソースに含まれる実際のデータを読み取ったり、書き込んだり、削除したりすることを許可します。
|
||||
- `notActions`および`notDataActions`は、ロールから特定の権限を除外するために使用されます。ただし、**それらを拒否するわけではありません**。別のロールがそれらを付与すれば、プリンシパルはそれらを持ちます。
|
||||
- `notActions`および`notDataActions`は、ロールから特定の権限を除外するために使用されます。ただし、**それらを拒否するわけではなく**、異なるロールがそれらを付与する場合、プリンシパルはそれらを持ちます。
|
||||
- `assignableScopes`は、ロールを割り当てることができるスコープの配列です(管理グループ、サブスクリプション、リソースグループなど)。
|
||||
|
||||
カスタムロールの権限JSONの例:
|
||||
@@ -296,62 +296,55 @@ Azure Active Directoryのマネージドアイデンティティは、アプリ
|
||||
```
|
||||
### Permissions order
|
||||
|
||||
- **リソースに対するアクセス権を持つためには**、明示的な役割が付与される必要があります(いずれにせよ)**その権限を付与します**。
|
||||
- リソースに対して**principalがアクセスを持つためには**、明示的な役割が付与される必要があります(いかなる方法でも)**その権限を付与します**。
|
||||
- 明示的な**拒否の割り当ては**、権限を付与する役割よりも優先されます。
|
||||
|
||||
<figure><img src="../../../images/image (191).png" alt=""><figcaption><p><a href="https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10">https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10</a></p></figcaption></figure>
|
||||
|
||||
### Global Administrator
|
||||
|
||||
Global Administratorは、**Entra IDテナントに対する完全な制御を付与する**Entra IDの役割です。しかし、デフォルトではAzureリソースに対する権限は付与されません。
|
||||
Global Administratorは、**Entra IDテナントに対する完全な制御を付与する**Entra IDの役割です。ただし、デフォルトではAzureリソースに対する権限は付与されません。
|
||||
|
||||
Global Administratorの役割を持つユーザーは、**Root Management Group内でUser Access Administrator Azure役割に「昇格」する能力を持っています**。したがって、Global Administratorsは**すべてのAzureサブスクリプションと管理グループのアクセスを管理できます。**\
|
||||
Global Administratorの役割を持つユーザーは、**Root Management Group内でUser Access Administrator Azure役割に「昇格」する能力を持っています**。したがって、Global Administratorsは**すべてのAzureサブスクリプションおよび管理グループのアクセスを管理できます。**\
|
||||
この昇格はページの下部で行うことができます: [https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties)
|
||||
|
||||
<figure><img src="../../../images/image (349).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### Assignments Conditions & MFA
|
||||
|
||||
役割が**主に割り当てられる条件を設定することが可能です**。一般的な条件として、特定の役割の権限にアクセスするためにMFAを要求することがあります:
|
||||
```bash
|
||||
az role assignment create \
|
||||
--assignee <user-or-service-principal-id> \
|
||||
--role <custom-role-id-or-name> \
|
||||
--scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f" \
|
||||
--condition "PrincipalClaims['amr'] contains 'mfa'" \
|
||||
--condition-version 2.0
|
||||
```
|
||||
### 拒否割り当て
|
||||
**[ドキュメント](https://learn.microsoft.com/en-us/azure/role-based-access-control/conditions-role-assignments-portal)**によると: 現在、条件は**blobストレージデータアクションまたはキューストレージデータアクション**を持つ組み込みまたはカスタム役割の割り当てに追加できます。
|
||||
|
||||
役割の割り当てと同様に、**拒否割り当て**は**Azureリソースへのアクセスを制御する**ために使用されます。しかし、**拒否割り当て**はリソースへのアクセスを**明示的に拒否する**ために使用され、ユーザーが役割の割り当てを通じてアクセスを付与されている場合でも適用されます。**拒否割り当て**は**役割の割り当て**よりも優先されるため、ユーザーが役割の割り当てを通じてアクセスを付与されていても、拒否割り当てによって明示的にアクセスが拒否されている場合、拒否割り当てが優先されます。
|
||||
### Deny Assignments
|
||||
|
||||
役割の割り当てと同様に、**拒否割り当て**は影響を受けるプリンシパルと拒否される権限を示すスコープに適用されます。さらに、拒否割り当ての場合、子リソースによる拒否の継承を**防ぐことが可能**です。
|
||||
役割の割り当てと同様に、**deny assignments**は**Azureリソースへのアクセスを制御するために使用されます**。ただし、**deny assignments**は、ユーザーが役割の割り当てを通じてアクセスを付与されている場合でも、リソースへのアクセスを**明示的に拒否するために使用されます**。**Deny assignments**は**役割の割り当てよりも優先され**、ユーザーが役割の割り当てを通じてアクセスを付与されている場合でも、拒否の割り当てが優先されます。
|
||||
|
||||
### Azureポリシー
|
||||
役割の割り当てと同様に、**deny assignments**は、影響を受けるprincipalと拒否される権限を示すスコープに適用されます。さらに、deny assignmentsの場合、子リソースによる拒否の継承を**防ぐことが可能です**。
|
||||
|
||||
**Azureポリシー**は、組織がリソースが特定の基準とコンプライアンス要件を満たすことを保証するためのルールです。これにより、**Azureのリソースに対して設定を強制または監査**することができます。たとえば、許可されていない地域での仮想マシンの作成を防止したり、すべてのリソースに追跡用の特定のタグが付けられていることを確認したりできます。
|
||||
### Azure Policies
|
||||
|
||||
Azureポリシーは**プロアクティブ**です:非準拠のリソースが作成または変更されるのを防ぐことができます。また、**リアクティブ**でもあり、既存の非準拠リソースを見つけて修正することができます。
|
||||
**Azure Policies**は、組織がリソースが特定の基準およびコンプライアンス要件を満たすことを保証するためのルールです。これにより、Azure内のリソースに対して**設定を強制または監査する**ことができます。たとえば、許可されていない地域での仮想マシンの作成を防止したり、すべてのリソースに特定のタグを付けて追跡を確実にすることができます。
|
||||
|
||||
#### **主要概念**
|
||||
Azure Policiesは**プロアクティブ**です: 非準拠のリソースが作成または変更されるのを防ぐことができます。また、**リアクティブ**でもあり、既存の非準拠のリソースを見つけて修正することができます。
|
||||
|
||||
1. **ポリシー定義**: 許可または要求されることを指定するJSONで書かれたルール。
|
||||
2. **ポリシー割り当て**: 特定のスコープ(例:サブスクリプション、リソースグループ)にポリシーを適用すること。
|
||||
3. **イニシアティブ**: より広範な強制のためにグループ化されたポリシーのコレクション。
|
||||
4. **効果**: ポリシーがトリガーされたときに何が起こるかを指定します(例:"拒否"、"監査"、または"追加")。
|
||||
#### **Key Concepts**
|
||||
|
||||
1. **Policy Definition**: 許可または要求されることを指定するJSONで書かれたルール。
|
||||
2. **Policy Assignment**: 特定のスコープ(例: サブスクリプション、リソースグループ)にポリシーを適用すること。
|
||||
3. **Initiatives**: より広範な強制のためにグループ化されたポリシーのコレクション。
|
||||
4. **Effect**: ポリシーがトリガーされたときに何が起こるかを指定します(例: "Deny"、"Audit"、または "Append")。
|
||||
|
||||
**いくつかの例:**
|
||||
|
||||
1. **特定のAzureリージョンでのコンプライアンスの確保**: このポリシーは、すべてのリソースが特定のAzureリージョンにデプロイされることを保証します。たとえば、企業はGDPRコンプライアンスのためにすべてのデータがヨーロッパに保存されることを望むかもしれません。
|
||||
1. **特定のAzure地域でのコンプライアンスの確保**: このポリシーは、すべてのリソースが特定のAzure地域にデプロイされることを保証します。たとえば、企業はGDPRコンプライアンスのためにすべてのデータがヨーロッパに保存されることを望むかもしれません。
|
||||
2. **命名基準の強制**: ポリシーはAzureリソースの命名規則を強制できます。これにより、大規模な環境でリソースを整理し、名前に基づいて簡単に識別するのに役立ちます。
|
||||
3. **特定のリソースタイプの制限**: このポリシーは特定のタイプのリソースの作成を制限できます。たとえば、コストを制御するために特定のVMサイズのような高価なリソースタイプの作成を防ぐポリシーを設定できます。
|
||||
4. **タグ付けポリシーの強制**: タグは、リソース管理に使用されるAzureリソースに関連付けられたキーと値のペアです。ポリシーは、特定のタグが存在するか、すべてのリソースに特定の値を持つ必要があることを強制できます。これは、コスト追跡、所有権、またはリソースの分類に役立ちます。
|
||||
5. **リソースへの公共アクセスの制限**: ポリシーは、ストレージアカウントやデータベースのような特定のリソースに公共エンドポイントがないことを強制し、組織のネットワーク内でのみアクセス可能であることを保証できます。
|
||||
6. **セキュリティ設定の自動適用**: ポリシーは、すべてのVMに特定のネットワークセキュリティグループを適用したり、すべてのストレージアカウントが暗号化を使用することを保証したりするなど、リソースにセキュリティ設定を自動的に適用するために使用できます。
|
||||
3. **特定のリソースタイプの制限**: このポリシーは、特定のタイプのリソースの作成を制限できます。たとえば、コストを制御するために、特定のVMサイズのような高価なリソースタイプの作成を防ぐポリシーを設定できます。
|
||||
4. **タグ付けポリシーの強制**: タグは、リソース管理に使用されるAzureリソースに関連付けられたキーと値のペアです。ポリシーは、すべてのリソースに特定のタグが存在するか、特定の値を持つことを強制できます。これは、コスト追跡、所有権、またはリソースの分類に役立ちます。
|
||||
5. **リソースへの公共アクセスの制限**: ポリシーは、ストレージアカウントやデータベースのような特定のリソースが公共エンドポイントを持たないことを強制し、組織のネットワーク内でのみアクセスできるようにします。
|
||||
6. **セキュリティ設定の自動適用**: ポリシーは、すべてのVMに特定のネットワークセキュリティグループを適用したり、すべてのストレージアカウントが暗号化を使用することを保証するなど、リソースにセキュリティ設定を自動的に適用するために使用できます。
|
||||
|
||||
AzureポリシーはAzure階層の任意のレベルに添付できますが、**通常はルート管理グループ**または他の管理グループで使用されます。
|
||||
Azure PoliciesはAzure階層の任意のレベルに添付できますが、**一般的にはルート管理グループ**または他の管理グループで使用されます。
|
||||
|
||||
Azureポリシーのjson例:
|
||||
Azure policy json example:
|
||||
```json
|
||||
{
|
||||
"policyRule": {
|
||||
@@ -379,11 +372,11 @@ Azure **権限は階層の任意の部分に割り当てることができます
|
||||
|
||||
### Azure RBAC と ABAC
|
||||
|
||||
**RBAC**(ロールベースのアクセス制御)は、前のセクションで見たものです:**リソースへのアクセスを付与するために、プリンシパルにロールを割り当てる**ことです。\
|
||||
**RBAC**(ロールベースのアクセス制御)は、前のセクションで見たものです:**リソースへのアクセスを付与するために、プリンシパルにロールを割り当てる**こと。\
|
||||
しかし、場合によっては、**より細かいアクセス管理**を提供したり、**数百の**ロール**割り当て**の管理を**簡素化**したいことがあります。
|
||||
|
||||
Azure **ABAC**(属性ベースのアクセス制御)は、特定のアクションの文脈における**属性に基づくロール割り当て条件**を追加することでAzure RBACを拡張します。_ロール割り当て条件_は、**より細かいアクセス制御を提供するためにロール割り当てにオプションで追加できる追加のチェック**です。条件は、ロール定義およびロール割り当ての一部として付与される権限を絞り込みます。たとえば、**オブジェクトを読み取るために特定のタグを持つ必要がある条件を追加できます**。\
|
||||
特定のリソースへの**アクセスを明示的に拒否する**ことは**条件を使用してはできません**。
|
||||
Azure **ABAC**(属性ベースのアクセス制御)は、特定のアクションの文脈における**属性に基づくロール割り当て条件**を追加することでAzure RBACを拡張します。_ロール割り当て条件_は、**より細かいアクセス制御を提供するためにオプションでロール割り当てに追加できる追加のチェック**です。条件は、ロール定義およびロール割り当ての一部として付与される権限を絞り込みます。たとえば、**オブジェクトを読み取るために特定のタグを持つ必要がある条件を追加できます**。\
|
||||
特定のリソースへの**アクセスを明示的に拒否することはできません**が、**条件を使用して**。
|
||||
|
||||
## 参考文献
|
||||
|
||||
|
||||
Reference in New Issue
Block a user