{% extends "base.html" %} {% block content %} {% set active_tab = request.args.get('tab', 'objects') %}

{{ bucket_name }}

{{ 'Versioning On' if versioning_enabled else 'Versioning Off' }} {{ objects|length }} object{{ 's' if objects|length != 1 else '' }}
Objects
{% for obj in objects %} {% else %} {% endfor %}
Key Size Actions
{{ obj.key }}
Modified {{ obj.last_modified.strftime('%b %d, %Y %H:%M') }}
{{ obj.size | filesizeformat }}
No objects yet

Drag and drop files here or click Upload to get started.

Object Details

Select an object to view details

Download
Last modified
ETag
Metadata
Versions
No preview available
Object preview
Bucket Policy
{% if bucket_policy %} {% else %} {% endif %} {% if can_edit_policy %} {% set preset_choice = 'custom' %} {% if not bucket_policy %} {% set preset_choice = 'private' %} {% elif bucket_policy_text and bucket_policy_text.strip() == default_policy.strip() %} {% set preset_choice = 'public' %} {% endif %}
Use presets for common scenarios or switch to Custom JSON to paste AWS-style statements.
{% if bucket_policy %} {% endif %}
{% else %}

You do not have permission to edit this policy.

{% endif %}
About Bucket Policies

Bucket policies are JSON-based access policy documents that specify who can access your bucket and under what conditions.

Policy Types
  • Private — No policy attached; only IAM users with explicit permissions can access.
  • Public Read — Anyone can read objects, but only authenticated users can write.
  • Custom — Fine-grained control using AWS IAM policy syntax.
Policy Elements
  • Effect — Allow or Deny
  • Principal — Who the policy applies to
  • Action — Which S3 operations
  • Resource — Bucket/object ARN
Versioning
{% if versioning_enabled %} {% else %} {% endif %} {% if can_manage_versioning %}
{% if versioning_enabled %} {% else %} {% endif %}
{% else %}

You do not have permission to modify versioning for this bucket.

{% endif %}
{% if versioning_enabled %}
Archived Objects
0 items

Objects that have been deleted while versioning is enabled. Their previous versions remain available until you restore or purge them.

Key Latest Version Versions Actions
No archived objects
{% endif %} {% if encryption_enabled %}
Default Encryption
{% set enc_rules = encryption_config.get('Rules', []) %} {% set enc_default = enc_rules[0].get('ApplyServerSideEncryptionByDefault', {}) if enc_rules else {} %} {% set enc_algorithm = enc_default.get('SSEAlgorithm', '') %} {% set enc_kms_key = enc_default.get('KMSMasterKeyID', '') %} {% if enc_algorithm %} {% else %} {% endif %} {% if can_manage_encryption %}
{% if kms_enabled %}
{% endif %}
{% if kms_enabled %}
Select a KMS key to encrypt objects. Leave empty to use the default key.
{% endif %}
{% if enc_algorithm %} {% endif %}
{% else %}

You do not have permission to modify encryption settings for this bucket.

{% endif %}
{% endif %}
About Versioning

Versioning keeps multiple variants of an object in the same bucket. You can use versioning to preserve, retrieve, and restore every version of every object.

Benefits
  • Recovery — Restore accidentally deleted or overwritten objects
  • Audit Trail — Track changes to objects over time
  • Compliance — Meet retention requirements
How It Works
  • Each upload creates a new version
  • Deleting adds a "delete marker"
  • Previous versions remain accessible
  • Storage costs apply to all versions
{% if versioning_enabled %}
About Archives

When you delete an object with versioning enabled, S3 inserts a delete marker instead of removing the object. The archived versions remain in the bucket and can be restored at any time.

{% endif %} {% if encryption_enabled %}
About Encryption

Server-side encryption protects data at rest. Objects are encrypted when stored and decrypted when retrieved.

Encryption Types
  • SSE-S3 (AES-256) — S3-managed keys, automatic encryption
  • SSE-KMS — KMS-managed keys with audit trail and key rotation
How It Works
  • New objects are encrypted using the default setting
  • Existing objects are not automatically re-encrypted
  • Decryption is transparent during download
{% endif %}
{% if can_manage_replication %}
Replication Configuration
{% if replication_rule and replication_rule.enabled %}
Synced
Pending
Orphaned
Data Synced
Mode
{% if replication_rule.mode == 'all' %}All Objects{% else %}New Only{% endif %}
Replication Target
{% set target_conn = connections | selectattr("id", "equalto", replication_rule.target_connection_id) | first %}
{{ target_conn.name if target_conn else 'Unknown Connection' }}
{{ replication_rule.target_bucket }}
{% if target_conn %}
{{ target_conn.endpoint_url }}
{% endif %}
Enabled
Refresh
{% if is_replication_admin %} {% endif %}
{% elif replication_rule and not replication_rule.enabled %}
Replication Target
{% set target_conn = connections | selectattr("id", "equalto", replication_rule.target_connection_id) | first %}
{{ target_conn.name if target_conn else 'Unknown Connection' }}
{{ replication_rule.target_bucket }}
Paused
{% if is_replication_admin %} {% endif %}
{% else %}
{% if is_replication_admin %}
Set Up Replication

Automatically copy new objects from this bucket to a bucket in another S3-compatible service.

{% else %}
Replication Not Configured

An administrator needs to configure replication settings for this bucket before you can enable it.

{% endif %}
{% if is_replication_admin and connections %}
Select the remote service where objects should be replicated.
If the target bucket does not exist, it will be created automatically.
{% elif is_replication_admin %} {% endif %} {% endif %}
About Replication
  • Choose to replicate new uploads only or all objects (including existing).
  • All changes sync — uploads, updates, and deletes are replicated.
  • Replication happens asynchronously in the background.
  • Ensure credentials have write permissions on target bucket.
{% endif %}
{% endblock %} {% block extra_scripts %} {% endblock %}