ポリシーを使用した Azure ガバナンス

アクションを使用した Azure 仮想マシン管理の自動化

アクションを使用すると、環境内の変化にすばやく対応できます。たとえば、1 か月 $200 以上のコストを費やしている Azure 仮想マシンを停止して割り当て解除するアクションを構成できます。ここでは、ポリシーによって仮想マシンが追跡され、1 か月あたり $200 以上のコスト増加が特定されます。ポリシーに関連付けられたアクションは、ポリシーによって特定される仮想マシンの停止や割り当て解除などの修正措置を実施します。

アクションを有効にするメリット

アクションは、次のような点で役立ちます。

  • 権限やセキュリティを損なうことなく、手間のかかるミスの発生しやすいタスクを自動化する。
  • クラウドの管理と運用にかかる時間と労力を軽減する。
  • 環境全体でポリシー ベースのガバナンスを確立する。
  • 承認者を設定した後、人的介入なしにアクションを作成して実行する。

VMware Aria Cost プラットフォームでの Azure アクションのサポート

アクションは、自身で、またはポリシーと組み合わせて動作できます。後者の場合、ポリシーは運用上の基準から逸脱した内容を特定し、アクションはそれらの逸脱の内容に応じて修正措置を実施するのに役立ちます。VMware Aria Cost プラットフォームの次の部分から Azure インフラストラクチャを管理するアクションを有効にできます。

  • 仮想マシンの適正サイジング レポート
  • 仮想マシンの資産レポート
  • 標準ポリシーとの組み合わせ

Azure インフラストラクチャでサポートされるアクション

Azure 仮想マシン (VM) を管理するための次のアクションを 1 つ以上構成します。

  • 仮想マシンの起動
  • 仮想マシンの停止と割り当て解除
    • 従来の仮想マシンを使用している場合、このアクションでは仮想マシンの割り当て解除を行わずに、仮想マシンを停止するのみとなります。そのため、仮想マシンでは、Azure ポータルを使用して割り当て解除が行われるまで、引き続き料金が発生します。
  • 仮想マシンの再起動
  • 仮想マシンのサイズ変更

Azure アクションを有効にする方法

VMware Aria Cost プラットフォームで Azure アクションを使用するには、各 Azure サービス プリンシパルにカスタム ロールを関連付けます。VMware Aria Cost は、ユーザーに代わってアクションを実行する際に、このロールを想定します。

VMware Aria Cost は、サービス プリンシパル レベルでアクションを有効にします。アクションは、各サービス プリンシパルに関連付けられているカスタム ロールを使用して実行されます。Azure PowerShell を使用して、各サービス プリンシパルにカスタム ロールを関連付けます。

カスタム ロールを関連付けるサービス プリンシパルごとに管理者権限があることを確認します。

  1. VMware Aria Cost プラットフォームにログインします。左側のメニューから セットアップ > ガバナンス > アクション の順に選択します。
  2. このページの最初のセクションのタイトルは、Azure サービス プリンシパルの設定 になっています。VMware Aria Cost プラットフォームで構成された各サービス プリンシパルが一覧表示されます。
  3. Azure アクションを有効にするサービス プリンシパルの横にある [有効化] ボタンをクリックします。そのサービス プリンシパル向けにカスタマイズされた PowerShell スクリプトが表示されます。デフォルトでは、VMware Aria Cost は PowerShell スクリプトに組み込みの Azure Contributor ロールを割り当てます。このロールで実行できるアクションの詳細については、ここ をクリックしてください。

    既定の Contributor ロールよりも制限の厳しいロールを VMware Aria Cost に割り当てたい場合は、独自のロールを作成します。次に例を示します。

    $role = Get-AzureRmRoleDefinition "Contributor"
    $role.Id = $null
    $role.Name = "CHTActions"
    $role.Description = "Grants access to Actions"
    $role.AssignableScopes.Clear()
    $role.Actions.Clear()
    $role.Actions.Add("Microsoft.Compute/*/write")
    $role.Actions.Add("Microsoft.Compute/*/action")
    $role.Actions.Add("Microsoft.ClassicCompute/*/write")
    $role.Actions.Add("Microsoft.ClassicCompute/*/action")
    $role.Actions.Add("Microsoft.Sql/*/write")
    $role.Actions.Add("Microsoft.Sql/*/action")
    $role.Actions.Add("Microsoft.Storage/*/write")
    $role.Actions.Add("Microsoft.Storage/*/action")
    $role.Actions.Add("Microsoft.ClassicStorage/*/write")
    $role.Actions.Add("Microsoft.ClassicStorage/*/action")
    $role.NotActions.Add("*/Delete")
    New-AzureRmRoleDefinition -Role $role
    

    その他の例については、Azure PowerShell を使用したロール ベースのアクセス制御の管理 を参照してください。

  4. サービス プリンシパルのために VMware Aria Cost で作成されたスクリプトを実行します。独自のロールを作成した場合は、スクリプトの Contributor を、作成したロールの名前に置き換えます。

Azure アクションとポリシーの関連付け

アクションをポリシーに関連付けて、ポリシー条件が true に評価されたときにアクションが実行されるようにします。

すべての資産タイプについて、次のアクションを実行できます。

  • JIRA 課題の作成
  • E メール

待機機能に基づいてアクションをずらすことができます。たとえば、仮想マシンを停止したり、JIRA 課題を作成したりできます。また、E メールを使用して、これらのアクションをユーザーに通知することもできます。アクションを構成する一連のイベントは次のように作成できます。1.Azure 仮想マシンを停止して割り当て解除を行います。2.JIRA 課題を作成します。3.DevOps に E メールを送信します。

一連のイベントが正常に実行されるようにするには、ルールの ルールのテスト ボタンをクリックします。

アクションとポリシーの関連付けの詳細については、ルールの構成 を参照してください。

承認者とアクションの関連付け

トレースと責任を追加するために、承認プロセスを通じて Azure アクションを実行できます。アクションがトリガされると、承認者は E メール通知を受信します。承認者はそのアクションを受け入れ可能な場合、E メールを通じて承認できます。他の承認者がプロセスの一部になっている場合、その後順次、次の承認者に通知が送信されます。すべての承認者が署名している場合、VMware Aria Cost はアクションを実行します。

VMware Aria Cost プラットフォームで使用可能な標準 Azure アクションでは、デフォルトでは承認プロセスが必要ありません。1 つ以上の標準アクションを組み合わせたカスタム アクションを作成し、そのアクションに承認者を関連付けます。

  1. VMware Aria Cost プラットフォームにログインします。左側のメニューから セットアップ > ガバナンス > アクション の順に選択します。次に、アクションの作成 をクリックします。
  2. 表示されたフォームで、アクションに名前を付け、説明を入力し、リソース タイプ として Azure 仮想マシン を選択します。
  3. フォームの [アクション] セクションで、カスタム アクションに関連付けられた 1 つまたは複数のアクションのシーケンスを作成します。
  4. アクションに対して 1 人または複数の承認者を追加します。承認サブアクションをシーケンスの最上位に移動します。
  5. 保存 をクリックします。これで、このアクションはポリシーとの関連付けに使用できるようになりました。

アクションの手動実行

Azure アクションをポリシーに関連付けるだけでなく、VMware Aria Cost プラットフォームで Azure アクションを手動で実行することもできます。

仮想マシンの適正サイジング レポート([推奨事項] > [仮想マシンの適正サイジング])では、各行に アクション ドロップダウンが関連付けられています。

これは適正サイジング レポートであるため、ここで実行できるアクションの 1 つとして、Azure 仮想マシンのサイズ変更 が考えられます。アクション ドロップダウンからこのオプションをクリックし、サイズを変更する仮想マシンのサイズを選択します。

アクションの実行 をクリックします。VMware Aria Cost は、仮想マシンが属するサービス プリンシパルに関連付けられているカスタム ロールの権限を使用して、仮想マシンのサイズを変更します。

CIS Azure Foundations ポリシーの実装

CIS Azure Foundations ポリシーについて

CIS Azure Foundations ポリシーは、Center for Internet Security (CIS) セキュリティ ベンチマーク CIS Microsoft Azure Foundations Benchmark v1.3.0 のチェックを実行します。このポリシーは、Azure アカウント、サービス、およびリソースを監視できます。CIS ベンチマークに基づいて問題を特定し、セキュリティを向上させる方法を推奨します。

VMware Aria Cost はこのポリシーを管理し、追加の CIS ベンチマークを満たすために定期的に更新します。このポリシーのルールは、特定の制約でカスタマイズできます。デフォルト ポリシーでルールを有効または無効にすることもできます。

CIS Azure Foundations ポリシーの前提条件

CIS Azure Foundations ポリシーを実行するには、VMware Aria Cost は多数のサービスの資産メタデータを収集する必要があります。

  • Key Vault(キーとシークレット)
  • Azure Active Directory(ユーザーとロールの定義)
  • SQL Server/データベース(脅威の検出と透過的なデータ暗号化)
  • Azure サブスクリプションのセキュリティ ポリシー

これらのサービスについて報告するには、VMware Aria Cost に Azure クラウドへの追加のアクセス権が必要です。

VMware Aria Cost はメタデータにのみアクセスします。機密データへのアクセスや収集は行われません。

Active Directory ユーザーのリーダー ロールの割り当て

VMware Aria Cost が CIS Azure Foundations ポリシーに必要なメタデータを収集できるようにするには、VMware Aria Cost サービス プリンシパルの Active Directory ユーザーにリーダー ロールを割り当てます。

  1. Azure ポータル にログインします。
  2. すべてのサービス に移動し、IDAzure Active Directory を選択します。
  3. 左側のメニューから アプリの登録 を選択します。
  4. VMware Aria Cost サービス プリンシパルに対応するアプリケーション登録を選択します。VMware Aria Cost サービス プリンシパルを確認するには、VMware Aria Cost プラットフォームで セットアップ > 管理 > Azure サービス プリンシパル の順に移動します。
  5. 左側のメニューから API 権限 を選択します。アクセス許可の追加 を選択します。
  6. API を選択します で、リストから Microsoft Graph を選択します。
  7. 権限タイプとして アプリケーションの許可 を選択します。
  8. リストから User.Read.All 権限を選択し、アクセス許可の追加 をクリックします。

Key Vault キーおよびシークレット メタデータへのアクセス権の付与

VMware Aria Cost では、Azure クラウドが CIS ベンチマークに準拠しているかどうかを確認するために、Azure Key Vault のキーとシークレット メタデータにアクセスする必要があります。

  1. PowerShell を開き、次のコマンドラインを入力します。
    $subs = Get-AzureRmSubscription
    $client_id = 'client id of service principal'
    foreach ($sub in $subs) {Set-AzureRmContext -SubscriptionId $sub.SubscriptionId
    $key_vaults = Get-AzureRmKeyVault
    foreach ($key_vault in $key_vaults) {Set-AzureRmKeyVaultAccessPolicy -VaultName $key_vault.VaultName -ServicePrincipalName $client_id -PermissionsToKeys get,list -PermissionsToSecrets get,list } }
    
  2. client id of service principal を Azure サービス プリンシパルのクライアント ID に置き換えます。VMware Aria Cost プラットフォームでクライアント ID を特定するには、セットアップ > アカウント > Azure サービス プリンシパル の順に移動します。
  3. PowerShell コマンドラインを実行します。新しいキーを追加するたびに、手順 1 ~ 3 を繰り返して、CIS Azure Foundations ポリシーが正しく機能することを確認します。

CIS Azure Foundations ポリシーの有効化

ポリシーには、1 つまたは複数のポリシー ブロックが含まれており、それぞれに Azure CIS ベンチマークに対するコンプライアンスを確認する特定のルールが含まれています。

  1. セットアップ > ガバナンス > ポリシー で、CIS Azure Foundations ポリシーを編集します。
  2. ステータス有効 に切り替えて、ポリシーを保存 をクリックします。

    CIS Azure Foundations ポリシーを有効にすると、その中のすべてのルールが有効になり、デフォルトの重要度が割り当てられます。CIS Azure Foundations ポリシーに基づく監視からの推奨事項は、1 時間以内に使用可能です。推奨事項は毎日表示されます。

CIS Azure Foundations ポリシーの推奨事項の確認

CIS Azure Foundations ポリシーの推奨事項は、特定のセキュリティの問題の内容とそれに対処するために実行できるアクションを理解するのに役立ちます。これらの推奨事項は、健全性チェックのパルス レポートにも表示されます。

  1. 推奨事項 > セキュリティ の順に移動します。ルールごとに、違反の重要度と、そのルールに違反しているリソースの数が表に表示されます。
  2. ルールの詳細については、表の行をクリックしてください。
    • ルールのドキュメントは、説明推奨事項、および 追加のヘルプ のセクションに分かれています。これらのセクションの内容はカスタマイズできます。
    • 影響を受けるリソース 表には、ポリシーに違反しているすべてのリソースが表示されます。
    • リソースがポリシー ルールに違反している理由がわかっていて、今後のチェックから除外する必要がある場合は、表の上の すべて表示 をクリックして、表示されるダイアログ ボックスでリソースを特定し、除外 をクリックします。

CIS Azure Foundations ポリシーのカスタマイズ

Azure CIS Foundations ポリシーをカスタマイズする場合は、特定の制約内でポリシーを編集できます。または、ポリシーのコピーを変更することもできます。ただし、その場合、VMware Aria Cost がデフォルトのポリシーに CIS ベンチマークを追加しても、作成したコピーは更新されません。

  1. セットアップ > ガバナンス > ポリシー で、CIS Azure Foundations ポリシーを編集します。
  2. これらの特性の 1 つ以上を変更します。
    • ポリシーを有効または無効にします。デフォルトでは、このポリシーはオフになっています。
    • ルールを有効または無効にします。
    • ルールの重要度を変更します。
    • ルールの条件を編集します。ポリシー ルールを構成して、要件をより適切に反映させることができます。たとえば、元のポリシーには、すべての SQL Server が 90 日以上監査を確実に保持するようにするルールが含まれています。このルールを編集して、その期間を変更できます。
    • ルールの条件に違反するリソースに対して実行されるアクションをトリガします。

サブ組織への CIS Azure Foundations ポリシーの適用

CIS Azure Foundations ポリシーを有効にすると、トップ レベルの組織のセキュリティの脆弱性のみがチェックされます。ポリシーをサブ組織に適用するには、ポリシーを複製し、適用するサブ組織を指定します。

  1. セットアップ > ガバナンス > ポリシー で、CIS Azure Foundations ポリシーを複製します。
  2. 表示されるダイアログ ボックスで、複製したポリシーに名前を付け、適用先のサブ組織を選択します。

    元のポリシーに追加したアクションは、サブ組織にはコピーされません。

check-circle-line exclamation-circle-line close-line
Scroll to top icon