Stocare¶
Platforma EOCube.Ro oferă stocare de obiecte compatibilă S3.
Accesul este autentificat prin ROCS Single Sign-On (SSO) --
nu folosești o pereche statică de chei access key / secret key, ci te
autentifici cu contul tău EOCube.Ro, exact ca pentru restul platformei.
Există două endpoint-uri S3:
- Stocarea principală -- stocarea de obiecte principală, la nivel de proiect.
- Stocarea utilizatorului -- stocarea ta personală de obiecte.
Punctul de acces S3 principal¶
| Endpoint S3 | https://storage.svc.uvt-01.eocube.ro |
| Port | 443 (HTTPS) |
| Regiune | ro-west-uvt-01 |
| Tip de adresare | path-style (calea conține numele bucket-ului) |
| Autentificare | ROCS Single Sign-On -> credențiale S3 temporare (AssumeRoleWithWebIdentity) |
Punctul de acces S3 al utilizatorului¶
| Endpoint S3 | https://s3.svc.uvt-01.eocube.ro |
| Port | 443 (HTTPS) |
| Regiune | ro-west-uvt-01 |
| Tip de adresare | path-style (calea conține numele bucket-ului) |
| Autentificare | ROCS Single Sign-On -> credențiale S3 temporare (AssumeRoleWithWebIdentity) |
Cum funcționează autentificarea
Clientul te trimite în browser la ROCS Single Sign-On pentru autentificare (cont EOCube.Ro). Token-ul obținut este apoi schimbat pe credențiale S3 temporare, folosite pentru a semna cererile. Nu se stochează nicio cheie permanentă în client; sesiunea expiră și se reînnoiește automat prin token-ul de refresh.
Cyberduck¶
Cyberduck este un client grafic S3 (Windows / macOS). Descarcă profilul de conexiune pentru stocarea de care ai nevoie -- fiecare preconfigurează endpoint-ul propriu și fluxul de autentificare:
Stocarea principală -- EOCube.Ro Storage (Single Sign-On) Stocarea utilizatorului -- EOCube.Ro User Storage (Single Sign-On)
Pași
- Descarcă un profil și deschide-l cu dublu-clic -- Cyberduck creează un semn de carte (bookmark) cu numele corespunzător (de ex. "EOCube.Ro User Storage (Single Sign-On)").
- Deschide semnul de carte. Cyberduck deschide o fereastră de browser către ROCS Single Sign-On; autentifică-te cu contul tău EOCube.Ro.
- După autorizare ești conectat. Nu trebuie completate câmpuri de utilizator sau parolă -- sunt obținute automat din fluxul de autentificare.
Acces din linia de comandă
Pentru aws CLI, rclone, s5cmd sau SDK-uri, folosește același endpoint
(https://storage.svc.uvt-01.eocube.ro sau https://s3.svc.uvt-01.eocube.ro)
cu adresare path-style. Aceste unelte nu pot porni singure fluxul interactiv
de autentificare, deci au nevoie de credențiale S3 temporare obținute separat
(AssumeRoleWithWebIdentity).
Regiunea de semnare¶
Fiecare cerere este semnată cu Signature Version 4 pentru o regiune anume,
iar stocarea o acceptă doar pe a sa (ro-west-uvt-01): un URL semnat pentru
altă regiune -- sau, când nu e setată nicio regiune, un URL în schema veche
Signature Version 2 -- este respins cu 403 Forbidden. Contează mai ales pentru
URL-urile presemnate pe care eocube.integrations.notebooks.sign_in_place
le oferă lui rasterio, xarray sau unui cluster Dask: listarea și citirea prin
obiectul filesystem sunt semnate la fiecare cerere, link-urile presemnate au
regiunea inclusă.
eocube rezolvă regiunea singur; câștigă prima sursă care se aplică:
- variabila de mediu
AWS_DEFAULT_REGION-- suprascrierea explicită (JupyterHub-ul o exportă per utilizator); - item-ul STAC semnat, când o declară prin
extensia storage
(
storage:schemes/storage:schemepotrivite dupăplatform, saustorage:region); - regiunea deja configurată pentru cerere:
regiondin definiția de storage dineocube.yml(eocube setup storage add --region ...) sau, pentru un filesystem construit de tine și dat luiget_eocube_sign, regiunea cu care a fost fixat ori cu care e configurată sesiunea sa SDK; - lista integrată de endpoint-uri cunoscute -- ambele endpoint-uri ale platformei de mai sus;
- regiunea implicită a SDK-ului AWS (un profil din
~/.aws/config); us-east-1, astfel încât Signature Version 4 este folosită întotdeauna.
Endpoint-urile sunt potrivite după host și port (un port omis este cel implicit al schemei), deci două servicii pe porturi diferite ale aceluiași host sunt endpoint-uri diferite.
În afara hub-ului nu trebuie setat nimic: după eocube auth login,
endpoint-urile platformei se rezolvă singure la ro-west-uvt-01. Setează
AWS_DEFAULT_REGION doar pentru a forța o altă regiune, înainte de a importa
eocube.integrations.notebooks.
Permisiuni¶
Accesul la bucket-uri și obiecte este guvernat de rolurile și grupurile din ROCS Single Sign-On, la fel ca restul platformei. Dacă o operație este respinsă cu o eroare de tip Access Denied, contul tău nu are rolul necesar -- contactează administratorii proiectului ROCS.