Skip to main content

Applications

An application is an organization-scoped object in the control plane that manages cross-cutting settings for one or more data products, independently of the products themselves. The three concerns are orthogonal:

ConcernOwner
AWS SigV4 / SSH authenticationPrincipal (via create-principal-aws-association / create-principal-ssh-association)
CORS and front-door rulesApplication
Data delivery and schemaData product

An application is not scoped to a single data product. It is owned by an organization and may be linked to many data products through the associate-application-with-data-product command. Each link is many-to-many: the same application can serve multiple products, and the same product can be exposed through multiple applications.

Typical setup

  1. Create an application under the organization:

    dataspine create-application --organization <org-selector> --cors-allow-origin https://app.example.com
  2. Link it to one or more data products:

    dataspine associate-application-with-data-product \
    --application-id <app-uuid> \
    --data-product <dp-selector>
  3. Configure SigV4 or SSH on the principal, not on the application:

    dataspine create-principal-aws-association \
    --principal <principal-selector> \
    --iam-principal-arn arn:aws:iam::123456789012:role/MyRole

    dataspine create-principal-ssh-association \
    --principal <principal-selector> \
    --ssh-public-key "ssh-ed25519 AAAA..."

Commands

CommandDescription
create-applicationCreate an application (org-scoped)
update-applicationUpdate tags and CORS settings
delete-applicationDelete an application
list-applicationsList applications in an organization
associate-application-with-data-productLink an application to a data product
dissociate-application-from-data-productRemove that link
create-principal-aws-associationAdd an IAM ARN to a principal
delete-principal-aws-associationRemove an IAM ARN from a principal
list-principal-aws-associationsList IAM ARNs for a principal
create-principal-ssh-associationAdd an SSH public key to a principal
delete-principal-ssh-associationRemove an SSH public key from a principal
list-principal-ssh-associationsList SSH public keys for a principal

See alsoOrganizations · Client SDKs · Control plane · Authentication and authorization