Log Analytics çalışma alanında tablo düzeyinde erişimi yönetme

Log Analytics çalışma alanında rol tabanlı erişim denetimi (RBAC) kullanarak tablo düzeyinde erişimi yönetmenin üç yolu vardır. Bu makalede yalnızca ayrıntılı RBAC önerilir ancak tüm yöntemlere başvuruda bulunur.

Ayrıntılı RBAC, tablo veya satır düzeyinde erişimi hassas bir şekilde ayarlamanızı sağlar. Tablo düzeyinde erişimi olan kullanıcılar hem çalışma alanında hem de kaynak bağlamında belirtilen tablolardaki verileri okuyabilir ve sorgulayabilir. Daha fazla bilgi için bkz. Detaylı RBAC.

Tablo düzeyinde erişim için ayrıntılı RBAC yapılandırma

Ayrıntılı RBAC kullanan tablo düzeyinde erişim yapılandırması, önceki yöntemlerden daha az karmaşıktır ve satır düzeyi koşulları uygulama esnekliği sunar. Bu adımlar yalnızca tablo düzeyinde erişimi yapılandırmaya odaklanır. Daha fazla bilgi için bkz. Detaylı RBAC.

Tablo düzeyinde erişim için ayrıntılı RBAC'yi yapılandırmak için şu adımlar gerekir:

  1. Yerleşik Log Analytics Veri Okuyucusu rolünü seçin veya özel bir rol oluşturun
  2. Atanan rol için koşulu oluşturma (izin verilen veya kısıtlayıcı)

Ayrıntılı RBAC özel rolü oluşturma

Denetim düzlemi "veri eylemi", tablo düzeyinde erişimi yapılandırmanın önceki yöntemlerinden ayrıntılı RBAC'yi ayırt eder ve yerleşik Log Analytics Veri Okuyucusu rolünde zaten yapılandırılmıştır. Yerleşik rolü seçmezseniz, özel rol oluşturmak için bu adımları izleyin. Daha fazla bilgi için bkz. Ayrıntılı RBAC rol ataması oluşturma.

Örnek bir özel rol için JSON şu şekildedir:

{    "properties": {
        "roleName": "Log Analytics Standard Table Access",
        "description": "This custom role provides general access to all non-restricted tables.",
        "assignableScopes": [
            "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-US-la-workspace"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.OperationalInsights/workspaces/read",
                    "Microsoft.OperationalInsights/workspaces/query/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.OperationalInsights/workspaces/tables/data/read"
                ],
                "notDataActions": []
            }
        ]
    }
}

Rolü bir kullanıcıya veya gruba atayın. Daha fazla bilgi için bkz. Detaylı RBAC rolleri atama.

  1. Log Analytics çalışma alanından Erişim denetimi (IAM) öğesini seçin.
  2. Rol ataması ekle’yi seçin.
  3. Log Analytics Standard Table Access Oluşturduğunuz örnek özel rolü seçin ve ardından İleri'yi seçin.
  4. Rolü atamak istediğiniz kullanıcı veya grubu seçin ve ardından İleri'yi seçin. Bu örnek, rolü ağ ekibi güvenlik grubuna atar.
  5. Koşulları>Koşul ekle>Eylem ekle seçin.
  6. Çalışma alanı verilerini okuma veri eylemini seçin >Seç.

İzinli koşul oluşturma

Bu örnek, "İzin verilmeyenler dışında tüm verilere erişim" stratejisini kullanarak izin verilen bir koşul oluşturur. SigninLogs ve SecurityEvent tablolarına erişim kısıtlıdır, ancak diğer tüm tablolara erişim izni verilir. Kısıtlayıcı bir koşul örneği görmek için bkz. Granüler RBAC kullanım örnekleri.

  1. İfade oluşturma bölümünde İfade ekle seçin
  2. Öznitelik kaynağı açılan listesinden Kaynak'ı seçin.
  3. Tablo Adı öğesini Öznitelik açılır listesinden seçin.
  4. ForAnyOfAllValues:StringNotEquals öğesini İşleç açılır listesinden seçin.
  5. SigninLogs alanlarına SecurityEvent ve yazın.

İzinli tablo düzeyi erişim koşulu tamamlandığında şöyle görünür.

Ayrıntılı RBAC tablo düzeyinde izinli erişim koşulunun ekran görüntüsü.

Tek bir rol atamasıyla, kısıtlanmış tabloları standart tablolardan ayırarak tablo düzeyinde erişim yapılandırılır. Daha fazla bilgi için bkz. Ayrıntılı RBAC konuları ve ayrıntılı RBAC sorunlarını giderme.

Tablo düzeyinde erişimi yapılandırma (çift rol yöntemi)

En iyi yöntem, bu yöntem yerine ayrıntılı RBAC yöntemini kullanmaktır. Referans olarak, bu bölümde çift rol yönteminin nasıl yapılandırıldığını açıklayan adımlar özetlenmiştir.

Bu tablo düzeyinde erişim denetimi yöntemi, çalışma alanında kullanıcılara veya gruplara belirli tablolara erişim vermek için Azure özel rollerini de kullanır, ancak her kullanıcı veya grup için iki rol atamayı gerektirir.

Kapsam Rol Açıklaması
Çalışma alanı Çalışma alanı ayrıntılarını okumak ve çalışma alanında sorgu çalıştırmak için sınırlı izinler sağlayan, ancak herhangi bir tablodaki verileri okumamaya yönelik özel bir rol
Tablo Kapsamı belirli bir tabloya göre belirlenmiş bir Okuyucu rolü

Çalışma alanı rolü oluşturma

Kullanıcıların çalışma alanı ayrıntılarını okumasına ve herhangi bir tablodaki verilere okuma erişimi sağlamadan çalışma alanında sorgu çalıştırmasına olanak sağlamak için çalışma alanı düzeyinde özel bir rol oluşturun:

  1. Çalışma alanınıza gidin ve Erişim denetimi (IAM)>Roller'i seçin.
  2. Okuyucu rolüne sağ tıklayın ve Kopyala'yı seçin. Okuyucu rolü için kopyala düğmesinin vurgulandığı Erişim denetim ekranının Roller sekmesini gösteren ekran görüntüsü. Bu, Özel rol oluştur ekranını açar.
  3. Ekranın Temel Bilgiler sekmesinde:
    1. Özel rol adı değeri girin ve isteğe bağlı olarak bir açıklama girin.
    2. Temel izinleriSıfırdan başla olarak ayarlayın. Özel rol adı ve Açıklama alanlarının vurgulandığı Özel rol oluştur ekranının Temel Bilgiler sekmesini gösteren ekran görüntüsü.
  4. JSON sekmesini >düzenle'yi seçin:
    1. "actions" bölümüne şu eylemleri ekleyin:
      "Microsoft.OperationalInsights/workspaces/read",
      "Microsoft.OperationalInsights/workspaces/query/read" 
      
    2. "not actions" bölümüne şunları ekleyin:
      "Microsoft.OperationalInsights/workspaces/sharedKeys/read"
      
  5. Kaydet>Gözden Geçir + Oluştur>Oluştur öğelerini seçin.
  6. Erişim denetimi (AIM)>Ekle>Rol ataması ekle seçin.
  7. Oluşturduğunuz özel rolü seçin ve İleri'yi seçin. Bu, Özel rol ataması ekle ekranının Üyeler sekmesini açar.
  8. + Üyeleri seçin ekranını açmak için üyeleri seçin .
  9. > kullanıcısını arayın.
  10. Gözden geçir ve ata seçin.

Kullanıcı artık çalışma alanı ayrıntılarını okuyabilir ve sorgu çalıştırabilir, ancak herhangi bir tablodaki verileri okuyamaz.

Tablo erişim rolü atama

  1. Log Analytics çalışma alanları menüsünde Tablolar'ı seçin.
  2. Tablonuzun sağındaki elipsi ( ... ) seçin ve Erişim denetimi (IAM) seçeneğini belirleyin. Tablo düzeyinde erişim denetimi düğmesinin vurgulandığı Log Analytics çalışma alanı tablo yönetimi ekranını gösteren ekran görüntüsü.
  3. Erişim denetimi (IAM) ekranında Ekle>Rol ataması ekle'yi seçin.
  4. Okuyucu rolünü seçin ve İleri'yi seçin.
  5. + Üyeleri seçin ekranını açmak için üyeleri seçin .
    1. > kullanıcısını arayın.
  6. Gözden geçir ve ata seçin.

Kullanıcı artık bu tablodaki verileri okuyabilir. Kullanıcıya gerektiğinde çalışma alanı içindeki diğer tablolara okuma erişimi verin.

Tablo düzeyinde erişimi yapılandırma (eski yöntem)

Tablo düzeyinde erişim denetiminin eski yöntemi artık önerilmez. Satır düzeyi koşulları desteklemez ve ayrıntılı RBAC yönteminden daha karmaşıktır. En iyi yöntem, bu yöntem yerine ayrıntılı RBAC yöntemini kullanmaktır. Başvuru için, bu bölümde eski yöntemin nasıl yapılandırıldığına ilişkin adımlar özetlenmiştir.

Tablo düzeyindeki eski yöntem, kullanıcılara veya gruplara çalışma alanında belirli tablolara erişim izni vermenizi sağlamak için Azure özel rollerini de kullanır. Azure özel rolleri, kullanıcının erişim modundan bağımsız olarak çalışma alanı bağlamı veya kaynak bağlamı erişim denetimi modlarına sahip çalışma alanları için geçerlidir.

Belirli bir tabloya erişimi tanımlamak için özel bir rol oluşturun:

  1. Rol tanımının Eylemler bölümünde kullanıcı izinlerini ayarlayın.
  2. Tüm tablolara erişim vermek için kullanın Microsoft.OperationalInsights/workspaces/query/* .
  3. Eylemler'de joker karakter kullandığınızda belirli tablolara erişimi dışlamak için rol tanımının NotActions bölümünde dışlanan tabloları listeleyin.

Burada, belirli tablolara erişim vermek ve reddetmek için özel rol eylemleri örnekleri verilmiştir.

Heartbeat ve AzureActivity tablolarına erişim izni verme:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
    "Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
  ],

Yalnızca SecurityBaseline tablosuna erişim izni verin:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],

SecurityAlert tablosu dışındaki tüm tablolara erişim izni verin:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions":  [
    "Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],

Özel tablolar, metin günlükleri ve HTTP Veri Toplayıcı API'si gibi veri kaynaklarından topladığınız verileri depolar. Tablo türünü tanımlamak için Log Analytics'te tablo bilgilerini görüntüleyin.

Tablo düzeyindeki eski erişim yöntemini kullanarak, tablo düzeyinde tek tek özel günlük tablolarına erişim izni veramazsınız, ancak tüm özel günlük tablolarına erişim vekleyebilirsiniz. Tüm özel günlük tablolarına erişimi olan bir rol oluşturmak için aşağıdaki eylemleri kullanarak özel bir rol oluşturun:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],

Değerlendirmeler

  • Log Analytics kullanıcı arabiriminde, tablo düzeyine sahip kullanıcılar çalışma alanı içindeki tüm tabloların listesini görebilir, ancak yalnızca erişim sahibi oldukları tablolardan veri alabilir.
  • */okuma eylemini içeren standart Okuyucu veya Katılımcı rolleri, tablo seviyesinde erişim denetimini geçersiz kılar ve kullanıcılara tüm günlük verilerine erişim verir.
  • Tablo düzeyinde erişimi olan, ancak çalışma alanı düzeyinde izinleri olmayan bir kullanıcı, API üzerinden günlük verilerine erişebilir fakat Azure portalından erişemez.
  • Aboneliğin yöneticileri ve sahipleri, diğer izin ayarlarından bağımsız olarak tüm veri türlerine erişebilir.
  • Çalışma alanı sahipleri, tablo başına erişim denetimi için diğer kullanıcılar gibi değerlendirilir.
  • Atama sayısını azaltmak için tek tek kullanıcılar yerine güvenlik gruplarına roller atayın. Bu en iyi yöntem, erişimi yapılandırmak ve doğrulamak için mevcut grup yönetimi araçlarını kullanmanıza yardımcı olur.