Documentation
¶
Overview ¶
Package policy answers one question: may this user reach this target, and as which OS account?
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SFTPDecider ¶ added in v1.2.0
* SFTPDecider, kullanıcının rollerinden bir yol politikası üretir. * * ⚠️ HİÇBİR ROLDE KURAL YOKSA nil DÖNÜYOR — ve bu, "her şeyi reddet"in * tersi. nil politika kurulmadığı anlamına geliyor, yani veri yolu bu * özellik eklenmeden önceki gibi çalışıyor: fazladan karar, fazladan * tutma, fazladan gecikme yok. Kısıtlama kural yazıldığında başlıyor. * * ⚠️ BİRLEŞİM. Rollerden HERHANGİ BİRİ izin veriyorsa erişim var. Kesişim * seçseydik kısıtlı bir rol eklemek, kullanıcının mevcut erişimini * SESSİZCE daraltırdı. Birleşimde rol eklemek yalnızca genişletiyor. * * Sonucu: kuralsız BİR rol, kurallı diğerlerini etkisiz kılıyor. Sezgiye * aykırı görünüyor ama tutarlı — kural yazmak bir ROLÜ kısıtlamak demek, * kullanıcıyı değil. Belge bunu böyle anlatıyor.
Types ¶
type Decision ¶
type Decision struct {
Allowed bool
OSUser string
Reason string
// Temporary, iznin bir rolden değil süreli bir haktan geldiği —
// denetim satırı ve oturum kaydı bunu söylemeli.
Temporary bool
}
func AuthorizeWithTemporary ¶ added in v1.2.0
func AuthorizeWithTemporary(u model.User, t model.Target, requested string, temp []model.TemporaryAccess, now time.Time) Decision
* AuthorizeWithTemporary, Authorize'ın süreli hakları da tanıyan hâli. * * ⚠️ ROL ÖNCE. Rolü olan kişi için hak fazladan bir şey söylemiyor; rolü * OLMAYAN kişi için hak, hedefe giden TEK yol. Hak ancak hedefte * uygulanmış (hesap açılmış), vadesi dolmamış ve kişinin bugünkü * os_user'ıyla aynı hesaba verilmişse sayılıyor: sertifikanın principal'ı * os_user, hedefteki principals dosyası da hakkın hesabına yazılıyor — * ikisi ayrışırsa hedef zaten reddeder, ama burada durmak reddi bastion'da * ve gerekçeli tutuyor. * * ⚠️ AYNI KONTROLLER: root, yönetim hesabı ve ad biçimi burada da * reddediliyor. Süreli hak bir kestirme değil.