Ana içeriğe geç

Küme-6 — Bağlam-Geçişi ve Yetki

Dilim-1B · Kabul SLICE-bütünüyle (PILOT-SLICE-1B). Üst-otorite iskeleti: CAN-DEC-ADR-002 (§3 türetilmiş-erişim · §5.1 erişim-formülü · §7 fail-closed ilkeleri).

Özet

Kullanıcının bağlamlar-arası hareketi ve her bağlamdaki yetkisinin kaynağı. Temel ilke: bağlam ≠ kimlik ≠ yetki — geçiş yetki taşımaz; yetki her bağlamda yeniden türetilir; UI hiçbir zaman güvenlik-mekanizması değildir.

Kapsanan use-case'ler

UC-14 — Bağlam-geçişi

1. Nedir? — Kişisel ↔ kurumsal workspace'ler arasında geçiş; eski-workspace yetkileri yeniye TAŞINMAZ (SCN). CAN-DEC-ADR-002 §7-ilke-6: workspace-değişimi backend'de her-istekte kapsam-doğrulanır; ilke-7: URL/ID/payload değişikliğiyle başka-workspace'e geçilemez.

2. Aktörler, Sınıf ve Uygulanabilirlik — Aktör: çok-workspace'li kullanıcı.

3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).

12. Governance ve Durumgovernance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).

UC-15 — Workspace-bazlı rol-capability

1. Nedir? — Yetki-formülü (CAN-DEC-ADR-002 §3 karar-metni diliyle — SCN:95 ile birebir örtüşür, Pre-Audit-teyitli): kurumsal tenant + workspace erişimi organization-membership + role/capability + resource-scope + policy üzerinden TÜRETİLİR; users.tenant_id hiçbir yetki-kararında otorite DEĞİLDİR (§5.4, authz-DEPRECATED + CI-ratchet kod-repo'da canlı).

2. Aktörler, Sınıf ve Uygulanabilirlik — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).

12. Governance ve Durumgovernance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).

UC-16 — Son-workspace-hatırlama

1. Nedir? — Son-kullanılan workspace hatırlanır; erişim bittiyse AÇILMAZ + açıklanır (güvenli-kişisel bağlama düşer; UC-11 varsayılan-bağlam kural-setiyle uyumlu).

2. Aktörler, Sınıf ve Uygulanabilirlik — Aktör: dönen kullanıcı.

3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).

12. Governance ve Durumgovernance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).

UC-26 — Yetkisiz-workspace backend-reddi (pilota KURAL olarak — SCN Ek-UC kararı)

1. Nedir?Yetkisiz-workspace erişimi BACKEND'de reddedilir; UI-switcher/gizleme güvenlik-mekanizması SAYILMAZ (SCN küme-6 kuralı + başarı-kriteri 16). CAN-DEC-ADR-002 §7-ilke-1/6/7 forward-flag: tenant-context-yokluğu erişim vermez · her-istek kapsam-doğrular · parametre-manipülasyonu geçiş sağlamaz.

2. Aktörler, Sınıf ve Uygulanabilirlik — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).

12. Governance ve Durumgovernance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).

Gerçeklik-denetimi notu (K55 — REUSE-zemin)

  • users.last_active_workspace_id kolonu CANLI (kod-repo PAKET-2: nullable + FK-nullOnDelete; yeni-signup'ta personal-workspace ile dolduruluyor) → UC-16'nın ilk tüketici-kod zemini HAZIR; okuma/geçiş-akışı henüz YOK (bu kümenin implementasyon-konusu, ayrı-gate).
  • Rol-altyapısı kodda VAR (custom-RBAC: user_role_assignments tenant+workspace-scoped, UserHasRoles parametrik) — yetki-formülünün membership-ayağı Paket-3 kod-işi.
  • Bağlam-geçiş UI'ı (workspace-switcher) YOK — yeni-yüzey.

Yüzey-notu (K97)

Bağlam-geçiş/switcher ekranları React-/dashboard'da dilim-gömülü doğar (legacy-ADR-038 §2.5-R1 + K97).

İlgili misuse-vakaları (SCN 35-listesinden)

№5 çoklu-organizasyon üyeliği (bağlamlar karışmaz; yetki bağlam-yerel) · №6 erişimi-kalkan son-workspace (UC-16 güvenli-düşüş) · №14 workspace-değişiminde eski tenant/cache kalıntısı · №15 kapanan membership'in açık oturumu (erişim-sonlandırma SLA'sı — SCN başarı-kriteri 19, ADR-bağlanır).

Kabul-kriterleri (SCN 20-listesinden ilgililer)

  • (4) Çoklu-workspace görünür ve gezilebilirdir.
  • (5) Bağlam-geçişinde veri ve yetki izolasyonu TAMDIR (taşıma/sızıntı yok).
  • (16) Yetkisiz-workspace erişimi BACKEND'de reddedilir.
  • (8-izdüşüm) Bağlam/yetki değişimleri audit-izlidir.

Downstream-ADR işaretleri (forward-flag)

  • → ADR: Context-switch + yetki-kapsamı (SCN ADR-başlık-listesi).
  • → ADR: Session/token yaşam-döngüsü (erişim-sonlandırma SLA X/Y değerleri — kriter-19).
  • → CAN-DEC-ADR-002 Aşama-2 Paket-3 (org/membership kod-inşası) bu kümenin sözleşmesini tüketir.

Amendment AMD-1 — AppShell Workspace/Context-Switcher davranışı (UC-33) 〔CEO-onaylı 11 Tem 2026〕

Kaynak: CEO use-case-yaklaşım-kararı (K212). Bu amendment UC-14/15/16/26'nın GÜVENLİK-sözleşmesini değiştirmez; switcher'ın AppShell-yüzey-davranışını ürün-UC'si olarak bağlar (CAN-DEC-ADR-005 §3 meşru-fark-listesi karşılığı).

UC-33 — Workspace/Context-Switcher kullanımı (Dalga-1/2)

1. Nedir? — - Given birden-fazla erişilebilir bağlam When AppShell-switcher'ı açar Then yalnız YETKİLİ-bağlamlarını görür + geçişte eski-bağlam-yetkileri taşınmaz (UC-14-hükmü aynen) + aktif-bağlam görsel-olarak nettir.

  • UI-switcher güvenlik-mekanizması SAYILMAZ (UC-26-kuralı aynen; backend-reddi otorite).

2. Aktörler, Sınıf ve Uygulanabilirlik — Aktör: birden-fazla erişilebilir-bağlamı olan kullanıcı.

3. Amaç / Kullanıcı Sonucu — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

4. Tetikleyici — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

5. Ön Koşullar — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

6. Beklenen Davranış — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

7. Alternatif / İstisna / Red Akışları — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

8. Beklenen Sonuç / Son Koşul — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

9. Kabul Kriterleri — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

10. Kapsam Dışı — N/A — v1-kaynakta ayrı bölüm yok (format-only 🅐-normalize; içerik §Kapsanan/paket-bölümlerde; UCSTD-001 §6).

11. İzlenebilirlik — Parent-UCG üyesi. Atomik traceability henüz beyan-edilmedi (UCSTD-001 §3).

12. Governance ve Durumgovernance_mode: INHERITED_FROM_PACKAGE · statü parent-UCG'den MİRAS (ayrı acceptance-event DEĞİL; UCSTD-001 §3).

Bağımlılıklar (CAN-GOV-UCDEP-001)

Bağımlılık-listesi BEYAN EDİLMEMİŞTİR (dependency_analysis: pending). decision_ready İLANI YOKTUR.

İzlenebilirlik

upstream: CAN-REQ-SCN-001 (senaryo-kapsam sözleşmesi). governed_by: CAN-GOV-UCDEP-001. related: CAN-DEC-ADR-002 (bağlayıcı üst-iskelet; Pre-Audit çelişki-taraması temiz — UC-15 formülü §3 ile birebir, 4 Tem). downstream: türetilir.


CAN-REQ-UCG-006 · requirements/normative · governance_status: accepted (Human-CEO paket-kabulü PILOT-SLICE-1B, 4 Tem 2026 — use-case-SCOPE kabulü; implementation/effective AYRI kapılar).