---
title: 'Bulut Hizmet Modelleri ve Sorumluluk'
source: 'https://academia.sh/tr/kurslar/bulut-guvenligi/bulut-hizmet-modelleri-ve-sorumluluk'
course: 'Bulut ve Sanallaştırma Güvenliği'
language: tr
updated: '2026-08-17T18:08:35+00:00'
license: 'CC BY-SA 4.0'
---

# Bulut Hizmet Modelleri ve Sorumluluk

Paylaşılan sorumluluk sınırının denetim listesine çevrilmesi: 21 yanlış olabilir kalem üç hizmet modelinde sınıflandırılır, otomatik denetlenebilen kalem 15'ten 12 ve 7'ye inerken denetim listesi dışında kalan kalem 6'dan 9 ve 14'e çıkar, tohum ağırlığının %35'i %51 ve %66 olur, sahipsiz kalem 0'dan 2 ve 4'e yükselir ve hiçbir listenin okuyamadığı 28 birimlik kör nokta üç modelde de sabit kalır.

Bir önceki kurs kanıt hattını sonuna kadar kurdu ve her adımında aynı sessiz varsayımı taşıdı:
incelenecek makineye erişilebiliyor. Kiralanmış altyapıda o varsayım düşer. Donanım başkasınındır,
konak işletim sistemi görünmez, örneğin durduğu fiziksel makine adlandırılamaz. Bu, kanıt sorusunu
sonraya bırakır ve daha önce gelen bir soruyu öne çeker: **yanlış nerede olabilir ve o yanlış
kimin listesinde**.

Bu kurs tek bir ölçü kullanır: **yayılma yarıçapı** (blast radius) — tek bir kalem yanlışsa oradan
kaç kaleme ulaşıldığı. Yarıçabı ölçebilmek için önce yanlışın yerleşebileceği kalemlerin listesi
gerekir. **Paylaşılan sorumluluk** o listeyi ikiye böler; bu ders bölünmeyi bir denetim listesine
çevirir ve listenin dışında kalanı sayar. Sorumluluk matrisinin kendisi Bulut Bilişim müfredatının
Bulut Temelleri kursunda ölçüldü ve burada yeniden türetilmez — girdi olarak alınır.

- **BG1.** Aşağıdaki her şey kurgu bir bölgesel ölçüm ağına aittir: sayaç toplama, doğrulama,
  fatura üretimi ve abone portalı kiralanmış altyapıda koşar. Gerçek bir sağlayıcı, hizmet, bölge
  ya da kurum adı geçmez; ölçülen şey `node` ile yazılan bir **modeldir**.
- **BG2.** **Yanlış olabilir kalem**, değeri yanlış ayarlandığında erişim açan bir yapılandırma
  kalemidir. Yirmi bir kalem sayılır; liste kapsayıcı değil, örnektir.
- **BG3.** Her kalem üç hizmet modelinde ayrı ayrı ya müşteri ayarlar, ya sağlayıcı ayarlar, ya da
  hiç kimse ayarlamaz. Üçüncü durum sözleşmeden değil, iki tarafın da ötekinin yaptığını
  varsaymasından doğar.
- **BG4.** **Okunabilirlik** ayrı bir özelliktir: kalemin yürürlükteki değeri ya yönetim
  düzleminden okunur ya da hiç okunmaz. Sağlayıcının ayarladığı kalem müşteri tarafından yalnız
  **beyanla** bilinir.
- **BG5.** **Tohum ağırlığı**, kalem yanlışsa doğrudan açılan kalem sayısıdır. Kurgu bir sayıdır ve
  bu derste yalnız kalemleri ağırlıklandırmak için kullanılır; yürüyüşün kendisi sonraki derste
  koşturulur.
- **BG6.** Denetim listesinin bir satırı ancak kalem hem sahipliyse hem okunabiliyorsa otomatik
  koşabilir. Diğer durumlarda satırın bedeli değişir.

## Yanlış Olabilecek Kalemler

Model kalemleri üç sütunla yazıyor — hizmet modeli başına kimin ayarladığı — ve iki özellik daha
taşıyor: okunabilirlik ve tohum ağırlığı. Bu üçünden dört sınıf türetiliyor.

```js
// bulut/kalem.mjs — kiralanmis altyapida yanlis olabilecek kalemlerin MODELIDIR.
// Kurgu bolgesel olcum agi; gercek saglayici, hizmet, bolge ya da sozlesme adi yoktur.

export const MODEL = ['altyapi', 'platform', 'islev'];
// Sutunlar: kalemi kim ayarliyor (M musteri, S saglayici, B kimse) x uc hizmet modeli.
// oku: kalemin yururlukteki degeri musteri tarafindan nasil okunur.
//   arayuz = yonetim duzleminden okunur, hicbiri = ne arayuzden ne belgeden okunur.
// dokunma: kalem yanlissa dogrudan acilan kalem sayisi (tohum agirligi, kurgu).
export const KALEM = `
  fiziksel-erisim          S S S  arayuz    6
  hipervizor-yamasi        S S S  arayuz   14
  kiracilik-komsulugu      S S S  arayuz   11
  konak-cekirdek-yamasi    M S S  arayuz    9
  calisma-zamani-surumu    M M S  arayuz    5
  imaj-kaynagi             M M S  arayuz    7
  ornek-meta-veri-surumu   M B S  arayuz    8
  yonetim-ucu-acikligi     M B B  arayuz   10
  ag-erisim-kurali         M M B  arayuz    6
  ozel-uc-nokta-eslemesi   M M B  arayuz    4
  gunluk-akisi-hedefi      M M B  arayuz    3
  rol-guven-listesi        M M M  arayuz   12
  kimlik-rol-tanimi        M M M  arayuz    9
  depolama-izin-kumesi     M M M  arayuz    7
  depolama-genel-bayragi   M M M  arayuz    5
  anahtar-sahipligi        M M M  arayuz    8
  sir-deposu-erisimi       M M M  arayuz   13
  denetim-gunlugu-acik     M M M  arayuz    2
  sablon-varsayilani       M M M  hicbiri   9
  bagimlilik-surumu        M M M  hicbiri   4
  is-yuku-ici-sir          M M M  hicbiri  15`
  .trim().split('\n').map((s) => {
    const [ad, ...k] = s.trim().split(/\s+/);
    return { ad, oku: k[3], dokunma: Number(k[4]),
      taraf: Object.fromEntries(MODEL.map((m, i) => [m, k[i]])) };
  });

// Denetim listesi sinifi: kalem yanlis olursa bunu kim, neyle gorur.
export const sinif = (k, m) => k.taraf[m] === 'B' ? 'sahipsiz'
  : k.taraf[m] === 'S' ? 'beyan'
    : k.oku === 'arayuz' ? 'denetlenir' : 'kor';
export const SINIF = ['denetlenir', 'beyan', 'kor', 'sahipsiz'];
// Denetim satirinin bedeli: otomatik kosan kural, donemsel soru turu, ek duzenek, sahip atama.
export const BEDEL = { denetlenir: 'kural', beyan: 'soru turu', kor: 'ek duzenek',
  sahipsiz: 'once sahip' };
export const kume = (m, c) => KALEM.filter((k) => sinif(k, m) === c);
export const agirlik = (l) => l.reduce((a, k) => a + k.dokunma, 0);
export const TOPLAM = agirlik(KALEM);
```

```js
// bulut/kosum1.mjs — kac kalem musteride, kaci beyanda, kaci sahipsiz; kaci denetim listesi disi
import { KALEM, MODEL, SINIF, TOPLAM, kume, agirlik, sinif } from './kalem.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 A = [-27, 12, 12, 12];
const degisen = KALEM.filter((k) => new Set(MODEL.map((m) => sinif(k, m))).size > 1);
console.log(`${KALEM.length} yanlis olabilir kalem, tohum agirligi toplam ${TOPLAM}; ` +
  `sinifi uc modelde degisen ${degisen.length} kalem:\n`);
yaz(A, 'kalem', ...MODEL);
for (const k of degisen) yaz(A, k.ad, ...MODEL.map((m) => sinif(k, m)));

console.log('');
yaz(A, 'sinif (21 kalemin dagilimi)', ...MODEL);
for (const c of SINIF) yaz(A, c, ...MODEL.map((m) => kume(m, c).length));
yaz(A, 'denetim listesi disi kalem', ...MODEL.map((m) =>
  SINIF.slice(1).reduce((a, c) => a + kume(m, c).length, 0)));
yaz(A, '  tohum agirligi', ...MODEL.map((m) =>
  SINIF.slice(1).reduce((a, c) => a + agirlik(kume(m, c)), 0)));
yaz(A, '  agirligin yuzdesi', ...MODEL.map((m) =>
  Math.round(SINIF.slice(1).reduce((a, c) => a + agirlik(kume(m, c)), 0) / TOPLAM * 100)));
```

```
21 yanlis olabilir kalem, tohum agirligi toplam 167; sinifi uc modelde degisen 8 kalem:

kalem                           altyapi    platform       islev
konak-cekirdek-yamasi        denetlenir       beyan       beyan
calisma-zamani-surumu        denetlenir  denetlenir       beyan
imaj-kaynagi                 denetlenir  denetlenir       beyan
ornek-meta-veri-surumu       denetlenir    sahipsiz       beyan
yonetim-ucu-acikligi         denetlenir    sahipsiz    sahipsiz
ag-erisim-kurali             denetlenir  denetlenir    sahipsiz
ozel-uc-nokta-eslemesi       denetlenir  denetlenir    sahipsiz
gunluk-akisi-hedefi          denetlenir  denetlenir    sahipsiz

sinif (21 kalemin dagilimi)     altyapi    platform       islev
denetlenir                           15          12           7
beyan                                 3           4           7
kor                                   3           3           3
sahipsiz                              0           2           4
denetim listesi disi kalem            6           9          14
  tohum agirligi                     59          86         111
  agirligin yuzdesi                  35          51          66
```

Üst tablo yalnız sınıfı değişen sekiz kalemi gösteriyor; kalan on üç kalem üç modelde de aynı
sınıfta duruyor. Alt tablo asıl sayıyı veriyor: müşterinin yönetim düzleminden okuyup otomatik
denetleyebildiği kalem on beşten on ikiye, oradan yediye iniyor. Aynı yönde denetim listesinin
dışında kalan kalem altıdan dokuza, oradan on dörde çıkıyor.

Tohum ağırlığı satırı bu değişimin neden düz bir devir olmadığını gösteriyor. Yüz altmış yedi
birimlik toplam ağırlığın **denetim listesinin göremediği payı** yüzde otuz beşten yüzde elli bire,
oradan yüzde altmış altıya çıkıyor. Kalem sayısı iki katından biraz fazla artarken ağırlık payı
neredeyse iki katına çıkıyor — çünkü listeden düşen kalemler ağır olanlardır. `hipervizor-yamasi`
on dört, `is-yuku-ici-sir` on beş, `sir-deposu-erisimi` on üç birim taşıyor.

## Sınır Kaydıkça Liste Daralıyor

Üst tablo dört kalem grubunu birbirinden ayırıyor. `konak-cekirdek-yamasi`, `calisma-zamani-surumu`
ve `imaj-kaynagi` sağlayıcıya **açıkça** geçiyor: müşteri ayarlamıyor, sağlayıcı üstleniyor, denetim
beyana dönüşüyor. Bu bir kayıp değil, bir takas — kalem yanlış olabilir ama yanlışı yapan taraf onu
düzeltebilen taraftır.

`ag-erisim-kurali`, `ozel-uc-nokta-eslemesi` ve `gunluk-akisi-hedefi` başka bir yola giriyor.
Altyapı ve platform modelinde müşteri ayarlıyor; işlev modelinde çalışma ortamı bu kalemleri
soyutluyor ve sağlayıcı da onları sözleşmede üstlenmiyor. Sonuç sahipsizliktir: kalem hâlâ yanlış
olabilir, ama kimse ayarlamadığı için kimse denetlemez.

`yonetim-ucu-acikligi` iki modelde birden sahipsiz kalıyor ve on birimlik ağırlığıyla listedeki en
ağır sahipsiz kalem. `ornek-meta-veri-surumu` ise ilginç bir yol izliyor: altyapıda müşteri
ayarlıyor, platformda kimse ayarlamıyor, işlevde sağlayıcı üstleniyor. Devir derinleştikçe bir
kalem her zaman düz bir çizgide karşıya geçmiyor; **arada bir modelde boşluğa düşebiliyor**.

## Denetim Listesinin Bedeli

Dört sınıfın her biri denetim listesine ayrı bir bedelle giriyor. Sahipli ve okunabilir kalem için
bir kural yazılır ve sürekli koşar. Beyanla bilinen kalem için sağlayıcıya dönemsel bir soru
sorulur; yanıtın doğruluğu sınanamaz, yalnız kaydedilir. Kör nokta için değeri çalışan sistemden
çıkaracak ek bir düzenek gerekir. Sahipsiz kalem hiçbirine uymaz: satır yazılmadan önce kalemin
sahibi atanmalıdır.

```js
// bulut/kosum2.mjs — denetim listesi: kac satir otomatik kosuyor, kaci soru turu istiyor
import { MODEL, SINIF, BEDEL, TOPLAM, kume, agirlik } from './kalem.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 B = [-13, -14, 11, 11, 10];
yaz(B, 'sinif', 'satirin bedeli', ...MODEL);
for (const c of SINIF)
  yaz(B, c, BEDEL[c], ...MODEL.map((m) => `${kume(m, c).length} / ${agirlik(kume(m, c))}`));
console.log('  (hucre: kalem sayisi / tohum agirligi)\n');

const C = [-11, 9, 10, 7, 14, 12];
yaz(C, 'model', 'denetim', 'kapsanan', 'soru', 'sahibi yok', 'hic okunan');
yaz(C, '', 'satiri', 'agirlik', 'turu', 'kalem/agirlik', 'agirlik');
for (const m of MODEL)
  yaz(C, m, kume(m, 'denetlenir').length,
    `%${Math.round(agirlik(kume(m, 'denetlenir')) / TOPLAM * 100)}`,
    kume(m, 'beyan').length,
    `${kume(m, 'sahipsiz').length} / ${agirlik(kume(m, 'sahipsiz'))}`,
    agirlik(kume(m, 'kor')));
```

```
sinif        satirin bedeli    altyapi   platform     islev
denetlenir   kural            15 / 108    12 / 81    7 / 56
beyan        soru turu          3 / 31     4 / 40    7 / 60
kor          ek duzenek         3 / 28     3 / 28    3 / 28
sahipsiz     once sahip          0 / 0     2 / 18    4 / 23
  (hucre: kalem sayisi / tohum agirligi)

model        denetim  kapsanan   soru    sahibi yok  hic okunan
              satiri   agirlik   turu kalem/agirlik     agirlik
altyapi           15       %65      3         0 / 0          28
platform          12       %49      4        2 / 18          28
islev              7       %34      7        4 / 23          28
```

İlk tablo bedeli sınıf sınıf ayırıyor. Altyapı modelinde on beş satır otomatik koşuyor ve yüz sekiz
birimlik ağırlığı kapsıyor; işlev modelinde yedi satır kalıyor ve kapsanan ağırlık elli altıya
iniyor. Soru turu üçten yediye çıkıyor: her tur sağlayıcıya sorulan, yanıtı bekleyen ve
sınanamayan bir kalemdir.

İkinci tablo aynı üç modeli tek satırda okutuyor. Otomatik kapsanan ağırlık yüzde altmış beşten
yüzde otuz dörde iniyor. Sahibi olmayan kalem sıfırdan iki ve dörde, ağırlığı sıfırdan on sekiz ve
yirmi üçe çıkıyor. Bu kalemler için müşterinin bir seçeneği vardır — sahipliği üstlenmek — ve
üstlenildiğinde on sekiz ile yirmi üç birim listeye geri döner. Bedeli sözleşmede olmayan bir işin
kendi ekibine yazılmasıdır.

## Yanlış Kaç Gün Sonra Görülüyor

Satır sayısı listenin genişliğini verir, gecikmesini vermez. Otomatik koşan bir kural yanlışı
konduğu gün görür; dönemsel bir soru turu ancak turun geldiği gün görür; ek düzenek haftalık
toplarsa hafta içinde görür. Sahipsiz kalem hiç sorulmaz.

```js
// bulut/kosum3.mjs — yanlis kalem kac gun sonra fark ediliyor; hangi agirlik hic fark edilmiyor
import { MODEL, SINIF, TOPLAM, kume, agirlik } from './kalem.mjs';

// Fark edilme gecikmesi (gun): kural surekli kosar, soru turu donemseldir,
// ek duzenek kurulmussa haftalik toplar, sahipsiz kalem hic sorulmaz.
const GECIKME = { denetlenir: 0, beyan: 90, kor: 7, sahipsiz: null };
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 D = [-11, 9, 15, 16, 13];
yaz(D, 'model', 'gorulen', 'agirlikli', 'hic gorulmeyen', 'kor duzenek');
yaz(D, '', 'agirlik', 'gecikme (gun)', 'agirlik', 'kurulmazsa');
for (const m of MODEL) {
  const g = SINIF.filter((c) => GECIKME[c] !== null);
  const gor = g.reduce((a, c) => a + agirlik(kume(m, c)), 0);
  const top = g.reduce((a, c) => a + agirlik(kume(m, c)) * GECIKME[c], 0);
  yaz(D, m, gor, (top / gor).toFixed(1), TOPLAM - gor,
    TOPLAM - gor + agirlik(kume(m, 'kor')));
}
console.log('\nkural yerine soru turuna dusen agirligin gecikmeye katkisi:');
for (const m of MODEL)
  console.log(`  ${m.padEnd(10)}beyan agirligi ${String(agirlik(kume(m, 'beyan'))).padStart(3)}` +
    `, gecikmenin ${Math.round(agirlik(kume(m, 'beyan')) * 90 /
      (agirlik(kume(m, 'beyan')) * 90 + agirlik(kume(m, 'kor')) * 7) * 100)}%'i buradan`);
```

```
model        gorulen      agirlikli  hic gorulmeyen  kor duzenek
             agirlik  gecikme (gun)         agirlik   kurulmazsa
altyapi          167           17.9               0           28
platform         149           25.5              18           46
islev            144           38.9              23           51

kural yerine soru turuna dusen agirligin gecikmeye katkisi:
  altyapi   beyan agirligi  31, gecikmenin 93%'i buradan
  platform  beyan agirligi  40, gecikmenin 95%'i buradan
  islev     beyan agirligi  60, gecikmenin 96%'i buradan
```

Ağırlıklı gecikme on yedi virgül dokuz günden yirmi beş virgül beşe, oradan otuz sekiz virgül dokuz
güne çıkıyor. Yani aynı yanlış kalem işlev modelinde ortalama iki katından fazla süre yerinde
duruyor. Alt blok gecikmenin nereden geldiğini söylüyor: üç modelde de yüzde doksan üçten yüzde
doksan altıya kadar olan pay **beyan sınıfından** gelir. Kör noktanın haftalık düzeneği gecikmeye
neredeyse hiç katkı yapmıyor, çünkü yedi gün doksanın yanında küçüktür.

Son sütun bir uyarı taşıyor. Hiç görülmeyen ağırlık sıfır, on sekiz ve yirmi üçtür — ama bu sayı
kör nokta için bir ek düzenek kurulduğunu varsayar. Düzenek kurulmazsa hiç görülmeyen ağırlık
yirmi sekiz, kırk altı ve elli bire çıkar; işlev modelinde toplam ağırlığın yaklaşık üçte biri
hiçbir listeye düşmez. Bu, denetim listesinin genişliğiyle ilgili bir eksiklik değildir: liste
yirmi bir satırlık yazılabilir ve yine de o satırların bir bölümü hiçbir zaman değer okumaz.

## Kör Nokta Devirle Değişmiyor

Son sütun bu dersin karar taşıyan sayısını veriyor: hiçbir listenin okuyamadığı ağırlık üç modelde
de **yirmi sekiz** birimdir. Üç kalem — şablon varsayılanı, bağımlılık sürümü ve iş yükü içindeki
sır — üç modelde de müşterinindir, üçünde de yanlış olabilir ve üçünde de yönetim düzleminden
okunamaz.

Bunun anlamı şudur: hizmet modelini derinleştirmek kör noktayı küçültmez. Devir, kalemleri müşteri
ile sağlayıcı arasında taşır; okunabilirliği taşımaz. Sahipsiz kalemi üstlenmek de kör noktayı
kapatmaz — platformda iki sahipsiz kalem alındığında bile yirmi sekiz birim yerinde durur, çünkü
sahiplik zaten müşterideydi, eksik olan görünürlüktü.

Denetim listesi bu yüzden üç ayrı işi birden yapmalıdır: sahipli ve görünür kalemi kuralla
sürekli sınamak, sağlayıcının kalemini soru turuyla kaydetmek ve görünmeyen kalemi çalışan
sistemden çıkarmak. Bu dersin sonundaki liste yirmi bir satırlıktır ve işlev modelinde satırların
yalnız yedisi kendi başına koşar.

## Özet

- 21 yanlış olabilir kalem dört sınıfa ayrılıyor: denetlenen, beyanla bilinen, kör nokta, sahipsiz.
  Toplam tohum ağırlığı 167 birimdir.
- Otomatik denetlenebilen kalem 15 → 12 → 7; denetim listesinin dışında kalan kalem 6 → 9 → 14.
  Kapsanan ağırlık %65 → %49 → %34.
- Ağırlık payı kalem sayısından hızlı düşüyor, çünkü listeden düşen kalemler ağır olanlardır:
  `hipervizor-yamasi` 14, `is-yuku-ici-sir` 15, `sir-deposu-erisimi` 13 birim taşır.
- Sahipsiz kalem 0 → 2 → 4 ve ağırlığı 0 → 18 → 23. Bir kalem devir sırasında karşıya geçmek
  yerine arada bir modelde boşluğa düşebiliyor; `ornek-meta-veri-surumu` bunun örneğidir.
- Ağırlıklı fark edilme gecikmesi 17,9 → 25,5 → 38,9 gün. Gecikmenin %93 ile %96'sı beyan
  sınıfından gelir; kör noktanın haftalık düzeneği gecikmeye neredeyse hiç katkı yapmaz.
- Hiçbir listenin okuyamadığı ağırlık üç modelde de 28 birimdir. Devir kalemleri taşır,
  okunabilirliği taşımaz; sahipsiz kalemi üstlenmek de bu 28 birimi düşürmez.

## Sonraki Adım

Liste artık yazılı: yirmi bir kalem, dört sınıf ve her kalemin bir tohum ağırlığı. Ama tohum
ağırlığı bu derste bir sayı olarak verildi, hesaplanmadı. `sir-deposu-erisimi` kaleminin on üç
taşıdığı söylendi; on üçün nereden geldiği, o on üç kalemin kaçına doğrudan, kaçına başka bir
kimliğin üzerinden ulaşıldığı sorulmadı. Sonraki ders bu kursun ölçü birimini kuruyor: kimlikler ve
kalemler bir erişim grafiği olarak yazılıyor, sızan tek bir kimlikten yürüyüş gerçekten koşturuluyor
ve **yarıçap bir sayıya** dönüşüyor.
