Ders 19 / 21
Grup Politikaları ve Yetki Yönetimi
Merkezî dayatmanın yayılma cinsinden ölçülmesi: 325 makinenin 319'unun politika çekmeye ayarlı olması ama 24 saatlik pencerede yalnız 295'ine ulaşması, ilk turda kapsamanın %51,4'te kalması, 30 makinenin politikayı hiç almaması ve 67 makinede yerel geçersiz kılmanın 12 ayarın 5'ini düşürerek 335 yol açması.
İçindekiler
Önceki ders girişin kendisini ölçtü ve kapanmayan dört yolun etmenin dışında olduğunu saydı. Giriş tamamlandıktan sonra kullanıcının ne yapabildiği ise ayrı bir mekanizmayla belirlenir: kurum, binlerce makinede hangi ayarın geçerli olacağını tek bir yerden yazar ve makineler bunu düzenli aralıklarla çeker. Bu mekanizmaya grup politikası (group policy) denir.
Yetkilendirme modellerinin karşılaştırılması — rol temelli, öznitelik temelli, kaynak temelli — Kimlik Doğrulama ve Yetkilendirme ile Bulut Yönetişimi, Güvenlik ve Maliyet kurslarında ölçüldü; burada tekrarlanmaz. Bu dersin ölçtüğü şey tek bir sorudur: yazılan ile uygulanan arasındaki fark. Politika kaç makineye kaç turda ulaşıyor, ulaşmayan kalem kaç ve yerel geçersiz kılma kaç yol açıyor. Bu üç sayı, merkezî yönetimin gerçekte ne kadarını yönettiğini verir ve üçü de merkezî konsolun gösterdiği sayıdan küçüktür.
Yazmak ile Uygulanmak
KK17: merkezî politika bir yazma işlemi değil, bir yayılma sürecidir; yazıldığı an değil, makinenin bir sonraki turda çektiği an etkili olur. KK18: yayılmanın dışında kalan makine politikayı hiç almaz ve bunu hiçbir hata kaydı bildirmez — merkezde politika “uygulandı” görünür. KK19: bir ayarın yerel olarak geçersiz kılınabilmesi, o ayarın kapattığı yolu makine başına yeniden açar; merkezî dayatmanın kapsamı, geçersiz kılınamayan ayar sayısıyla ölçülür.
Bu üç varsayım, kursun üç sütununu bu mekanizmaya çevirir. Güven kökü politika deposunun bütünlüğü ile dağıtım kanalıdır; zincir, politikanın makineye ulaşmasından uygulanmasına kadarki kalemlerdir; kırılma, kökün değişmesi durumunda kaç makinenin yanlış ayarı sessizce almasıdır.
Üç Yüz Yirmi Beş Makine
Aşağıdaki envanter ve yayılma bir modeldir: kurgu bölgesel ölçüm ağı kurumunun makineleri. Gerçek bir kurum, gerçek bir makine ya da gerçek bir politika yoktur. Rastgelelik kendi üretecimizle üretilir ve tohum görünürdür; çıktı koşumdan koşuma aynıdır.
// politika/dagitim.mjs — merkezi politikanin makinelere yayilmasi (model): kurgu bolgesel // olcum agi kurumunun makine envanteri, yenileme turu ve cevrimici olma orani. Gercek bir // kurum, gercek bir makine ya da gercek bir politika yok. // KK17: merkezi politika bir yazma islemi degil, bir yayilma surecidir; yazildigi an degil, // makinenin bir sonraki turda cektigi an etkili olur. KK18: yayilmanin disinda kalan makine // politikayi hic almaz ve bunu hicbir hata kaydi bildirmez. // Sutunlar: adet = makine sayisi; yonetilen = politikayi cekmeye ayarli mi; p = bir turda // cevrimici olma orani (yuzde); kapali = pencerede hic acilmayan makine; yerelYonetici = // uzerinde yerel yonetici hesabi bulunan makine sayisi. export const SINIF = ` sube-is-istasyonu 96 evet 82 3 11 saha-dizustu 140 evet 24 17 38 depo-terminali 18 evet 61 1 4 sunucu 21 evet 95 0 6 olcum-toplayici 44 evet 88 2 2 eski-konsol 6 hayir 0 6 6` .trim().split("\n").map((r) => { const p = r.trim().split(/\s+/); return { ad: p[0], adet: +p[1], yonetilen: p[2] === "evet", p: +p[3], kapali: +p[4], yerelYonetici: +p[5] }; }); // KK19: bir ayarin yerel olarak gecersiz kilinabilmesi, o ayarin kapattigi yolu makine basina // yeniden acar; merkezi dayatmanin kapsami, gecersiz kilinamayan ayar sayisiyla olculur. // Politika 12 ayar tasir; her ayar bir yol kapatir. "yerel" sutunu, ayarin makinede yerel // yonetici tarafindan gecersiz kilinip kilinamadigidir. export const AYAR = ` ekran-kilidi-suresi yerel yerel-yonetici-uyeligi merkezi imzasiz-betik-engeli yerel eski-protokol-kapatma merkezi gunluk-yonlendirme yerel disk-sifreleme-zorunlu merkezi yazilim-kaynagi-kisiti merkezi uzak-masaustu-kapali yerel parola-uzunlugu merkezi otomatik-baglama-kapali yerel guvenlik-duvari-acik merkezi onbellekli-giris-suresi merkezi` .trim().split("\n").map((r) => { const p = r.trim().split(/\s{2,}/); return { ad: p[0], yerel: p[1] === "yerel" }; }); export const TUR = 16; // 24 saatlik pencerede 90 dakikalik yenileme turu sayisi export const TOHUM = 20250131;
// politika/sayim.mjs — politika kac makineye kac turda ulasiyor, ulasmayan kalem kac ve // yerel gecersiz kilma kac yol aciyor. import { SINIF, AYAR, TUR, TOHUM } from "./dagitim.mjs"; const yaz = (g, ...s) => console.log(s.map((v, i) => (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join("")); const topla = (f, s = SINIF) => s.reduce((a, x) => a + f(x), 0); // Kendi uretecimiz; tohum gorunur, kosumdan kosuma ayni diziyi verir. const uret = (tohum) => { let s = tohum >>> 0; return () => (s = (s * 1103515245 + 12345) >>> 0) / 4294967296; }; const makine = topla((s) => s.adet); const yonetilen = topla((s) => (s.yonetilen ? s.adet : 0)); console.log(`${makine} makine, ${yonetilen} yonetilen, ${makine - yonetilen} yonetim disi; ` + `${AYAR.length} ayar, ${TUR} tur, tohum ${TOHUM}`); // Her makine icin politikayi ilk aldigi tur; kapali makineler hic almaz. const rnd = uret(TOHUM); const alindi = []; for (const s of SINIF) { for (let i = 0; i < s.adet; i++) { let tur = 0; if (s.yonetilen && i >= s.kapali) { for (let t = 1; t <= TUR; t++) { if (rnd() * 100 < s.p) { tur = t; break; } } } else { for (let t = 1; t <= TUR; t++) rnd(); } alindi.push({ sinif: s.ad, tur }); } } const A = [-20, 8, 10, 10, 10, 9]; console.log("\n1. sinif basina kapsama (24 saatlik pencere sonunda)"); yaz(A, "sinif", "adet", "yonetilen", "ulasan", "ulasmayan", "ort tur"); for (const s of SINIF) { const g = alindi.filter((a) => a.sinif === s.ad); const u = g.filter((a) => a.tur > 0); yaz(A, s.ad, s.adet, s.yonetilen ? s.adet : 0, u.length, g.length - u.length, u.length ? (u.reduce((a, x) => a + x.tur, 0) / u.length).toFixed(1) : "-"); } const ulasan = alindi.filter((a) => a.tur > 0).length; yaz(A, "toplam", makine, yonetilen, ulasan, makine - ulasan, "-"); const B = [-6, 10, 10, 10, 12]; console.log("\n2. tur tur birikimli kapsama"); yaz(B, "tur", "ulasan", "yuzde", "kalan", "yeni ulasan"); let onceki = 0; for (const t of [1, 2, 3, 4, 6, 8, 12, 16]) { const u = alindi.filter((a) => a.tur > 0 && a.tur <= t).length; yaz(B, t, u, `%${(100 * u / makine).toFixed(1)}`, makine - u, u - onceki); onceki = u; } const C = [-20, 6, 11, 12, 14]; console.log("\n3. yerel gecersiz kilma kac yol aciyor"); const yerelAyar = AYAR.filter((a) => a.yerel).length; yaz(C, "sinif", "ayar", "yerel yon", "acilan yol", "kapali kalan"); for (const s of SINIF) { const y = s.yonetilen ? s.yerelYonetici : s.adet; yaz(C, s.ad, AYAR.length, y, y * yerelAyar, s.adet * AYAR.length - y * yerelAyar); } const yy = topla((s) => (s.yonetilen ? s.yerelYonetici : s.adet)); console.log(`${yerelAyar} ayar yerel olarak gecersiz kilinabiliyor, ` + `${AYAR.length - yerelAyar} kilinamiyor; toplam acilan yol ${yy * yerelAyar}`); const D = [-26, 8, 8, 24]; console.log("\n4. dayatmanin ucuncu sutunu"); const oran = (n) => `%${(100 * n / makine).toFixed(1)}`; yaz(D, "kalem", "sayi", "oran", "kaynak"); for (const s of [ ["hic ulasmayan makine", makine - ulasan, oran(makine - ulasan), "kapali ve yonetim disi"], ["16 turda ulasan", ulasan, oran(ulasan), "cevrimici olan"], ["yerel yoneticili makine", yy, oran(yy), "envanter"], ["acilan yol", yy * yerelAyar, "-", `${yerelAyar} yerel ayar`], ["gecersiz kilinamayan ayar", AYAR.length - yerelAyar, "-", "merkezi"], ]) yaz(D, ...s);
325 makine, 319 yonetilen, 6 yonetim disi; 12 ayar, 16 tur, tohum 20250131 1. sinif basina kapsama (24 saatlik pencere sonunda) sinif adet yonetilen ulasan ulasmayan ort tur sube-is-istasyonu 96 96 93 3 1.3 saha-dizustu 140 140 122 18 3.9 depo-terminali 18 18 17 1 2.0 sunucu 21 21 21 0 1.0 olcum-toplayici 44 44 42 2 1.1 eski-konsol 6 0 0 6 - toplam 325 319 295 30 - 2. tur tur birikimli kapsama tur ulasan yuzde kalan yeni ulasan 1 167 %51.4 158 167 2 221 %68.0 104 54 3 241 %74.2 84 20 4 258 %79.4 67 17 6 270 %83.1 55 12 8 282 %86.8 43 12 12 291 %89.5 34 9 16 295 %90.8 30 4 3. yerel gecersiz kilma kac yol aciyor sinif ayar yerel yon acilan yol kapali kalan sube-is-istasyonu 12 11 55 1097 saha-dizustu 12 38 190 1490 depo-terminali 12 4 20 196 sunucu 12 6 30 222 olcum-toplayici 12 2 10 518 eski-konsol 12 6 30 42 5 ayar yerel olarak gecersiz kilinabiliyor, 7 kilinamiyor; toplam acilan yol 335 4. dayatmanin ucuncu sutunu kalem sayi oran kaynak hic ulasmayan makine 30 %9.2 kapali ve yonetim disi 16 turda ulasan 295 %90.8 cevrimici olan yerel yoneticili makine 67 %20.6 envanter acilan yol 335 - 5 yerel ayar gecersiz kilinamayan ayar 7 - merkezi
Sayılar ölçüm sınıfındadır; girdileri KK17–KK19 ile makine envanteridir.
Kapsama Bir Anda Oluşmaz
İkinci tablo KK17’yi sayıya çevirir. Politika yazıldıktan sonraki ilk turda 325 makinenin 167’sine ulaşır; kapsama %51,4‘tür. İkinci turda 221’e, dördüncü turda 258’e çıkar. On altı tur sonunda 295 makine politikayı almıştır ve 30 makine hâlâ almamıştır.
Eğrinin biçimi kararı belirler. İlk iki tur toplam kapsamanın 221’ini, yani ulaşılabilen 295’in dörtte üçünden fazlasını üretir; kalan on dört tur yalnız 74 makine ekler. Bir güvenlik ayarını yayımlayan ekip için bu iki sayı ayrı anlamlar taşır: acil bir kapatma kararında ilk üç saat kapsamanın çoğunu getirir, ama son yüzde onu getirmek bir günden uzun sürer ve o yüzde on tam olarak riskli olan kalemi barındırır.
Birinci tablo dağılımı verir. Sunucular ilk turda tamamlanır, ortalama tur sayısı 1,0’dır. Şube iş istasyonlarında ortalama 1,3, ölçüm toplayıcılarda 1,1’dir. Saha dizüstüleri ise ayrı bir sınıftır: ortalama 3,9 tur ve 18 makine hiç almaz. Yayılmanın hızını belirleyen şey politika deposu ya da ağ değil, makinenin açık olma oranıdır; merkezde yapılan hiçbir iyileştirme bu sayıyı değiştirmez.
Hiç Ulaşmayan Otuz Makine
Dördüncü tablo KK18’i sayar. Otuz makine — envanterin %9,2’si — politikayı hiç almaz ve bu sayı iki ayrı kaynaktan gelir. Yirmi dördü pencerede hiç açılmayan makinelerdir: kapalı duran saha dizüstüleri, depoda bekleyen terminaller. Altısı yönetim dışı eski konsollardır ve politika çekmeye hiç ayarlı değildir.
İki kaynak arasındaki fark, düzeltmenin biçimini belirler. Kapalı makineler açıldıklarında politikayı alır; onların sorunu zamanlamadır ve pencere uzatıldığında düzelir. Yönetim dışı altı konsol ise hiçbir pencerede almaz; onların sorunu envanterdedir ve yalnız elle kapatılır. Merkezî konsolda ikisi de aynı görünür — “politika uygulandı” satırı 319 yönetilen makineyi sayar, ulaşan 295’i değil.
Kapsama oranı, uygulanmış politika sayısı değil, doğrulanmış makine sayısıdır. Bu ayrımı yapmayan bir rapor, ilk turdan sonra %100 yazar; ölçülen sayı %51,4’tür. Eksik olan 30 makine, politikanın kapattığını varsaydığı on iki yolun on ikisini de açık tutar.
Yerel Geçersiz Kılma
Üçüncü tablo KK19’u sayar. Politikanın taşıdığı on iki ayarın beşi makinede yerel olarak geçersiz kılınabilir, yedisi kılınamaz. Envanterde yerel yönetici hesabı bulunan makine sayısı 67’dir ve her biri beş ayarı düşürebilir: toplam 335 yol yeniden açılır.
Dağılım eşit değildir. Saha dizüstülerinde 38 makinede yerel yönetici vardır ve tek başına 190 yol açar; şube iş istasyonlarında 11 makine 55 yol açar. Ölçüm toplayıcılarda yalnız iki makine vardır ve 10 yol açılır. Aynı politika, aynı on iki ayarla, sınıftan sınıfa yirmi kat değişen bir sonuç üretir.
İki tablo birbirini çarpar. Saha dizüstüleri hem en yavaş ulaşılan sınıftır — ortalama 3,9 tur, 18 makine hiç almaz — hem de en çok yerel geçersiz kılmaya açık sınıftır. Merkezî dayatmanın en zayıf olduğu yer, envanterin en kalabalık ve en hareketli parçasıdır. Yayılma oranı ile geçersiz kılma oranı bağımsız değildir; ikisi de aynı özellikten, makinenin merkezden uzak olmasından çıkar.
Yedi merkezî ayar bu tablonun karşı tarafıdır. Yerel yönetici olan bir makinede bile bu yedi ayar düşmez; kapalı kalan yol sayısı 1097 ile 42 arasında değişen sütunda toplanır. Merkezî dayatmanın gerçek kapsamı, dağıtılan ayar sayısı değil, yerelde geçersiz kılınamayan ayar sayısıdır ve bu modelde on ikinin yedisidir.
Kökün Kendisi: Politika Deposu
İki tablo boyunca ölçülen şey politikanın ulaşması oldu. Kursun birinci sütunu ise farklı bir soru sorar: ulaşan şeyin doğru olduğunu ne kanıtlıyor. Makine, çektiği ayar kümesini olduğu gibi uygular; içeriğin merkezde kim tarafından yazıldığını sınamaz. Güven kökü politika deposunun bütünlüğü ile dağıtım kanalının doğrulanmasıdır ve ikisi de bu mekanizmanın dışındadır — birincisi ilk derste ölçülen dizinin, ikincisi ikinci derste ölçülen bilet akışının üzerinde durur.
Kök kırıldığında olan şey diğer derslerdekinden sessizdir. Bir ayar merkezde değiştirilirse, 295 makine onu on altı tur içinde alır ve doğru çalışarak yanlış ayarı uygular. Hiçbir makinede hata oluşmaz, hiçbir kullanıcı fark etmez ve merkezî konsol yeşil kalır. Bu, ikinci derste görülen sahte bilet örüntüsünün yapılandırma tarafındaki karşılığıdır: mekanizma kusursuz işlediği için sonuç geçerli sayılır.
Yenileme faturası da buna göre okunur. Değiştirilmiş bir ayarı geri almak yeni bir yayılma turu demektir; 295 makine yeniden on altı tura, 30 makine ise elle işleme yayılır. Yanlış ayarın kaç saat açık kaldığı, ilk yayılma eğrisinin aynısıyla hesaplanır ve geri almanın hızı, dayatmanın hızından farklı değildir. Merkezî dayatmanın gücü ile kök kırıldığında ödenen bedel aynı eğriden okunur; eğriyi hızlandırmak iki sonucu birden hızlandırır ve yavaşlatmak ikisini birden yavaşlatır.
Özet
- Merkezî politika bir yazma işlemi değil yayılma sürecidir: 325 makinenin ilk turda 167’sine ulaşır, kapsama %51,4’te başlar.
- Kapsamanın büyük bölümü ilk iki turda oluşur; kalan on dört tur yalnız 74 makine ekler ve son yüzde onu getirmek bir günden uzun sürer.
- 30 makine politikayı hiç almaz: 24’ü pencerede hiç açılmadığı için, 6’sı yönetim dışı olduğu için; merkezî konsolda ikisi de aynı görünür.
- Yayılma hızını belirleyen kalem ağ ya da depo değil, makinenin açık olma oranıdır; saha dizüstülerinde ortalama 3,9 tur, sunucularda 1,0 turdur.
- 12 ayarın 5’i yerelde geçersiz kılınabilir ve yerel yöneticili 67 makine 335 yol açar; dayatmanın gerçek kapsamı geçersiz kılınamayan 7 ayardır.
Sonraki Adım
Bu ders bir ayarın 67 makinede yerel olarak düşürülebildiğini saydı. Düşürebilmek için o makinede yerel yönetici olmak gerekir; asıl soru, sıradan bir hesabın o yetkiyi nasıl elde ettiğidir. Kurumsal bir ağda bu tek bir olay değil, bir yollar kümesidir: bir hesabın kendi düzeyindeki başka bir hesabın verisine ulaşması ya da kendi düzeyinin üstüne çıkması. Sonraki ders yatay ve dikey yetki yükseltmeyi yol sayımı olarak ele alır: kaç ayrı yükselme yolu var, hangi denetim kaçını kapatıyor ve hangileri hiçbir denetimle kapanmıyor.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.