---
title: "Rothlú máistireochrach agus eochracha sínithe, agus rochtain éigeandála"
description: "Rothlaigh an mháistireochair a chosnaíonn dintiúir stóráilte agus úsáid rochtain éigeandála."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/ga/llms.txt
> Use this file to discover all available pages before exploring further.

# Rothlú máistireochrach agus eochracha sínithe, agus rochtain éigeandála

<span id="master-key-and-signing-key-rotation-and-break-glass-access"></span>

Is iad seo na rialuithe in alt 14 de 21-compliance.md a iarrann iniúchóir orthu de réir ainm. Seo nós imeachta; is iad na taifid a chruthaíonn sé an fhianaise.

## Na heochracha <!--quire:the-keys-->

Séalaítear gach dintiúr stóráilte le heochair úr chriptithe sonraí (DEK). Timfhilleann an mháistireochair (KEK) an DEK agus stóráiltear tagairt na máistireochrach in aice leis (`key_ref`, nó an tagairt taobh istigh de luach pacáilte). Athfhilltear na DEKanna nuair a rothlaítear an mháistireochair. Ní dhíchriptítear ná ní athchriptítear dintiúr riamh.

| Socrú | Brí |
| --- | --- |
| `QUIRE_MASTER_KEY` | An mháistireochair reatha: 32 beart, base64. Timfhilltear gach rún nua léi |
| `QUIRE_MASTER_KEY_VERSION` | Lipéad a leagain. `v1` mura bhfuil sé socraithe. Méadaigh é aon uair a athraíonn tú an eochair |
| `QUIRE_MASTER_KEY_RETIRED` | Eochracha níos sine a d'fhéadfadh rúin stóráilte a bheith fúthu, mar `v1=<base64>,v0=<base64>`. Léamh amháin, ní scríobh |

Léann an tsraith ghréasáin, an próiseálaí agus an t-ordú `bun run kek:rotate` na trí shocrú chéanna. Caithfidh na luachanna céanna a bheith ag gach ceann acu, nó ní bheidh ceann acu in ann an méid a shéalaigh ceann eile a oscailt.

Gan `QUIRE_MASTER_KEY`, coinníonn gach fochóras an eochair a dhíorthaíonn sé ó `QUIRE_SECRET_KEY`. Oibríonn sé sin agus taispeánann leathanach Sláinte an Chórais gur staid dhíghrádaithe atá ann. Fanann sé inléite tar éis duit máistireochair a shocrú, agus mar sin aistríonn an chéad rothlú gach rud uaidh. Is féidir le haon duine a léann timpeallacht an phróisis gach dintiúr stóráilte a dhíchriptiú; mar sin ba cheart go mbeadh máistireochair ag suiteáil táirgthe, in stór rúin agus ní sa chúltaca céanna leis an mbunachar sonraí.

## Rothlú <!--quire:rotating-->

Taispeántar aois na heochrach ar chonsól an Ardáin, Slándáil, Máistireochair, agus mar mhéadrach `quire.secrets.master_key.age` (laethanta). Scríobhann sceideal laethúil `platform.key_age` (03:41 UTC) iontráil mheabhrúcháin chuig slabhra iniúchta an ardáin nuair a shroicheann an eochair 365 lá, agus arís gach 30 lá go dtí go rothlaítear í. Rothlaigh í ar an meabhrúchán agus aon uair a d'fhéadfadh eochair a bheith nochta.

1. Gin an eochair nua: `openssl rand -base64 32`.
2. Socraigh `QUIRE_MASTER_KEY` uirthi agus `QUIRE_MASTER_KEY_VERSION` ar an gcéad lipéad eile (`v2`). Cuir an tseaneochair in `QUIRE_MASTER_KEY_RETIRED` mar `v1=<old base64>`. Coinnigh cóip den dá eochair áit eile seachas an t-óstach seo.
3. Imscar an tsraith ghréasáin agus an próiseálaí leis na socruithe nua. Timfhilltear rúin nua faoi `env:QUIRE_MASTER_KEY:v2` anois; osclaítear seanchinn leis an eochair éirithe as fós.
4. Iarr an rothlú, agus an chúis a bheidh sa log iniúchta san áireamh:
   - sa chonsól: Slándáil, Máistireochair, Rothlaigh an mháistireochair; nó
   - i sliogán leis an timpeallacht chéanna: `bun run kek:rotate request --reason "Annual rotation, ticket SEC-114"`.
5. Athfhilltear slisne amháin sa nóiméad ag an bpróiseálaí (sceidealóir `platform.key_rotation`) agus leanann an obair tar éis atosú. Chun é a chríochnú in aon seisiún amháin: `bun run kek:rotate run`. Breathnaigh air le `bun run kek:rotate status`.
6. Nuair a deir an taifead go bhfuil an rothlú críochnaithe le **nialas gan réiteach agus nialas teipthe**, bain an eochair éirithe as de `QUIRE_MASTER_KEY_RETIRED` agus imscar arís. Coinnigh í go dtí sin: tá luach nárbh fhéidir leis a bhogadh fós fillte faoin tseaneochair.

### Na rudaí a shiúlann an jab <!--quire:what-the-job-walks-->

Gach stór ina bhfuil DEK fillte: iad sin atá in `SEALED_STORES` (`apps/worker/src/key-rotation.ts`). Siúltar stórtha bunachar rialaithe ansin; siúltar stórtha eagraíochta eagraíocht amháin ag an am faoi shlándáil ar leibhéal ró, sa bhunachar ina bhfuil sí. Mar sin, rothlaítear tionónta atá pionnáilte de bhunachar tiomnaithe ansin. Teipeann tástáil nuair a chuirtear colún eochrach fhillte leis an scéimre agus nach n-ainmnítear ar an liosta é; teipeann tástáil eile nuair a aicmíonn athbhreithniú na ndintiúr colún séalaithe nach bhfuil ar an liosta.

### An taifead <!--quire:the-record-->

- `ops.key_rotation`: ró amháin do gach rothlú, lena chúis, cé a d'iarr é, a stádas agus a hiomláin (athfhillte, reatha cheana, gan réiteach, teipthe).
- `ops.key_rotation_progress`: ró amháin do gach stór agus raon feidhme nuair a shiúltar é, le tagairtí eochrach nárbh fhéidir a léamh agus líon na luachanna faoi gach ceann. Scipeálann rothlú a atosú iad seo.
- Slabhra iniúchta ardáin: `platform/key_rotation_request` (leis an gcúis), iontráil `platform/key_rotation_store` do gach stór lena chomhaireamh, agus `platform/key_rotation_complete` nó `platform/key_rotation_fail`; chomh maith le `platform/key_age_reminder` don mheabhrúchán.
- Méadrachtaí: `quire.secrets.master_key.age` agus `quire.secrets.rewrap.outstanding` (luachanna nach bhféadfadh an rothlú deireanach a bhogadh).

### Nuair nach réitítear luachanna <!--quire:when-values-are-unresolved-->

Tá luach gan réiteach fillte faoi thagairt eochrach nach bhfuil ag an tsuiteáil, nó níl sé san fhormáid a gheallann a cholún. Ainmníonn taifead dul chun cinn an tagairt (mar shampla `env:QUIRE_MASTER_KEY:v0 (unreadable)`). Cuir an eochair sin ar ais in `QUIRE_MASTER_KEY_RETIRED` agus rith rothlú eile; nó, má tá an eochair caillte go deo, iarr ar riarthóir na heagraíochta an dintiúr a iontráil arís, ionas go séalófar faoin eochair reatha é. Taispeánann taifid rothlaithe teipthe an earráid; ceartaigh cúis na teipe agus iarr arís.

## Eochracha sínithe <!--quire:signing-keys-->

Ar leith ón máistireochair, síníonn gach eagraíocht a comharthaí OpenID Connect agus teachtaireachtaí LTI lena heochair RSA féin, atá foilsithe ag `/.well-known/jwks.json`. Ní theastaíonn aon rud ón oibreoir anseo. Foilsíonn sceideal `platform.signing_keys` a ritheann gach uair an chloig comharba seacht lá sula mbeidh nócha lá caite ag an eochair reatha; tosaíonn an comharba ag síniú seachtain ina dhiaidh sin agus éiríonn an tseaneochair ag dul in éag; scriostar an tseaneochair agus baintear den tacar eochracha í nócha lá ina dhiaidh sin. Is iontráil `platform/signing_key_advance` ar shlabhra iniúchta an ardáin gach céim.

Chun eochair eagraíochta a athsholáthar níos luaithe, mar shampla tar éis sceite:

- sa chonsól: Slándáil, Máistireochair, Foilsigh eochair shínithe nua (teastaíonn `platform/keys_manage`); nó
- i sliogán le timpeallacht an phróiseálaí: `bun run kek:rotate signing-keys rotate --tenant <slug or id> --reason "Key exposed, INC-3310"`. Liostaíonn `bun run kek:rotate signing-keys status` eochracha gach eagraíochta de réir céime.

Foilsítear an eochair nua láithreach agus tosaíonn sí ag síniú i gceann seacht lá, nuair a rachaidh an ceann reatha ar scor. Tá an tseachtain sin ann d'aon ghnó: taisceann páirtithe iontaofa an tacar eochracha, agus theipfeadh ar gach uirlis le forluí níos giorra. Fanann an eochair atá ag dul in éag sa tacar ar feadh nócha lá eile ionas go leanfaidh comharthaí atá sínithe cheana léi de bheith á bhfíorú. Má éilíonn an sceitheadh nach gcuirfí muinín inti níos luaithe, is athrú é a ró a scriosadh a dhéantar le rochtain bhunachair sonraí an oibreora féin faoi thaifead athraithe (is inléite amháin í rochtain éigeandála); teipfidh ar chomharthaí a síníodh léi fíorú ina dhiaidh sin. Is é `platform/signing_key_rotate` an rothlú éigeantach ar an slabhra iniúchta, agus bíonn an chúis leis. Teastaíonn na socruithe `QUIRE_MASTER_KEY` céanna ón bpróiseálaí agus ón tsraith ghréasáin chun an eochair nua a fhilleadh; athfhilleann `bun run kek:rotate` do mháistireochair eochracha sínithe in éineacht le gach rud eile (`oauth_signing_key` in `SEALED_STORES`).

## Rochtain éigeandála táirgthe <!--quire:break-glass-production-access-->

Níl rochtain sheasta ar an táirgeadh ag aon duine. Nuair nach féidir fanacht, eisíonn úinéir deontas rochtana éigeandála: Consól an Ardáin, Slándáil, Rochtain éigeandála.

- Bíonn raon ag deontas (eagraíocht amháin nó clárlann an ardáin), cúis 20 carachtar ar a laghad a ainmníonn an teagmhas nó an ticéad, agus tréimhse 5 go 240 nóiméad. Téann sé as feidhm leis féin: seiceáiltear é in aghaidh an chloig do gach ráiteas.
- Is féidir é a eisiúint don úinéir a eisíonn é, nó d'úinéir eile (modh dhá dhuine). Ní féidir ach leis an té ar eisíodh é dó é a úsáid. Teastaíonn `platform/break_glass_issue` lena eisiúint agus `platform/break_glass_use` lena úsáid; is do na húinéirí amháin iad araon de réir réamhshocraithe.
- Ritheann ráitis tríd an ngeata, ní trí logáil isteach i mbunachar sonraí: inléite amháin, ceann ag an am, srianta don eagraíocht nó do chlárlann rialaithe, le teorainn ama cúig shoicind agus 500 ró ar a mhéad. Taispeántar méid luachanna dénártha.
- Taifeadann slabhra iniúchta an ardáin an eisiúint (leis an gcúis), cúlghairm, gach ráiteas sula ritheann sé (`platform/break_glass_statement`, agus `denied` mar thoradh ar dhiúltaithe) agus gach toradh (`platform/break_glass_result`). Coinníonn `ops.break_glass_statement` aitheantas iontrálacha iniúchta, ionas go gceanglaítear an taifead eisiúna lena iontrálacha iniúchta.
- Ní chuirtear scríbhinní ar fáil. Déantar athrú nach féidir fanacht le heisiúint trí rochtain bhunachair sonraí an oibreora féin faoi thaifead athraithe ar leith, lasmuigh den táirge; ba cheart don taifead tagairt an teagmhais a úsáideadh anseo a lua.

Cén fáth nach n-eiseofaí dintiúir bhunachair sonraí? Maireann logáil isteach Postgres níos faide ná an seisiún a d'iarr é, seachnaíonn sé slándáil ar leibhéal ró a mbraitheann an feidhmchlár uirthi, agus ní féidir leis scríobh chuig slabhra iniúchta an táirge seo. Mar sin ní dhéanfaí iniúchadh ar a ráitis ach sa mhéid go seolfaí log freastalaí. Cuireann an geata an lorg iniúchta mar chuid den rochtain féin, seachas cleachtas a fhágáil ina thimpeall.

Chun iarratas iniúchta a fhreagairt: liostaigh deontais na tréimhse (Rochtain éigeandála), oscail stair deontais chun a ráitis agus aitheantais iontrálacha iniúchta a fheiceáil, agus léigh na hiontrálacha sin ar shlabhra iniúchta an ardáin (`bun run audit:verify --platform` chun a chruthú go bhfuil an slabhra slán).

Source: https://docs.quirelms.com/ga/ops/key-rotation/index.mdx
