Objective. Students will create and configure cloud object storage buckets (S3, Azure Blob, GCS), apply access policies, and use storage as a staging area for database imports and exports.
This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.
VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.
Cloud object storage is one of the most widely used staging layers in modern database administration. Rather than moving data directly between systems, DBAs frequently land files in object storage first, then load them into a target database. This pattern decouples the source from the destination, provides a durable intermediate copy, and supports audit trails. The three dominant services are Amazon S3, Azure Blob Storage, and Google Cloud Storage (GCS).
Object storage organizes data as discrete objects—each with a unique key, the data payload, and metadata—rather than as files in a directory tree or blocks on a disk. There is no true folder hierarchy; what appears to be a folder path is part of the object key. Objects are retrieved through HTTP-based APIs or CLI tools. Because each object is individually addressable and independently replicated, object storage is highly durable and scales without the DBA managing underlying hardware.
An S3 bucket is the top-level container. Bucket names must be globally unique across all AWS accounts. Two features every production bucket should enable are versioning and server-side encryption (SSE).
Access is controlled through a combination of bucket policies (JSON documents attached to the bucket) and IAM policies (attached to users or roles). The principle of least privilege applies: grant only the specific actions (e.g., `s3:GetObject`, `s3:PutObject`) on the specific bucket or prefix that each principal needs.
AWS RDS for PostgreSQL supports importing CSV or delimited files directly from S3 using the `aws_s3` extension. The RDS instance must have an IAM role with S3 read permission attached to it.
Azure Blob Storage organizes objects inside containers within a storage account. Access level choices at container creation include private (no anonymous access), blob (anonymous read for blobs only), and container (anonymous read for the container and blobs). For database staging, always choose private access.
A Shared Access Signature (SAS) token is a signed URI that grants time-limited, permission-scoped access to a storage resource without exposing the account key. When generating a SAS token, you specify the allowed operations (read, write, delete), the start time, and the expiry time (TTL). A short TTL—measured in hours, not weeks—limits the window of exposure if the token is compromised. Never embed a SAS token in application code or commit it to source control.
Azure SQL Database supports exporting a `.bacpac` file directly to Blob Storage through the Azure portal or the `az sql db export` CLI command. This export is a full logical backup suitable for migration and archiving.
GCS uses buckets and objects with a flat namespace, similar to S3. Access is managed through IAM roles (such as `roles/storage.objectViewer` or `roles/storage.objectAdmin`) applied at the project, bucket, or object level. Uniform bucket-level access is the recommended setting; it disables per-object ACLs and simplifies auditing.
All three providers offer multiple storage classes designed to balance cost against retrieval speed and frequency.
| Provider | Hot / Frequent | Cool / Infrequent | Archive |
|---|---|---|---|
| AWS S3 | Standard | Standard-IA | Glacier / Glacier Deep Archive |
| Azure Blob | Hot | Cool | Archive |
| GCS | Standard | Nearline / Coldline | Archive |
Infrequent-access and archive tiers charge lower storage rates but add retrieval fees and sometimes minimum storage durations. Database export files that are needed quickly (for restore testing or compliance audits) should stay in a hot or standard tier. Files retained purely for long-term compliance can move to archive tiers to reduce monthly costs. Use the provider's publicly available pricing calculators to model costs before committing data to a tier.
Cloud object storage is a frequent source of data breaches when misconfigured. Apply these controls consistently:
1. Block all public access at the account or bucket level unless you have an explicit, reviewed reason to allow it.
2. Enable versioning and Object Lock for backups that must not be deleted (WORM protection).
3. Enable access logging (S3 server access logs, Azure Storage diagnostics, GCS audit logs) so that every read and write is recorded.
4. Rotate credentials and SAS tokens regularly; use short TTLs.
5. Encrypt in transit: all three providers enforce HTTPS by default for API calls; never disable TLS.
6. Apply the principle of least privilege: RDS import roles need `s3:GetObject` only on the specific prefix—not `s3:*` on all buckets.
There are no physical lockout/tagout hazards in cloud console work, but logical access controls serve the same protective purpose: limiting who can modify, delete, or expose data.
A typical database export-stage-import workflow follows this pattern: (1) the database engine exports data to a structured file format (CSV, Parquet, `.bacpac`); (2) that file is uploaded to object storage with encryption and access controls verified; (3) the target database reads from object storage using a service account or role that has only the minimum required permissions; (4) row counts or checksums are verified to confirm completeness. This workflow is repeatable, auditable, and avoids direct network connections between source and target systems.
Answer each question, then check it. Nothing is recorded; this is your own practice.
A free tech program — complimentary, as our commitment to get America working. Help us build VoTechWorks. Tell us what works, what doesn’t, and what you want to learn.