Aracılığıyla paylaş


Denetim günlüklerini izin verilenler listesine dönüştürme

Meta Veri Güvenlik Protokolü (MSP) ile meta veri hizmet uç noktalarının güvenliğini sağlamaya yardımcı olmak için özel rol tabanlı erişim denetimi (RBAC) izin listesi tanımlayabilirsiniz. İzin verilenler listesinin içeriği denetim günlüklerinden gelir. Azure İşlem Galerisi'ndeki yeni bir kaynak türü, InVMAccessControlProfileizin verilenler listesini etkinleştirir.

RBAC ve InVMAccessControlProfile kaynak türü hakkında daha fazla bilgi edinmek için bkz. MSP için gelişmiş yapılandırma.

İzin verilenler listesinin yapısı

İzin verilenler listesi şunlardan oluşur:

  • Kimlikler: Makinedeki işlemler.
  • Ayrıcalıklar: Kimliklerin eriştikleri uç noktalar.
  • Roller: Yetkilerin gruplandırılması.
  • Rol atamaları: Roller ve bu roller için erişim verilen kimliklerin listesi.

Denetim günlüklerini toplama

MSP'yi Audit veya Enforce modunda etkinleştirirseniz Konuk Proxy Aracısı (GPA), sanal makinenin (VM) içindeki aşağıdaki klasörlerde denetim günlükleri oluşturur:

İşletim sistemi Denetim günlüğü konumu
Linux /var/lib/azure-proxy-agent/ProxyAgent.Connection.log
Windows C:\WindowsAzure\ProxyAgent\Logs\ProxyAgent.Connection.log

Günlükleri kurallara dönüştürme

İzin verilenler listesi oluşturmak için otomatik bir yöntem veya el ile kullanılan bir yöntem kullanabilirsiniz.

Otomatik olarak izin verilenler listesi oluşturma

Erişim denetimi kurallarını oluşturmak için izin verilenler listesi oluşturucu aracını kullanabilirsiniz. Araç, denetim günlüklerini ayrıştırmaya yardımcı olur ve kuralları oluşturmak için bir kullanıcı arabirimi sağlar.

  1. İzin verilenler listesi oluşturucu aracını indirin ve çalıştırın. En son sürüm sayfasında, Varlıklar altındaki öğeyi seçinallowListTool.exe.

    Araç ProxyAgentConnection günlüklerini ayrıştırıp VM'deki geçerli ayrıcalıkları ve kimlikleri görüntüler.

  2. Rol ve rol atamaları oluşturma:

    • Rol oluşturmak için bir ayrıcalıklar grubu seçin ve role açıklayıcı bir ad verin.
    • Rol ataması oluşturmak için bir rol ve kimlik grubu seçin. Bu kimlikler, bu rolde gruplandırılmış ayrıcalıklara erişebilir. Rol atamasını açıklayıcı bir ad verin.

El ile izin verilenler listesi oluşturma

MSP ile bir sanal makineyi Audit veya Enforce modunda etkinleştirdikten sonra, proxy aracısı tüm istekleri konak uç noktalarına yapıldıklarında yakalar.

Bağlantı günlüklerinde Azure Instance Metadata Service veya WireServer uç noktalarına istekte bulunan uygulamaları analiz edebilirsiniz.

Bağlantı günlüklerinin ekran görüntüsü.

Aşağıdaki örnekte yakalanan JSON'un biçimi gösterilmektedir.

Yakalanan JSON ile denetim günlüklerinin ekran görüntüsü.

Günlük dosyasında, güvenli olmasını istediğiniz uç noktaları tanımlayabilirsiniz. Bu uç noktalar, privileges içinde son InVMAccessControlProfile örnekte görünür. Erişimi olması gereken kimlikleri (identities) de tanımlayabilirsiniz.

Basit kurallar şeması aşağıdaki örneğe benzer olabilir.

Basit kurallar şemasının ekran görüntüsü.

ARM şablonu kullanarak InVMAccessControlProfile örneği oluşturma

  1. Azure İşlem Galerisi'nde yeni bir özel galeri oluşturun.

  2. Şu parametrelerle bir InVMAccessControlProfile tanım oluşturun:

    • Depoya alınacak galeri adı (1. adımdan)
    • Profil adı
    • İşletim sistemi türü
    • Konak uç noktası türü (WireServer veya Örnek Meta Veri Hizmeti)
  3. Belirli bir sürüm oluşturun.

Örnek bir InVMAccessControlProfile örnek aşağıda verilmişti:

"properties": {
    "mode": "Enforce",
    "defaultAccess": "Allow",
    "rules": {
      "privileges": [
        {
          "name": "GoalState",
          "path": "/machine",
          "queryParameters": {
            "comp": "goalstate"
          }
        }
      ],
      "roles": [
        {
          "name": "Provisioning",
          "privileges": [
            "GoalState"
          ]
        },
        {
          "name": "ManageGuestExtensions",
          "privileges": [
            "GoalState"
          ]
        },
        {
          "name": "MonitoringAndSecret",
          "privileges": [
            "GoalState"
          ]
        }
      ],
      "identities": [
        {
          "name": "WinPA",
          "userName": "SYSTEM",
          "exePath": "C:\\Windows\\System32\\cscript.exe"
        },
        {
          "name": "GuestAgent",
          "userName": "SYSTEM",
          "processName": "WindowsAzureGuestAgent.exe"
        },
        {
          "name": "WaAppAgent",
          "userName": "SYSTEM",
          "processName": "WaAppAgent.exe"
        },
        {
          "name": "CollectGuestLogs",
          "userName": "SYSTEM",
          "processName": "CollectGuestLogs.exe"
        },
        {
          "name": "AzureProfileExtension",
          "userName": "SYSTEM",
          "processName": "AzureProfileExtension.exe"
        },
        {
          "name": "AzurePerfCollectorExtension",
          "userName": "SYSTEM",
          "processName": "AzurePerfCollectorExtension.exe"
        },
        {
          "name": "WaSecAgentProv",
          "userName": "SYSTEM",
          "processName": "WaSecAgentProv.exe"
        }
      ],
      "roleAssignments": [
        {
          "role": "Provisioning",
          "identities": [
            "WinPA"
          ]
        },
        {
          "role": "ManageGuestExtensions",
          "identities": [
            "GuestAgent",
            "WaAppAgent",
            "CollectGuestLogs"
          ]
        },
        {
          "role": "MonitoringAndSecret",
          "identities": [
            "AzureProfileExtension",
            "AzurePerfCollectorExtension",
            "WaSecAgentProv"
          ]
        }
      ]
    },