syst_access_accounts


Description

Contains the known login accounts which are used solely for the purpose of authentication of users. Authorization is handled on a per-Instance basis within the application.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 uuid_generate_v7()
syst_access_account_instance_assocs.access_account_id syst_access_account_instance_assocs_access_accounts_fk C
syst_credentials.access_account_id syst_credentials_access_accounts_fk C
syst_identities.access_account_id syst_identities_access_accounts_fk C
syst_password_history.access_account_id syst_password_history_access_account_fk C

The record’s primary key. The definitive identifier of the record in the system.

General Usage

This column is system maintained and should be considered read only in normal operations.

internal_name text 2147483647 null

A candidate key useful for programmatic references to individual records.

General Usage

This column is system maintained and should be considered read only in normal operations.

external_name text 2147483647 null

A non-unique/non-key value used to display to users and external parties where uniqueness is less of a concern than specific end user presentation.

owning_owner_id uuid 2147483647 null
syst_owners.id syst_access_accounts_owners_fk C

Associates the Access Account with a specific Owner. This allows for access accounts which are identified and managed exclusively by a given Owner.

General Usage

When this field is NULL, the assumption is that it’s an independent access account. An independent Access Account may be used, for example, by third party accountants that need to access the Instances of different Owners.

allow_global_logins bool 1 false

Indicates whether or not an Access Account may be used to login outside of the context of a specific Owner or Instance. This use case supports Access Accounts which are independently managed, such as might be the case for external bookkeepers.

The need for this distinction arises when considering logins for Access Account holders such as customers or vendors. In these cases access to the Owner’s environment should appear to be unique, but they may use the same identifier as used for a different, but unrelated, Owner. In this case you have multiple Access Accounts with possibly the same identifier; to resolve the conflict, it is required therefore to know which Owner or Instance the Access Accounts holder is trying to access. In the allow global case we can just ask the account holder but in the disallow global case we need to know it in advance.

Another way to think about global logins is in relation to user interface. A global login interface may present the user with a choice of Instance Owners and then their Instances whereas the non-global login user must go directly to the login interface for a specific Owner (be that URL or other client-side specific identification.)

General Usage

When true, allows an Access Account to log into the system without having an Owner or Instance specified in the login process. When false, the Access Account is more tightly bound to a specific Owner and so only a specific Owner and Instances should be evaluated at login time.

access_account_state_id uuid 2147483647 null
syst_enum_items.id syst_access_accounts_access_account_states_fk R

The current life-cycle state of the Access Account.

diag_timestamp_created timestamptz 35,6 now()

The database server date/time when the transaction which created the record started.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_role_created text 2147483647 null

The database role which created the record.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_timestamp_modified timestamptz 35,6 now()

The database server date/time when the transaction which modified the record started. This field will be the same as diag_timestamp_created for inserted records.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_wallclock_modified timestamptz 35,6 clock_timestamp()

The database server date/time at the moment the record was actually modified. For long running transactions this time may be significantly later than the value of diag_timestamp_modified.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_role_modified text 2147483647 null

The database role which modified the record.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_row_version int8 19 1

The current version of the row. The value here indicates how many actual data changes have been made to the row. If an update of the row leaves all data fields the same, disregarding the updates to the diag_* columns, the row version is not updated, nor are any updates made to the other diag_* columns other than diag_update_count.

General Usage

This column is system maintained and should be considered read only in normal operations.

Direct Usage

This column is frequently used by by application logic to resolve the “dirty write” issues which can arise from concurrent data changes. As such any administrative override of automatic system maintenance of this value should consider the ramifications on application function.

diag_update_count int8 19 0

Records the number of times the record has been updated regardless as to if the update actually changed any data. In this way needless or redundant record updates can be found. This row starts at 0 and therefore may be the same as the diag_row_version - 1.

General Usage

This column is system maintained and should be considered read only in normal operations.

Indexes

Constraint Name Type Sort Column(s)
syst_access_accounts_pk Primary key Asc id
syst_access_accounts_internal_name_udx Must be unique Asc internal_name

Relationships