Na smachdan ann an earrann 14 de 21-compliance.md a dh’iarras neach-sgrùdaidh nan ainm. Seo am modh-obrach; ’s iad na clàran a chruthaicheas e an fhianais.
Na h-iuchraichean
Tha gach teisteanas stòraichte air a sheulachadh le iuchair-chrioptachaidh dàta (DEK) ùr. Tha an DEK air a pasgadh leis an iuchair-mhaighstir (an KEK), agus tha iomradh na h-iuchrach-mhaighstir air a stòradh ri thaobh (key_ref, no an t-iomradh taobh a-staigh luach pacaichte). Bidh cuairteachadh na h-iuchrach-mhaighstir ag ath-phasgadh nan DEK. Cha dì-chrioptaich no ath-chrioptaich e teisteanas.
| Roghainn | Brìgh |
|---|---|
QUIRE_MASTER_KEY |
An iuchair-mhaighstir làithreach: 32 baidht, base64. Thèid gach dìomhaireachd ùr a phasgadh innte |
QUIRE_MASTER_KEY_VERSION |
Leubail an tionndaidh. v1 mura h-eil i suidhichte. Meudaich e gach turas a dh’atharraicheas tu an iuchair |
QUIRE_MASTER_KEY_RETIRED |
Iuchraichean na bu tràithe a dh’fhaodadh fhathast dìomhaireachdan a dhìon, mar v1=<base64>,v0=<base64>. Leugh a-mhàin, na sgrìobh |
Leughaidh an t-sreath-lìn, an neach-obrach agus àithne bun run kek:rotate na trì roghainnean ceudna. Feumaidh na h-aon luachan a bhith aca uile, no chan urrainn do dh’aon dhiubh fosgladh na sheulaich fear eile.
Gun QUIRE_MASTER_KEY, cumaidh gach fo-shiostam iuchair a thig e à QUIRE_SECRET_KEY. Obraichidh seo; tha duilleag slàinte an t-siostaim a’ sealltainn gu bheil an t-inbhe air a dhol sìos agus bidh an iuchair fhathast furasta a leughadh an dèidh dhut prìomh iuchair a shuidheachadh, agus sin mar a ghluaiseas a’ chiad chuairteachadh a h-uile càil air falbh bhuaipe. Faodaidh neach sam bith a leughas àrainneachd a’ phròiseis gach teisteanas stòraichte a dhì-chrioptachadh; mar sin bu chòir iuchair-mhaighstir a bhith aig stàladh riochdachaidh, ann an stòr dhìomhaireachdan seach sa chùl-taic cheudna ris an stòr-dàta.
Cuairtich
Tha aois na h-iuchrach ri fhaicinn ann an Consol Àrd-chabhsaire, Tèarainteachd, Iuchair-mhaighstir agus mar mheatraig quire.secrets.master_key.age (làithean). Sgrìobhaidh an clàr làitheil platform.key_age (03:41 UTC) inntrigeadh cuimhneachaidh ann an sreath sgrùdaidh an àrd-chabhsaire nuair a ruigeas an iuchair 365 latha, agus a-rithist gach 30 latha gus an tèid a cuairteachadh. Dèan cuairteachadh nuair a thig an cuimhneachan, agus uair sam bith a dh’fhaodadh iuchair a bhith fosgailte.
- Cruthaich an iuchair ùr:
openssl rand -base64 32. - Suidhich
QUIRE_MASTER_KEYrithe agusQUIRE_MASTER_KEY_VERSIONchun ath leubail (v2). Gluais an t-seann iuchair guQUIRE_MASTER_KEY_RETIREDmarv1=<old base64>. Cùm lethbhreac den dà iuchair an àiteigin eile seach air an aoigh seo. - Cleachd an t-sreath-lìn agus an neach-obrach leis na roghainnean ùra. Thèid dìomhaireachdan ùra a phasgadh a-nis fo
env:QUIRE_MASTER_KEY:v2; fosglaidh feadhainn shean fhathast leis an iuchair a chaidh a leigeil dhith. - Iarr an cuairteachadh leis an adhbhar a thèid a chlàradh ann an sreath an sgrùdaidh:
- anns a’ chonsol: Tèarainteachd, Iuchair-mhaighstir, Cuairtich an iuchair-mhaighstir; no
- ann an slige leis an aon àrainneachd:
bun run kek:rotate request --reason "Annual rotation, ticket SEC-114".
- Ath-phaisgidh an neach-obrach pìos dhiubh gach mionaid (clàr
platform.key_rotationa’ chlàradair) agus leanaidh e às dèidh ath-thòiseachaidh. Gus crìoch a chur air ann an aon sheisean:bun run kek:rotate run. Cumaibh sùil leisbun run kek:rotate status. - Nuair a sheallas an clàr gun deach an cuairteachadh a chrìochnachadh le neoni gun fhuasgladh agus neoni fàilligeadh, thoir air falbh an t-seann iuchair à
QUIRE_MASTER_KEY_RETIREDagus cleachd a-rithist e. Cùm i gus an uair sin: tha luach nach b’ urrainn dhi gluasad fhathast paisgte fon t-seann iuchair.
Na thèid an obair troimhe
Gach stòr a chumas DEK paisgte: an fheadhainn ann an SEALED_STORES (apps/worker/src/key-rotation.ts). Thèid stòran bunait smachd a choiseachd san stòr-dàta smachd; thèid stòran buidhne a choiseachd aon bhuidheann aig aon àm fo tèarainteachd ìre-shreathan, anns an stòr-dàta far a bheil a’ bhuidheann. Mar sin thèid neach-gabhail a tha ceangailte ri stòr-dàta sònraichte a chuairteachadh anns an stòr-dàta sin. Fàilligidh deuchainn nuair a chuireas an sgeama colbh iuchair-phaisgte ris nach eil air ainmeachadh san liosta, agus fàilligidh tè eile nuair nach fhaic lèirmheas theisteanasan colbh seulaichte a tha air chall às an liosta.
An clàr
ops.key_rotation: aon sreath airson gach cuairteachadh, le adhbhar, cò dh’iarr e, inbhe agus àireamhan (ath-phasgta, làithreach mar-thà, gun fhuasgladh, air fàilligeadh).ops.key_rotation_progress: sreath airson gach stòr is raon a chaidh a choiseachd, le iomraidhean iuchrach nach gabhadh leughadh agus cia mheud luach a bha fo gach tè. Leumaidh cuairteachadh a thèid ath-thòiseachadh thairis orra sin.- Sreath sgrùdaidh an àrd-chabhsaire:
platform/key_rotation_request(leis an adhbhar), aonplatform/key_rotation_storegach stòr le àireamhan, agusplatform/key_rotation_completenoplatform/key_rotation_fail;platform/key_age_reminderairson a’ chuimhneachaidh. - Meatraigean:
quire.secrets.master_key.ageagusquire.secrets.rewrap.outstanding(luachan nach b’ urrainn don chuairteachadh mu dheireadh gluasad).
Nuair a tha luachan gun fhuasgladh
Tha luach gun fhuasgladh paisgte fo iomradh iuchrach nach eil aig an stàladh seo, no chan eil e san chruth a tha an colbh a’ gealltainn. Ainmichidh an clàr adhartais an t-iomradh (mar eisimpleir env:QUIRE_MASTER_KEY:v0 (unreadable)). Cuir an iuchair air ais ann an QUIRE_MASTER_KEY_RETIRED agus ruith cuairteachadh eile; no, ma tha an iuchair air chall gu bràth, iarr air rianaire na buidhne an teisteanas a chur a-steach a-rithist, agus thèid a sheulachadh leis an iuchair làithreach. Seallaidh cuairteachadh a dh’fhàillig a mhearachd air a’ chlàr; ceartaich an t-adhbhar agus iarr a-rithist e.
Iuchraichean-soidhnidh
Air leth bhon iuchair-mhaighstir, soidhnichidh gach buidheann tòcan OpenID Connect agus teachdaireachdan LTI leis an iuchair RSA aice fhèin, air fhoillseachadh aig /.well-known/jwks.json. Chan fheum an gnìomhaiche dad a dhèanamh an seo. Foillsichidh an clàr uairail platform.signing_keys iuchair a thig na h-àite seachd làithean mus tig 90 latha na h-iuchrach làithrich gu crìch; seachdain às dèidh sin tòisichidh an tè ùr air soidhnigeadh agus thèid an t-seann tè a chur a-mach à seirbheis; agus às dèidh 90 latha eile thèid an t-seann iuchair a sguabadh às agus às an t-seata. Tha gach ceum na inntrigeadh platform/signing_key_advance ann an sreath sgrùdaidh an àrd-chabhsaire.
Gus iuchair buidhne a chur na h-àite tràth, mar eisimpleir an dèidh nochdadh:
- sa chonsol: Tèarainteachd, Iuchair-mhaighstir, Foillsich iuchair-soidhnidh ùr (feumar
platform/keys_manage); no - ann an slige le àrainneachd an neach-obrach:
bun run kek:rotate signing-keys rotate --tenant <slug or id> --reason "Key exposed, INC-3310". Thabun run kek:rotate signing-keys statusa’ liostadh iuchraichean gach buidhne a rèir ìre.
Foillsichear an iuchair ùr sa bhad agus tòisichidh i air soidhnigeadh an dèidh seachd làithean nuair a thèid an iuchair làithreach a leigeil dhith. Tha an t-seachdain sin a dh’aona ghnothach: tasgaidh pàrtaidhean earbsach seata na h-iuchrach, agus dh’fhàilligheadh a h-uile inneal aig an aon àm le tar-lùbadh nas giorra. Fanaidh an iuchair a tha ga leigeil dhith san t-seata airson 90 latha eile gus an lean tòcan a chaidh a soidhnigeadh leatha orra a bhith air an dearbhadh. Ma tha an nochdadh a’ ciallachadh nach bu chòir earbsa a bhith innte nas tràithe, ’s e atharrachadh a nì an gnìomhaiche le ruigsinneachd stòr-dàta fhèin fo chlàr atharrachaidh a th’ ann a sreath a sguabadh às (tha ruigsinneachd èiginn leughaidh a-mhàin), agus fàilligidh dearbhadh tòcan a chaidh a soidhnigeadh leatha. Tha an cuairteachadh èignichte clàraichte mar platform/signing_key_rotate ann an sreath sgrùdaidh an àrd-chabhsaire leis an adhbhar. Feumaidh an aon roghainn QUIRE_MASTER_KEY a bhith aig an neach-obrach agus aig an t-sreath-lìn gus an iuchair ùr a phasgadh; nì bun run kek:rotate airson an iuchair-mhaighstir ath-phasgadh air iuchraichean-soidhnidh còmhla ris a’ chòrr (oauth_signing_key ann an SEALED_STORES).
Ruigsinneachd èiginn riochdachaidh
Chan eil ruigsinneachd sheasmhach gu riochdachadh aig duine sam bith. Nuair nach urrainn rudeigin feitheamh, bheir sealbhadair cead èiginn seachad: Consol Àrd-chabhsaire, Tèarainteachd, Ruigsinneachd èiginn.
- Tha raon aig cead (aon bhuidheann no clàr an àrd-chabhsaire), adhbhar co-dhiù 20 caractar ag ainmeachadh na tachartais no na tiogaid, agus uinneag 5 gu 240 mionaid. Thig e gu crìch leis fhèin: thèid sùil a thoirt air a’ ghleoc airson gach aithris.
- Faodar a chur chun an t-sealbhadair a dh’iarras e no gu sealbhadair eile (dòigh dithis). Chan urrainn ach don neach dha an deach a thoirt a chleachdadh. Feumar
platform/break_glass_issueairson a thoirt seachad agusplatform/break_glass_useairson a chleachdadh; ’s ann do shealbhadairean a-mhàin a tha an dà chuid mar bhun-roghainn. - Bidh aithrisean a’ dol tron gheata seach logadh a-steach stòr-dàta: leughadh a-mhàin, aon aig aon àm, cuingichte ris a’ bhuidhinn no ris a’ chlàr smachd, le ùine-ama còig diogan agus 500 sreath aig a’ char as motha. Tha luachan dàna air an sealltainn a rèir meud.
- Clàraidh sreath sgrùdaidh an àrd-chabhsaire an cead (leis an adhbhar), a chùl-ghairm, gach aithris mus ruith i (
platform/break_glass_statement, feadhainn a chaidh a dhiùltadh leis an toradhdenied) agus gach toradh (platform/break_glass_result). Tha IDan inntrigidhean sgrùdaidh aigops.break_glass_statement, agus mar sin thèid clàr an aontachaidh a cheangal ris na h-inntrigidhean sgrùdaidh aige. - Chan eil sgrìobhadh ri fhaighinn. Airson atharrachadh nach urrainn feitheamh ri tionndadh, cleachdaidh an gnìomhaiche a ruigsinneachd stòr-dàta fhèin fo chlàr atharrachaidh fhèin, taobh a-muigh a’ bhathair seo; bu chòir don chlàr iomradh na tachartais a chaidh a chleachdadh an seo ainmeachadh.
Carson nach toir thu teisteanasan stòr-dàta seachad? Mairidh logadh a-steach PostgreSQL nas fhaide na an seisean a dh’iarr e, seachnaidh e tèarainteachd ìre-shreathan air a bheil an t-aplacaid an urra agus chan urrainn dha sgrìobhadh gu sreath sgrùdaidh a’ bhathair seo; cha bhiodh na h-aithrisean aige air an sgrùdadh nas fhaide na log an fhrithealaiche nam biodh cuideigin air a lìbhrigeadh. Nì an geata lorg an sgrùdaidh na phàirt den ruigsinneachd, seach cleachdadh mun cuairt oirre.
Gus freagairt a thoirt do dh’iarrtas sgrùdaidh: liostaich na ceadan san ùine (Ruigsinneachd èiginn), fosgail eachdraidh ceada airson na h-aithrisean agus IDan nan inntrigidhean sgrùdaidh aige, agus leugh na h-inntrigidhean sin ann an sreath sgrùdaidh an àrd-chabhsaire (bun run audit:verify --platform a’ dearbhadh gu bheil an t-sreath slàn).