Ny fifehezana ao amin’ny 21-compliance.md singa 14 izay angatahin’ny mpitsara anarana. Ity pejy ity ny fomba fiasa; ny tontolon-kevitra averiny no porofo.
Ny kiteny
Sasina amin’ny kiteny famantarana data vaovao (DEK) ny mombamomba alefa voatahiry tsirairay. Afohan’ny kiteny lehibe (KEK) ny DEK, ary tahirizina akaiky azy ny famantarana ny kiteny lehibe (key_ref, na ny famantarana ao anatin’ny sanda fampitarana). Ny fanavaozana kiteny lehibe dia manapaka ny DEK indray. Tsy manala na mamintina mombamomba alefa mihitsy izy.
| Filàlana | Hevitra |
|---|---|
QUIRE_MASTER_KEY |
Ny kiteny lehibe ankehitriny: 32 octet, base64. Afohana azy ny teny miafina vaovao tsirairay |
QUIRE_MASTER_KEY_VERSION |
Ny etiketan’ny version. v1 raha tsy misy. Ampio azy isaky ny fanovana kiteny |
QUIRE_MASTER_KEY_RETIRED |
Ny kiteny taloha nanatahiry teny miafina mbola mety ao ambany, toy ny v1=<base64>,v0=<base64>. Mamaky ihany, tsy manoratra mihitsy |
Mamaky ny filàlana telo mitovy ny sehatra ve-dalana, ny mpandray asa ary ny fehezanteny bun run kek:rotate. Tsy maintsy mitovy ny sandany rehetra, na iray aminy tsy afaka manokafa ny nataon’ny hafa.
Tsy misy QUIRE_MASTER_KEY dia mitazona ny kiteny avy amin’ny QUIRE_SECRET_KEY isaky ny sehatra. Miasa izany, mampiseho azy ho rabotra ny pejy fahasalaman’ny rindrina, ary mbola azo vakiana aorian’ny fanetrahanao kiteny lehibe, izay fomba firahitan’ny fanavaozana voalohany hanelengelena ny zavatra rehetra aminy. Olona afaka mamaky ny tontolon’ny rindrina dia afaka manala mombamomba alefa voatahiry tsirairay, ka tokony hisy kiteny lehibe ny fampandrafiana fiasa, tahirizina eo amin’ny trano teny miafina ary tsy ao amin’ny backup mitovy amin’ny data-by.
Fanavaozana
Aseho ny taon’ny kiteny ao amin’ny konsolin’ny serivera, Fiarovana, Kiteny lehibe, ary amin’ny metrika quire.secrets.master_key.age (andro). Ny fandaminana isan’andro platform.key_age (03:41 UTC) dia manoratra singa fampandrenesana ao amin’ny rindrin’ny fitsaran’ny serivera rehefa tonga ny kiteny 365 andro, ary indray isaky ny 30 andro mandraaka fanavaozana azy. Avaovy amin’ny fampandrenesana, ary isaky ny fotoana mety nofoana ny kiteny.
- Mamorona ny kiteny vaovao:
openssl rand -base64 32. - Metrahana
QUIRE_MASTER_KEYaminy aryQUIRE_MASTER_KEY_VERSIONamin’ny etiketa manaraka (v2). Alaina ny kiteny taloha mankany amin’nyQUIRE_MASTER_KEY_RETIREDamin’ny endrikav1=<old base64>. Tazomina kalitao tsirairay amin’ny toerana tsy eo amin’io mpandray anjara io ny roa. - Fampandrafina ny sehatra ve-dalana sy ny mpandray asa amin’ny filàlana vaovao. Ny teny miafina vaovao dia apetraka ankehitriny amin’ny
env:QUIRE_MASTER_KEY:v2; ny taloha mbola voasokafana amin’ny kiteny voavelana. - Mangataka ny fanavaozana, misy antony hahatongavana ao amin’ny rindrin’ny fitsarana:
- ao amin’ny konsoly: Fiarovana, Kiteny lehibe, Avaovy ny kiteny lehibe; na
- amin’ny shell misy ny tontolo mitovy:
bun run kek:rotate request --reason "Annual rotation, ticket SEC-114".
- Manapaka slice iray isaky ny minitra ny mpandray asa (ny fandaminana
platform.key_rotationan’ny mpandrinjaka) ary manohy aorian’ny fanavaozana. Hamarina amin’ny fandraisana iray:bun run kek:rotate run. Jereo amin’nybun run kek:rotate status. - Rehefa misy ny tontolon-kevitra fa vita ny fanavaozana amin’ny tsy misy tsy voavaha sy tsy diso, esory ny kiteny voavelana avy amin’ny
QUIRE_MASTER_KEY_RETIREDary fampandrafina. Mandraaka izany tazomina azy: ny sanda tsy nahafahany monjy dia mbola apetraka amin’ny kiteny taloha.
Ny zavatra alefan’ny asa
Ny tahirin’ny DEK apetraka rehetra: ny ao amin’ny SEALED_STORES (apps/worker/src/key-rotation.ts). Alefa eo amin’ny data-by fifehezana ny tahirin’ny data-by fifehezana; alefa ny tahirin’ny organisasa isaky ny organisasa iray amin’ny fiarovana isakin-tseza, ao amin’ny data-by misy ny organisasa, ka alefa ao amin’io data-by io ny mpanjifa voafaritra amin’ny data-by manokana. Diso ny fanadinana raha misy gerbozy kiteny apetraka ao amin’ny schema tsy voasoratra ao amin’ny lisitra, ary iray hafa raha tsy hitan’ny fijerena mombamomba alefa ny gerbozy sasina tsy ao amin’ny lisitra.
Ny tontolon-kevitra
ops.key_rotation: toerana iray isaky ny fanavaozana, misy antony, iza no mangataka, toe-javatra sy volany (voapakana, efa ankehitriny, tsy voavaha, diso).ops.key_rotation_progress: toerana iray isaky ny tahirina sy faritra rehefa alefa, misy ny famaritan’ny kiteny tsy afaka novakiany sy ny faharanitan’ny sanda misy eo ambany. Aseho eto ny fanavaozana atomboyina.- Rindrin’ny fitsaran’ny serivera:
platform/key_rotation_request(misy antony),platform/key_rotation_storeiray isaky ny tahirina misy isany, aryplatform/key_rotation_completenaplatform/key_rotation_fail;platform/key_age_reminderho an’ny fampandrenesana. - Metrika:
quire.secrets.master_key.agearyquire.secrets.rewrap.outstanding(ny sanda tsy nahafahy monjy ny fanavaozana farany).
Rehefa tsy voavaha ny sanda
Sanda tsy voavaha dia apetraka amin’ny famaritan’ny kiteny tsy ahitana io fampandrafiana io, na tsy ao amin’ny endrika noheveran’ny gerbozy any. Mampiseho ny famaritana ny tontolon-kevitra fandrosoana (ohatra env:QUIRE_MASTER_KEY:v0 (unreadable)). Avereno io kiteny io amin’ny QUIRE_MASTER_KEY_RETIRED alefa fanavaozana hafa, na, raha very tanteraka io kiteny, angataho an’ny mpikarakarana ny organisasa hanampy indray ny mombamomba alefa: dia apetraka amin’ny kiteny ankehitriny avy eo izy. Mampiseho ny fahadisoany ao amin’ny tontolon-kevitra ny fanavaozana diso; lanjo ny antony ary mangataka indray.
Kiteny marinana
Samy hafa amin’ny kiteny lehibe: isaky ny organisasa dia manamarina ny token OpenID Connect sy ny hafatra LTI amin’ny kiteny RSA manokany, apetraka ao amin’/.well-known/jwks.json. Tsy mila mpikasoka mihitsy eto. Ny fandaminana isan’ora platform.signing_keys dia manome mpandray toerana herinandro alohan’ny faran’ny 90 andrin’ny kiteny ankehitriny, herinandro avy eo dia manomboka manamarina ny mpandray toerana ary ho retiring ny kiteny taloha, ary 90 andro avy eo dia esorina ny kiteny taloha avy amin’ny setin’ny kiteny. Singa platform/signing_key_advance tsirairay ao amin’ny rindrin’ny fitsaran’ny serivera ny dingana tsirairay.
Hanova kiteny organisasa amin’ny haingana, ohatra aorian’ny fanehoana:
- ao amin’ny konsoly: Fiarovana, Kiteny lehibe, Apetraho kiteny marinana vaovao (mila
platform/keys_manage); na - amin’ny shell misy ny tontolo an’ny mpandray asa:
bun run kek:rotate signing-keys rotate --tenant <slug or id> --reason "Key exposed, INC-3310". Nybun run kek:rotate signing-keys statusdia mizara ny kiteny an’ny samy organisasa arakaty ny dingana.
Aseho haingana ny kiteny vaovao ary manomboka manamarina aorian’ny herinandro, rehefa mivoaka ny kiteny ankehitriny. Lalina ny herinandro: mitahiry ny setin’ny kiteny ny mpanankarena, ary ny overlap fohy kokoa dia manakona ny fitaovana tsirairay amin’ny fotoana iray. Mbola ao amin’ny setin’ny kiteny 90 andro fanampiny ny kiteny mivoaka ka mbola marina ny token notenany; raha midika ny fanehoana fa tokony hosasana haingana kokoa azy, ny fanesana ny anjarany dia fanovana ataon’ny mpikasoka amin’ny fifanarahan’ny data-by manokany amin’ny alàlan’ny tontolon-kevitra fanovana (fidirana anatra tsy miankina amin’ny fanoratana ihany), ary tsy mahomby ny fanamarinana ny token notenana aminy avy eo. Ny fanavaozana an-teraka dia platform/signing_key_rotate ao amin’ny rindrin’ny fitsarana, misy antony. Mila ny filàlana QUIRE_MASTER_KEY mitovy amin’ny sehatra ve-dalana ny mpandray asa hanapakana ny kiteny vaovao; ny bun run kek:rotate ho an’ny kiteny lehibe dia manapaka indray ny kiteny marinana miaraka amin’ny zavatra hafa rehetra (oauth_signing_key ao amin’ny SEALED_STORES).
Fidirana anatra amin’ny fiasa
Tsy manana fahafahana maharitra amin’ny fiasa olona na inona na inona. Rehefa tsy mety miandry, dia mamela fahafahana anatra tompony iray: konsolin’ny serivera, Fiarovana, Fidirana anatra.
- Misy faritra ny fahafahana (organisasa iray, na lisitin’ny serivera), antony farany 20 litera manambara ny zava-mitranga na karatra, ary fotoana 5 hatramin’240 minitra. Manapaky azy an-kibo: jerena amin’ny ontolo isaky ny fehezanteny.
- Afaka alefa azy ho an’ny tompony mamela azy, na ho an’ny tompony hafa (endrika olona roa). Ny olona noforoniny no afaka mampiasa azy. Ny fanomehana mila
platform/break_glass_issueary ny fampiasana milaplatform/break_glass_use; olona tompony ihany roa amin’ny toe-javatra fototra. - Mandeha ny fehezanteny amin’ny alàlan’ny gateway, tsy amin’ny fandraisana data-by: famakarana ihany, iray iray, voafehy amin’ny organisasa na amin’ny lisitin’ny fifehezana, misy fetra 5 segondra ary farany 500 toerana. Aseho amin’ny habeny ny sanda binary.
- Mijery ny rindrin’ny fitsaran’ny serivera ny fanomehana (misy antony), ny fanalana, isaky ny fehezanteny alohan’ny hisoratany (
platform/break_glass_statement, ny acomina misy vokanydenied) ary isaky ny vokany (platform/break_glass_result). Nyops.break_glass_statementdia mitahiry ny ID singam-panitsarana, ka mifandray ny tontolon-kevitra fanomehana amin’ny singam-panitsarany. - Tsy omena ny fanoratana. Ny fanovana tsy mety miandry fandefasana dia ampiasain’ny mpikasoka ny fifanarahan’ny data-by manokany amin’ny alàlan’ny tontolon-kevitriny fanovana manokana, ivelany an’ity rindrina ity, ary tokony mampitahao ny mari-pamaritana zava-mitranga ampiasaina eto.
Antony tsy fanomevana mombamomba alefa data-by: ny fandraisana Postgres dia nohoana ny session nangataka azy, mamaky ny fiarovana isakin-tseza an’ny fampiharana, ary tsy afaka manoratra ao amin’ny rindrin’ny fitsarana an’ity rindrina ity, ka ny fehefantany dia hitsaraina amin’ny fahatanterahana ny nandefasan’ny log an’ny serivera ihany. Mahatonga ny rindrin’ny fitsarana ho toetran’ny fahafahana fa tsy fomba aminy ny gateway.
Hanamora fangatan-kevitra fitsarana: lisitio ny fahafahana ao amin’ny fotoana (Fidirana anatra), sokafy ny tantaran’ny fahafahana iray hanitsiana ny fehefantany sy ny ID singam-panitsarana, ary vakio ireo singa ao amin’ny rindrin’ny fitsaran’ny serivera (bun run audit:verify --platform dia manamarinana fa tsy simba ny rindrina).