Documentation
¶
Overview ¶
* Package jit, geçici erişimin yaşam döngüsü: bir hedefte süreli hesap * açmak, süresi dolunca oturumlarını kesip hesabı sökmek, ve olmadıysa * olmadığını yüksek sesle söylemek. * * ⚠️ BU PAKET HEDEFTE ROOT'LA İŞ YAPIYOR. Her giriş yolu iki kural * taşıyor: denetim satırı BAĞLANMADAN ÖNCE yazılıyor ve yazılamazsa * bağlanılmıyor (httpapi/terminate.go ile aynı gerekçe); hedefe giden her * komut provision'ın planından geçiyor, burada komut kurulmuyor.
Index ¶
Constants ¶
const ( /* * MinDuration / MaxDuration, bir hakkın süresinin sınırları. * * ⚠️ ALT SINIR SÜPÜRÜCÜNÜN TURUNDAN UZUN. Süpürücü dakikada bir * bakıyor; bir dakikalık hak, daha uygulanmadan geri alınmaya * başlayabilirdi. ÜST SINIR "geçici"nin anlamını koruyor: otuz günden * uzun bir hak kalıcı erişimdir ve o rol/hedef bağıyla verilmeli. */ MinDuration = 5 * time.Minute MaxDuration = 30 * 24 * time.Hour )
Variables ¶
var ( ErrNotEnabled = errors.New("jit: management is not enabled on this bastion") ErrRevoked = errors.New("jit: the grant has already been revoked") )
Functions ¶
This section is empty.
Types ¶
type Outcome ¶
type Outcome struct {
Grant store.JITGrant
Report provision.Report
// Terminated, geri almada kesilen açık oturum sayısı.
Terminated int
}
Outcome, bir grant ya da revoke koşusunun sonucu: kayıt ve hedefte adım adım ne olduğu.
type Request ¶
type Request struct {
// Username, postern kullanıcısı; hedefteki hesap onun os_user'ı.
Username string
Target string
Groups []string
Sudo *sudoers.Rule
Duration time.Duration
// CleanupGroups, geri almada postern'in bu hak için açtığı gruplardan
// boş kalanları silme izni. Panelin onay kutusu; varsayılan evet.
CleanupGroups bool
}
Request, istenen hak.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service, hakların yaşam döngüsünü yürütür.
func New ¶
New, hizmeti kurar. live nil olabilir: o zaman süresi dolan hakkın açık oturumları kesilmez (yalnızca hesap sökülür) ve bu loglanır.
func (*Service) Grant ¶
* Grant, hedefte süreli hesap açar. * * Sıra: doğrula → denetim satırı → bağlan → yeteneği ölç → durumu oku → * planla → KAYDI YAZ → uygula → sonucu yaz. Kayıt uygulamadan önce * yazılıyor (bkz. store.CreateJITGrant); plan uygulamadan önce reddederse * (yönetilemeyen makine, önceden var olan hesap, kötü ad) hedefe hiç * dokunulmadığı için kayıt da yok.
func (*Service) Revoke ¶
* Revoke, hakkı geri alır: açık oturumlar kesilir, hesap ve dosyaları * sökülür. Elle ve otomatik geri alma bu tek yoldan geçiyor. * * ⚠️ OTURUMLAR ÖNCE, HESAP SONRA. Hesap silinirken oturum açık kalsaydı, * kabuk sahipsiz bir UID ile koşmaya devam ederdi; sökme planı süreçleri * öldürüyor ama bastion'daki oturum kaydı ancak burada kapanıyor.