Azure Policy を使用する場合
説明したように、Azure Policy は、ポリシー定義の作成、割り当て、管理に使用するサービスです。 一般に、ポリシーは、"コンプライアンス"、"制御"、または "スケーリング" のニーズに対応します。
これらのポリシー定義は、リソースの整合性、規制コンプライアンス、セキュリティ、コスト、管理のためのガバナンスを実装するために使用されます。 作成されるリソースの構成要件を指定し、次のいずれかのアクションを実行できます。
- コンプライアンスに準拠していないリソースを特定する。
- リソースの作成をブロックする。
- 必要な構成を追加する。
Azure Policy を使用できるシナリオの例を次に示します。
コスト管理
- 作成できる仮想マシンの SKU を制限します。
- リソースのコストがより高い Azure リージョンの使用を避けます。
- コストが増えるおそれがある Azure Marketplace からのソリューションの使用を制限します。
Security
- Azure MySQL データベースへの Secure Sockets Layer (SSL) 接続を強制します。
- Linux マシンでの認証に SSH キーが必要になるようにします。
- Windows マシンが Windows ファイアウォール プロパティの要件を確実に満たすようにします。
Monitoring
- アクティビティ ログを 1 年以上保持する必要があります。
- 一覧に含まれる仮想マシン イメージに対して Log Analytics エージェントを有効にする必要があります。
- 特定のセキュリティ操作のアクティビティ ログ アラートが存在する必要があります。
Backup
- すべての仮想マシンで Azure Backup を確実に有効にします。
- geo 冗長バックアップを Azure Database for MySQL または PostgreSQL で確実に有効にします。
- Azure SQL Database 上で長期間の geo 冗長バックアップを確実に有効にします。
ガバナンス
- リソースに対する適切なタグの使用とタグの適用が確実に行われるようにします。
- 再起動が保留されている仮想マシンを監査します。
- 組織のコンプライアンス要件を管理します。 TLS/SSL 証明書の有効期間アクションを、有効期間の特定の割合でトリガーするか、有効期限の設定した日数前にトリガーするかを指定します。
大規模なアクション
- 使用しているすべての仮想マシンに Azure Monitor エージェントをデプロイします。
- 仮想マシンに対して Azure Backup を有効にします。
- すべての Azure SQL Database インスタンスに対して監査が確実に有効になるようにします。
- ストレージ アカウントに対してセキュリティで保護された接続 (HTTPS) が確実に行われるようにします。
- 仮想マシンでインターネットからのリモート デスクトップまたは SSH のインバウンド接続を阻止します。
Azure Policy 実装に関する考慮事項
Azure Policy の実装を成功させるための 4 つの重要な考慮事項をこちらに示します。
- 評価
- テスト
- 配置
- チェック
この評価で、環境の状態に関する概要を把握できます。 次に、アクションを実行するためにポリシーを使用して環境内で変更を行う前に、環境を監査するためだけのポリシーを割り当てます。 この機能を利用するには、メニューの [概要] オプションを使用します。
環境内で変更を行うポリシーを作成する前に、必ずすべてをテストしてください。
ポリシー構文、実行されているアクション、使用しているスコープ (管理グループ、サブスクリプション、リソース グループ) を検証します。 ポリシーの包含、除外、適用除外をすべて検証します。
最初のデプロイでは、制御された環境または専用サブスクリプションに対してポリシーを実行していることを確認してください。 Azure Policy の割り当ては、すぐには有効になりません。 ポリシー評価には 30 分ほど遅延があります。 また、リソースの監査は多少時間がかかる場合があります。割り当てられたスコープ内のポリシー規則に照らしてすべてのリソースを Azure Policy エンジンで評価する必要があるためです。
最後に、[コンプライアンス] を使って、ポリシー割り当ての結果を調べます。