DO - Basic Information

Sostieni HackTricks

Informazioni di Base

DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti una varietà di servizi, tra cui server virtuali privati (VPS) e altre risorse per la costruzione, il rilascio e la gestione di applicazioni. I servizi di DigitalOcean sono progettati per essere semplici e facili da usare, rendendoli popolari tra sviluppatori e piccole imprese.

Alcune delle caratteristiche principali di DigitalOcean includono:

  • Server virtuali privati (VPS): DigitalOcean fornisce VPS che possono essere utilizzati per ospitare siti web e applicazioni. Questi VPS sono noti per la loro semplicità e facilità d'uso, e possono essere rapidamente e facilmente implementati utilizzando una varietà di "droplets" pre-costruiti o configurazioni personalizzate.

  • Archiviazione: DigitalOcean offre una gamma di opzioni di archiviazione, tra cui archiviazione di oggetti, archiviazione a blocchi e database gestiti, che possono essere utilizzati per memorizzare e gestire dati per siti web e applicazioni.

  • Strumenti di sviluppo e rilascio: DigitalOcean fornisce una serie di strumenti che possono essere utilizzati per costruire, rilasciare e gestire applicazioni, inclusi API e droplets pre-costruiti.

  • Sicurezza: DigitalOcean pone un forte accento sulla sicurezza e offre una serie di strumenti e funzionalità per aiutare gli utenti a mantenere al sicuro i propri dati e le proprie applicazioni. Questo include crittografia, backup e altre misure di sicurezza.

In generale, DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti gli strumenti e le risorse necessarie per costruire, rilasciare e gestire applicazioni nel cloud. I suoi servizi sono progettati per essere semplici e facili da usare, rendendoli popolari tra sviluppatori e piccole imprese.

Principali Differenze da AWS

Una delle principali differenze tra DigitalOcean e AWS è la gamma di servizi offerti. DigitalOcean si concentra su fornire server virtuali privati (VPS), archiviazione e strumenti di sviluppo e rilascio semplici e facili da usare. AWS, d'altra parte, offre una gamma molto più ampia di servizi, tra cui VPS, archiviazione, database, apprendimento automatico, analisi e molti altri servizi. Ciò significa che AWS è più adatto per applicazioni complesse a livello enterprise, mentre DigitalOcean è più adatto a piccole imprese e sviluppatori.

Un'altra differenza chiave tra le due piattaforme è la struttura dei prezzi. I prezzi di DigitalOcean sono generalmente più semplici e più facili da capire rispetto ad AWS, con una serie di piani tariffari basati sul numero di droplets e altre risorse utilizzate. AWS, d'altra parte, ha una struttura dei prezzi più complessa basata su una varietà di fattori, tra cui il tipo e la quantità di risorse utilizzate. Ciò può rendere più difficile prevedere i costi quando si utilizza AWS.

Gerarchia

Utente

Un utente è ciò che ci si aspetta, un utente. Può creare Team e essere membro di diversi team.

Team

Un team è un gruppo di utenti. Quando un utente crea un team, ha il ruolo di proprietario in quel team e inizialmente configura le informazioni di fatturazione. Altri utenti possono quindi essere invitati nel team.

All'interno del team potrebbero esserci diversi progetti. Un progetto è solo un insieme di servizi in esecuzione. Può essere utilizzato per separare diverse fasi infrastrutturali, come prod, staging, dev...

Progetto

Come spiegato, un progetto è solo un contenitore per tutti i servizi (droplets, spazi, database, kubernetes...) in esecuzione all'interno di esso. Un progetto di Digital Ocean è molto simile a un progetto GCP senza IAM.

Autorizzazioni

Team

Fondamentalmente tutti i membri di un team hanno accesso alle risorse DO in tutti i progetti creati all'interno del team (con più o meno privilegi).

Ruoli

Ogni utente all'interno di un team può avere uno dei seguenti tre ruoli al suo interno:

RuoloRisorse CondiviseInformazioni di FatturazioneImpostazioni del Team

Proprietario

Accesso completo

Accesso completo

Accesso completo

Fatturatore

Nessun accesso

Accesso completo

Nessun accesso

Membro

Accesso completo

Nessun accesso

Nessun accesso

Proprietario e membro possono elencare gli utenti e controllare i loro ruoli (il fatturatore non può).

Accesso

Nome utente + password (MFA)

Come nella maggior parte delle piattaforme, per accedere all'interfaccia grafica è possibile utilizzare un set di nome utente e password validi per accedere alle risorse cloud. Una volta effettuato l'accesso, è possibile visualizzare tutti i team di cui si fa parte in https://cloud.digitalocean.com/account/profile. E puoi vedere tutta la tua attività in https://cloud.digitalocean.com/account/activity.

MFA può essere abilitato in un utente e impostato come obbligatorio per tutti gli utenti in un team per accedere al team.

Chiavi API

Per utilizzare l'API, gli utenti possono generare chiavi API. Queste avranno sempre autorizzazioni di lettura ma le autorizzazioni di scrittura sono facoltative. Le chiavi API sono simili a:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Il tool cli è doctl. Inizializzalo (è necessario un token) con:

doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts

Di default questo token verrà scritto in chiaro su Mac in /Users/<username>/Library/Application Support/doctl/config.yaml.

Chiavi di accesso a Spaces

Queste sono chiavi che danno accesso agli Spaces (come S3 in AWS o Storage in GCP).

Sono composte da un nome, un keyid e un segreto. Un esempio potrebbe essere:

Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM

Applicazione OAuth

Le applicazioni OAuth possono essere autorizzate su Digital Ocean.

È possibile creare applicazioni OAuth in https://cloud.digitalocean.com/account/api/applications e controllare tutte le applicazioni OAuth consentite in https://cloud.digitalocean.com/account/api/access.

Chiavi SSH

È possibile aggiungere chiavi SSH a un Team di Digital Ocean dalla console in https://cloud.digitalocean.com/account/security.

In questo modo, se crei un nuovo droplet, la chiave SSH verrà impostata su di esso e potrai effettuare il login via SSH senza password (nota che le chiavi SSH appena caricate non vengono impostate nei droplet già esistenti per motivi di sicurezza](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/to-existing-droplet/)).

Token di Autenticazione delle Funzioni

Il modo per attivare una funzione tramite REST API (sempre abilitato, è il metodo che usa la CLI) è inviare una richiesta con un token di autenticazione come:

curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="

Registri

Registri utente

I registri di un utente possono essere trovati in https://cloud.digitalocean.com/account/activity

Registri del team

I registri di un team possono essere trovati in https://cloud.digitalocean.com/account/security

Riferimenti

Sostieni HackTricks

Last updated