You can control data access down to the row and column-instance level by configuring security in API Creator.
You can secure access to your API using:
- Authorization.Application security, that is, what authenticated API users have the permissions to do, such as access to resource endpoints, row/column security, and API definition.
- For more information about authorization, see Authorization.
In this article:
Watch the Video
CA Live API CreatorSecurity video describes the concepts and operation for declarative security:
- Admin versus application security.
- Authentication providers. Thebuilt-in authenticationauthentication provider and defining custom authentication providers.
- Roles. Access and table permissions for row/column security.
- Globals. Per-user parameterization for row filter.
Security operates at the following levels in
CA Live API Creator:
- Admin security.Admin security is what controls access toCA Live API Creatorto define APIs, databases, security, and logic. It is authentication with "root privilege" toCA Live API Creator(for example, theadminuser). Admin security controls who can access API Creator and, therefore, who can update data in the admin database. Administrator users can alter logic, can define security, and can access Data Explorer in Author Mode.
- Application security.Application security defines who can access the API (the data, such as by API Creator) and what the API user is authorized to do. Application security operates by way of role-based endpoint access.
API Creator provides options for https-based communications.
The following image shows the security workflow:
The following workflow provides an overview of security:
- API owners/administrators define role permissions and custom authentication providers in API Creator. API Server stores the authentication providers in the admin database.
- Applications obtain an authentication token by posting credentials to the@authenticationresource endpoint. An auth token typically represents an authorized user and defines the set of roles to which the user is authorized.For more information about the roles assigned to the auth token, see Authorization.
- API Server invokes the custom authentication provider. API Server passes the credentials to the custom authentication provider, such as the name and password. The custom authentication provider obtains of set of authorized roles by looking it up in your corporate security system, such as StormPath, Lightweight Directory Access Protocol (LDAP), Active Directory (AD), OAuth, a SQL database, or any other 3rd party authentication mechanism.
- API Server creates an auth token containing the roles and globals and stores these in the admin database. This auth token is available to all API Server nodes in a cluster.
- API Server returns the auth token ID to the client, who passes it in the header of subsequent requests; the API Server uses it to enforce role permissions.
Your authentication provider provides service connectivity. For further control, you can deploy services within a private cloud using API Creator.
For more information about how to install
CA Live API Creatorto run as a cloud-based service, see Installing and Upgrading.
For more information:
Database Connection Security
API Creator requires access to your database.
CA Live API Creatoruses industry standards to protect your information with encryption and salting. The following are the common database-location scenarios:
- Cloud database.It is a common practice to deploy databases in the cloud, for automated maintenance and administration. To minimize latency, select aCA Live API Creatorservice on the same cloud provider and region as your database. If your organization requires advanced security, provide API Server in your private cloud.
- On-premises database.Where services are required for a database already deployed behind your firewall, contact your network administrator to authorizeCA Live API Creatoraccess to your database. The
If your organization has rigid security requirements, configure an on-premises API Server. This generally does not include elastic support to dynamically add servers.