Skip to main content
Manages one AI Object Storage access key for the authenticated caller. Existing organization policies determine its permissions. Destroy revokes only this key. Set duration_seconds explicitly when creating a key: zero creates a permanent key. Changes to duration or attributes replace the key. Use terraform apply -replace=coreweave_object_storage_access_key.example for manual rotation. There is no background renewal; distribute the new secret to consumers before removing an old key, using separate resources when an overlap is needed. Refresh removes missing keys and keys reported as DELETED from state, so the next apply recreates them when a duration is configured. Expired and inactive keys remain managed, with their API status and a warning; they are not automatically rotated or reactivated. If the service later removes an expired key, it is treated as missing. Import uses the key ID. The secret and original duration cannot be recovered and remain null. Omit duration_seconds in the imported resource configuration to keep the existing key; setting it explicitly plans replacement. Omit attributes to adopt the imported values, or configure the same values. Supply an explicit duration before intentionally replacing an imported key. Protect access to Terraform state and backups: marking the secret sensitive hides normal CLI output but does not encrypt or omit it from state. Key creation is sent once without automatic retries. If its response is lost, a key may exist whose ID and secret were not saved; inspect keys using the service tooling before trying again.

Example usage

Schema

Optional

  • attributes (Map of String) Creation attributes, at most 15 entries. Keys must be lowercase DNS labels of 1-63 characters and must not start with cw-, role, or groups. Values must be Kubernetes label values of at most 63 characters (empty allowed). Changes replace the key. Omitted values are adopted during import.
  • duration_seconds (Number) Required for creation; integer from 0 to 4294967295. Zero means permanent. Omit only when retaining an imported key whose original duration is unavailable. Changing this value replaces the key.

Read-Only

  • expiry (String) Expiry in RFC 3339 UTC format, or null for a permanent key (including an absent or year-one API expiry).
  • id (String) Access-key ID. Used for import and individual revocation.
  • org_id (String) Organization cloud ID reported by the API.
  • principal_name (String) Principal determined by the authenticated caller.
  • secret_key (String, Sensitive) Secret returned only at creation. Preserved during refresh; unavailable after import. Sensitive values remain in Terraform state and state backups.
  • status (String) Read-only API status, such as ACTIVE, EXPIRED, or FULL_SUSPENDED. The provider never changes principal-wide status.

Import

Import is supported using the following syntax:
Last modified on October 14, 2026