Kapitola 08 / 09
ENSK

SmartExchange · .NET 10 · Chapter 08

Deployment and validation

Kontrola runtime bez zmien dňa 2026-10-27: aks-smartcloud-nonprod / dev-authorization. Pri tejto úprave dokumentácie sa konfigurácia klastra ani policies nemenili.

Shared code · Intaker + Web APIReviewed · 2026-10-27

Nainštalované resource policies

ConfigMapAktuálne runtime správanieZhoda s kódom
policy-personexportAdmin + staršie Person/Company atribúty.Nová Person policy nad grants je v kóde, ešte nie je nasadená.
policy-companyexportAdmin + staršie Company atribúty.Nová Company policy nad grants je v kóde, ešte nie je nasadená.
policy-interested-partyNové read scopes + import Project Scope roly; pôvodné export pravidlá zachované.Nová read cesta zodpovedá spoločnému grants kontraktu.
policy-investorexportAdmin/export má explicitne EFFECT_DENY.Runtime sa líši od ALLOW v repozitári; túto úpravu treba zachovať/preveriť.
policy-cash-flowexportAdmin/export EFFECT_ALLOW.Nasadené.

Osem nasadených derived-role sets

ConfigMap / YAML snapshotDerived roleImport v runtime resource policy
derived-role-company-person-readcompany_with_readable_person—
derived-role-interested-party-investor-readinterested_party_with_readable_investor—
derived-role-interested-party-project-readinterested_party_with_readable_project—
derived-role-interested-party-project-scopeinterested_party_in_project_scopeInterestedParty/read
derived-role-investor-interested-party-readinvestor_with_readable_interested_party—
derived-role-investor-project-readinvestor_with_readable_project—
derived-role-person-company-readperson_with_readable_company—
derived-role-project-interested-party-readproject_with_readable_interested_party—

Prvých sedem definícií vyjadruje prístup cez read grant súvisiaceho resource. Sú nainštalované, ale dnešné resource policies ich neimportujú. Ôsmy Project Scope importuje InterestedParty. Samotná definícia neudeľuje akciu. Automatické generovanie YAML pri zmene CRM nie je zapojené do registry/build.

Pripojenie spoločné pre aplikácie

microapp-config / appsettings.k8s.json · Authorization
{
  "Authorization": {
    "Cerbos": {
      "Address": "http://cerbos.dev-authorization.svc.cluster.local:3593",
      "TimeoutSeconds": 5
    }
  }
}

Pripojenie je uložené v microapp-config v dev-microapps a dev-web. AuthorizationOptions.Cerbos obsahuje Address a TimeoutSeconds; centrálny Mode tu nie je. gRPC používa 3593; HTTP API/health používa 3592.

MicroApplication.OnInitialization() načíta sekciu a vytvorí CerbosAuthorizationPolicyClient. Balík dnes preberá options; automatické spoločné načítanie konfigurácie ešte chýba. Zapnutie autorizácie určuje aplikácia.

Overenie a ďalšie kroky

  • 2026-10-27: kontrola runtime ConfigMaps, pod 2/2 Ready a kompilácia pripojených policies cez cerbos compile --skip-tests /policies.
  • 2026-10-26: Project Scope overenie zaznamenalo 27 runtime API scenárov a 51 record/action rozhodnutí. Je to overenie policy, nie databázový export test.
  • Zostáva: zostaviť/spustiť posledné aplikačné zmeny, publikovať spoločné balíky, zosúladiť staršie runtime policies, overiť reálne adapter → Cerbos → SQL vykonanie a integrovať Web API.

Každá policy/derived-role set má vlastnú ConfigMap pripojenú do Cerbos podu. Sync kontajner publikuje zmeny do sledovaného policy adresára. Policies z repozitára nesmieme plošne aplikovať cez runtime úpravy. WebManager kód zobrazuje oba typy odlišnými ikonami. DEV aktuálne používa image 20261026.2; UI správanie sme pri tejto dokumentačnej kontrole znovu neoverovali.

YAML downloady sú datované runtime snapshots, nie inštalačné manifesty ani pokyn na prepísanie živej konfigurácie.

Rovnocenné príklady, presne označený stav nasadenia

ArtefaktPerson exportInterestedParty export
CRM relation / registryImplementovanéImplementované
Derived-role setperson_company_read · nasadenýinterested_party_project_scope · nasadený
presentation-demo policyIba dokumentácia; nenasadenáIba dokumentácia; nenasadená
Aktuálne default zapojenieInline vzťah nad grants v kóde; runtime policy používa staršie atribúty.Scoped rola povoľuje read. Export zatiaľ používa zachované staršie cesty.
Overenie export ukážkyOčakávaný AST/SQL; žiadny nový reálny export.Očakávaný AST/SQL; zaznamenané read kontroly neoverujú export.

Dvojica príkladov je návrh, ktorý znovu používa nasadené definície rolí, nie tvrdenie o zhodných runtime default policies. Táto úprava dokumentácie ich nenasadzuje ani nemení ACL assignments.