Sari la conținut
EOCube.ro — Powered by ROCS Tools
EOCube.Ro - Tools
Stocare
EN
Autentificare

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:

Pași

  1. 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)").
  2. Deschide semnul de carte. Cyberduck deschide o fereastră de browser către ROCS Single Sign-On; autentifică-te cu contul tău EOCube.Ro.
  3. 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ă:

  1. variabila de mediu AWS_DEFAULT_REGION -- suprascrierea explicită (JupyterHub-ul o exportă per utilizator);
  2. item-ul STAC semnat, când o declară prin extensia storage (storage:schemes / storage:scheme potrivite după platform, sau storage:region);
  3. regiunea deja configurată pentru cerere: region din definiția de storage din eocube.yml (eocube setup storage add --region ...) sau, pentru un filesystem construit de tine și dat lui get_eocube_sign, regiunea cu care a fost fixat ori cu care e configurată sesiunea sa SDK;
  4. lista integrată de endpoint-uri cunoscute -- ambele endpoint-uri ale platformei de mai sus;
  5. regiunea implicită a SDK-ului AWS (un profil din ~/.aws/config);
  6. 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.