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:
| Concern | Owner |
|---|---|
| AWS SigV4 / SSH authentication | Principal (via create-principal-aws-association / create-principal-ssh-association) |
| CORS and front-door rules | Application |
| Data delivery and schema | Data 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
-
Create an application under the organization:
dataspine create-application --organization <org-selector> --cors-allow-origin https://app.example.com -
Link it to one or more data products:
dataspine associate-application-with-data-product \--application-id <app-uuid> \--data-product <dp-selector> -
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/MyRoledataspine create-principal-ssh-association \--principal <principal-selector> \--ssh-public-key "ssh-ed25519 AAAA..."
Commands
| Command | Description |
|---|---|
create-application | Create an application (org-scoped) |
update-application | Update tags and CORS settings |
delete-application | Delete an application |
list-applications | List applications in an organization |
associate-application-with-data-product | Link an application to a data product |
dissociate-application-from-data-product | Remove that link |
create-principal-aws-association | Add an IAM ARN to a principal |
delete-principal-aws-association | Remove an IAM ARN from a principal |
list-principal-aws-associations | List IAM ARNs for a principal |
create-principal-ssh-association | Add an SSH public key to a principal |
delete-principal-ssh-association | Remove an SSH public key from a principal |
list-principal-ssh-associations | List SSH public keys for a principal |
See also — Organizations · Client SDKs · Control plane · Authentication and authorization