tba-storage-core 0.4.0.dev2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tba_storage_core/__init__.py +25 -0
- tba_storage_core/components.py +35 -0
- tba_storage_core/framework.py +3 -0
- tba_storage_core/migrations/__init__.py +15 -0
- tba_storage_core/migrations/contract.py +74 -0
- tba_storage_core/migrations/env.py +7 -0
- tba_storage_core/migrations/helpers.py +219 -0
- tba_storage_core/migrations/versions/0001_initial_identity_tables.py +17 -0
- tba_storage_core/migrations/versions/0002_client_and_service_tables.py +23 -0
- tba_storage_core/migrations/versions/0003_authorization_runtime_tables.py +17 -0
- tba_storage_core/migrations/versions/0004_device_par_revocation_tables.py +17 -0
- tba_storage_core/migrations/versions/0005_session_logout_tables.py +17 -0
- tba_storage_core/migrations/versions/0006_key_rotation_and_audit_tables.py +17 -0
- tba_storage_core/migrations/versions/0007_browser_session_cookie_and_auth_code_linkage.py +50 -0
- tba_storage_core/migrations/versions/0008_refresh_token_family_state.py +44 -0
- tba_storage_core/migrations/versions/0009_admin_identity_bootstrap_and_password_recovery.py +48 -0
- tba_storage_core/migrations/versions/0010_realm_namespace_tables.py +33 -0
- tba_storage_core/migrations/versions/0011_delegation_grant_lifecycle_tables.py +39 -0
- tba_storage_core/migrations/versions/0012_key_version_and_token_provenance_tables.py +36 -0
- tba_storage_core/migrations/versions/0013_contract_durable_state_tables.py +59 -0
- tba_storage_core/migrations/versions/0014_optional_contract_state_tables.py +57 -0
- tba_storage_core/migrations/versions/0015_principal_identity_credential_tables.py +85 -0
- tba_storage_core/migrations/versions/0016_crypto_key_storage_tables.py +84 -0
- tba_storage_core/migrations/versions/0017_authorization_server_table.py +21 -0
- tba_storage_core/migrations/versions/0018_policy_tables.py +27 -0
- tba_storage_core/migrations/versions/0019_federation_and_invariant_tables.py +35 -0
- tba_storage_core/migrations/versions/0020_backchannel_logout_replay_table.py +21 -0
- tba_storage_core/migrations/versions/0021_authentication_challenge_table.py +21 -0
- tba_storage_core/migrations/versions/0022_authority_and_trust_graph_tables.py +35 -0
- tba_storage_core/migrations/versions/0023_artifact_and_token_profile_discriminators.py +65 -0
- tba_storage_core/migrations/versions/0024_credential_issuer_wallet_and_configuration.py +32 -0
- tba_storage_core/migrations/versions/0025_credential_issuance_and_status.py +34 -0
- tba_storage_core/migrations/versions/0026_presentation_transaction_and_replay.py +28 -0
- tba_storage_core/migrations/versions/0027_attestation_and_reference_material.py +32 -0
- tba_storage_core/migrations/versions/0028_spiffe_svid_and_trust_bundles.py +22 -0
- tba_storage_core/migrations/versions/0029_security_event_delivery.py +28 -0
- tba_storage_core/migrations/versions/0030_optional_did_and_gnap_state.py +37 -0
- tba_storage_core/migrations/versions/0031_certificate_trust_and_status.py +22 -0
- tba_storage_core/migrations/versions/0032_claim_definition_and_provenance.py +30 -0
- tba_storage_core/migrations/versions/0033_replay_reservations.py +18 -0
- tba_storage_core/migrations/versions/0034_dpop_replay_nonce_tables.py +21 -0
- tba_storage_core/migrations/versions/0035_webauthn_rp_ceremony_and_credentials.py +76 -0
- tba_storage_core/migrations/versions/0036_workload_credentials_artifacts_and_proof_replay.py +27 -0
- tba_storage_core/migrations/versions/0037_operator_tables.py +30 -0
- tba_storage_core/migrations/versions/0038_adopt_component_ownership.py +66 -0
- tba_storage_core/migrations/versions/0039_normalized_platform_iam.py +17 -0
- tba_storage_core/py.typed +0 -0
- tba_storage_core/storage.lock.toml +211 -0
- tba_storage_core/storage.toml +34 -0
- tba_storage_core/tables/__init__.py +179 -0
- tba_storage_core/tables/_graph_base.py +53 -0
- tba_storage_core/tables/_registry.py +200 -0
- tba_storage_core/tables/access_review_campaign/__init__.py +9 -0
- tba_storage_core/tables/access_review_campaign/_table.py +25 -0
- tba_storage_core/tables/access_review_decision/__init__.py +9 -0
- tba_storage_core/tables/access_review_decision/_table.py +27 -0
- tba_storage_core/tables/access_review_item/__init__.py +9 -0
- tba_storage_core/tables/access_review_item/_table.py +26 -0
- tba_storage_core/tables/attestation_appraisal_policy/__init__.py +3 -0
- tba_storage_core/tables/attestation_endorsement/__init__.py +3 -0
- tba_storage_core/tables/attestation_evidence/__init__.py +3 -0
- tba_storage_core/tables/attestation_reference_manifest/__init__.py +3 -0
- tba_storage_core/tables/attestation_reference_value/__init__.py +3 -0
- tba_storage_core/tables/attestation_result/__init__.py +3 -0
- tba_storage_core/tables/attestation_state.py +124 -0
- tba_storage_core/tables/attribute_policy/__init__.py +9 -0
- tba_storage_core/tables/attribute_policy/_table.py +40 -0
- tba_storage_core/tables/audit_event/__init__.py +10 -0
- tba_storage_core/tables/audit_event/_table.py +47 -0
- tba_storage_core/tables/auth_code/__init__.py +13 -0
- tba_storage_core/tables/auth_code/_table.py +41 -0
- tba_storage_core/tables/auth_session/__init__.py +13 -0
- tba_storage_core/tables/auth_session/_table.py +45 -0
- tba_storage_core/tables/authentication_challenge/__init__.py +7 -0
- tba_storage_core/tables/authentication_challenge/_table.py +38 -0
- tba_storage_core/tables/authority_derivation_graph/__init__.py +15 -0
- tba_storage_core/tables/authority_derivation_graph/_table.py +94 -0
- tba_storage_core/tables/authorization_invariant/__init__.py +5 -0
- tba_storage_core/tables/authorization_invariant/_table.py +34 -0
- tba_storage_core/tables/authorization_server/__init__.py +6 -0
- tba_storage_core/tables/authorization_server/_table.py +61 -0
- tba_storage_core/tables/authz_verification_report/__init__.py +9 -0
- tba_storage_core/tables/authz_verification_report/_table.py +29 -0
- tba_storage_core/tables/backchannel_logout_replay/__init__.py +5 -0
- tba_storage_core/tables/backchannel_logout_replay/_table.py +37 -0
- tba_storage_core/tables/certificate_record/__init__.py +3 -0
- tba_storage_core/tables/certificate_state.py +82 -0
- tba_storage_core/tables/certificate_status_snapshot/__init__.py +3 -0
- tba_storage_core/tables/claim_state.py +98 -0
- tba_storage_core/tables/client/__init__.py +9 -0
- tba_storage_core/tables/client/_table.py +41 -0
- tba_storage_core/tables/client_registration/__init__.py +10 -0
- tba_storage_core/tables/client_registration/_table.py +47 -0
- tba_storage_core/tables/consent/__init__.py +13 -0
- tba_storage_core/tables/consent/_table.py +57 -0
- tba_storage_core/tables/control_correctness_report/__init__.py +9 -0
- tba_storage_core/tables/control_correctness_report/_table.py +20 -0
- tba_storage_core/tables/credential/__init__.py +9 -0
- tba_storage_core/tables/credential/_table.py +74 -0
- tba_storage_core/tables/credential_api_key/__init__.py +9 -0
- tba_storage_core/tables/credential_api_key/_table.py +50 -0
- tba_storage_core/tables/credential_audit_event/__init__.py +9 -0
- tba_storage_core/tables/credential_audit_event/_table.py +25 -0
- tba_storage_core/tables/credential_client_secret/__init__.py +9 -0
- tba_storage_core/tables/credential_client_secret/_table.py +24 -0
- tba_storage_core/tables/credential_configuration/__init__.py +3 -0
- tba_storage_core/tables/credential_deferred_transaction/__init__.py +3 -0
- tba_storage_core/tables/credential_dpop_key/__init__.py +9 -0
- tba_storage_core/tables/credential_dpop_key/_table.py +22 -0
- tba_storage_core/tables/credential_ecosystem_registry.py +119 -0
- tba_storage_core/tables/credential_issuance_state.py +154 -0
- tba_storage_core/tables/credential_issuance_transaction/__init__.py +3 -0
- tba_storage_core/tables/credential_issuer/__init__.py +3 -0
- tba_storage_core/tables/credential_mfa_factor/__init__.py +9 -0
- tba_storage_core/tables/credential_mfa_factor/_table.py +24 -0
- tba_storage_core/tables/credential_mtls_certificate/__init__.py +9 -0
- tba_storage_core/tables/credential_mtls_certificate/_table.py +26 -0
- tba_storage_core/tables/credential_notification/__init__.py +3 -0
- tba_storage_core/tables/credential_offer/__init__.py +3 -0
- tba_storage_core/tables/credential_password/__init__.py +9 -0
- tba_storage_core/tables/credential_password/_table.py +24 -0
- tba_storage_core/tables/credential_recovery_code/__init__.py +9 -0
- tba_storage_core/tables/credential_recovery_code/_table.py +23 -0
- tba_storage_core/tables/credential_service_key/__init__.py +9 -0
- tba_storage_core/tables/credential_service_key/_table.py +49 -0
- tba_storage_core/tables/credential_status_entry/__init__.py +3 -0
- tba_storage_core/tables/credential_status_list/__init__.py +3 -0
- tba_storage_core/tables/credential_status_publication/__init__.py +3 -0
- tba_storage_core/tables/credential_webauthn_passkey/__init__.py +9 -0
- tba_storage_core/tables/credential_webauthn_passkey/_table.py +42 -0
- tba_storage_core/tables/crypto_key/__init__.py +13 -0
- tba_storage_core/tables/crypto_key/_table.py +52 -0
- tba_storage_core/tables/crypto_key_version/__init__.py +13 -0
- tba_storage_core/tables/crypto_key_version/_table.py +53 -0
- tba_storage_core/tables/delegated_admin_scope/__init__.py +9 -0
- tba_storage_core/tables/delegated_admin_scope/_table.py +34 -0
- tba_storage_core/tables/delegation_grant/__init__.py +13 -0
- tba_storage_core/tables/delegation_grant/_table.py +134 -0
- tba_storage_core/tables/device_code/__init__.py +13 -0
- tba_storage_core/tables/device_code/_table.py +54 -0
- tba_storage_core/tables/did_document/__init__.py +3 -0
- tba_storage_core/tables/did_document_version/__init__.py +3 -0
- tba_storage_core/tables/did_gnap_state.py +169 -0
- tba_storage_core/tables/did_resolution_cache/__init__.py +3 -0
- tba_storage_core/tables/did_service/__init__.py +3 -0
- tba_storage_core/tables/did_verification_method/__init__.py +3 -0
- tba_storage_core/tables/dpop_nonce/__init__.py +5 -0
- tba_storage_core/tables/dpop_nonce/_table.py +77 -0
- tba_storage_core/tables/dpop_replay/__init__.py +5 -0
- tba_storage_core/tables/dpop_replay/_table.py +97 -0
- tba_storage_core/tables/entitlement/__init__.py +9 -0
- tba_storage_core/tables/entitlement/_table.py +22 -0
- tba_storage_core/tables/entitlement_assignment/__init__.py +9 -0
- tba_storage_core/tables/entitlement_assignment/_table.py +26 -0
- tba_storage_core/tables/federated_session/__init__.py +5 -0
- tba_storage_core/tables/federated_session/_table.py +32 -0
- tba_storage_core/tables/federation/__init__.py +5 -0
- tba_storage_core/tables/federation/_table.py +37 -0
- tba_storage_core/tables/gnap_client_instance/__init__.py +3 -0
- tba_storage_core/tables/gnap_continuation/__init__.py +3 -0
- tba_storage_core/tables/gnap_grant/__init__.py +3 -0
- tba_storage_core/tables/gnap_interaction/__init__.py +3 -0
- tba_storage_core/tables/identity_provider/__init__.py +5 -0
- tba_storage_core/tables/identity_provider/_table.py +37 -0
- tba_storage_core/tables/invariant_evaluation/__init__.py +5 -0
- tba_storage_core/tables/invariant_evaluation/_table.py +29 -0
- tba_storage_core/tables/invariant_violation/__init__.py +5 -0
- tba_storage_core/tables/invariant_violation/_table.py +27 -0
- tba_storage_core/tables/key_attestation_evidence/__init__.py +13 -0
- tba_storage_core/tables/key_attestation_evidence/_table.py +99 -0
- tba_storage_core/tables/key_envelope/__init__.py +13 -0
- tba_storage_core/tables/key_envelope/_table.py +54 -0
- tba_storage_core/tables/key_rotation_event/__init__.py +9 -0
- tba_storage_core/tables/key_rotation_event/_table.py +44 -0
- tba_storage_core/tables/key_rotation_policy/__init__.py +9 -0
- tba_storage_core/tables/key_rotation_policy/_table.py +38 -0
- tba_storage_core/tables/logout_state/__init__.py +10 -0
- tba_storage_core/tables/logout_state/_table.py +67 -0
- tba_storage_core/tables/machine_identity/__init__.py +9 -0
- tba_storage_core/tables/machine_identity/_table.py +49 -0
- tba_storage_core/tables/operator_activity/__init__.py +9 -0
- tba_storage_core/tables/operator_activity/_table.py +29 -0
- tba_storage_core/tables/operator_audit_event/__init__.py +9 -0
- tba_storage_core/tables/operator_audit_event/_table.py +29 -0
- tba_storage_core/tables/operator_metadata/__init__.py +9 -0
- tba_storage_core/tables/operator_metadata/_table.py +19 -0
- tba_storage_core/tables/operator_record/__init__.py +9 -0
- tba_storage_core/tables/operator_record/_table.py +44 -0
- tba_storage_core/tables/operator_transaction/__init__.py +9 -0
- tba_storage_core/tables/operator_transaction/_table.py +33 -0
- tba_storage_core/tables/plugin_descriptor/__init__.py +9 -0
- tba_storage_core/tables/plugin_descriptor/_table.py +23 -0
- tba_storage_core/tables/plugin_lifecycle_event/__init__.py +9 -0
- tba_storage_core/tables/plugin_lifecycle_event/_table.py +22 -0
- tba_storage_core/tables/policy/__init__.py +5 -0
- tba_storage_core/tables/policy/_table.py +30 -0
- tba_storage_core/tables/policy_condition/__init__.py +9 -0
- tba_storage_core/tables/policy_condition/_table.py +21 -0
- tba_storage_core/tables/policy_set/__init__.py +5 -0
- tba_storage_core/tables/policy_set/_table.py +33 -0
- tba_storage_core/tables/policy_set_member/__init__.py +5 -0
- tba_storage_core/tables/policy_set_member/_table.py +32 -0
- tba_storage_core/tables/policy_target/__init__.py +5 -0
- tba_storage_core/tables/policy_target/_table.py +36 -0
- tba_storage_core/tables/policy_version/__init__.py +5 -0
- tba_storage_core/tables/policy_version/_table.py +35 -0
- tba_storage_core/tables/presentation_consent/__init__.py +3 -0
- tba_storage_core/tables/presentation_replay/__init__.py +3 -0
- tba_storage_core/tables/presentation_state.py +98 -0
- tba_storage_core/tables/presentation_transaction/__init__.py +3 -0
- tba_storage_core/tables/principal/__init__.py +9 -0
- tba_storage_core/tables/principal/_table.py +49 -0
- tba_storage_core/tables/principal_key_binding/__init__.py +13 -0
- tba_storage_core/tables/principal_key_binding/_table.py +48 -0
- tba_storage_core/tables/provider_artifact/__init__.py +9 -0
- tba_storage_core/tables/provider_artifact/_table.py +22 -0
- tba_storage_core/tables/pushed_authorization_request/__init__.py +13 -0
- tba_storage_core/tables/pushed_authorization_request/_table.py +59 -0
- tba_storage_core/tables/realm/__init__.py +13 -0
- tba_storage_core/tables/realm/_table.py +87 -0
- tba_storage_core/tables/release_attestation_event/__init__.py +9 -0
- tba_storage_core/tables/release_attestation_event/_table.py +21 -0
- tba_storage_core/tables/release_authorization_state/__init__.py +9 -0
- tba_storage_core/tables/release_authorization_state/_table.py +21 -0
- tba_storage_core/tables/release_capability_record/__init__.py +9 -0
- tba_storage_core/tables/release_capability_record/_table.py +21 -0
- tba_storage_core/tables/release_posture/__init__.py +9 -0
- tba_storage_core/tables/release_posture/_table.py +21 -0
- tba_storage_core/tables/release_security_posture/__init__.py +9 -0
- tba_storage_core/tables/release_security_posture/_table.py +22 -0
- tba_storage_core/tables/replay_reservation.py +34 -0
- tba_storage_core/tables/residency_zone/__init__.py +9 -0
- tba_storage_core/tables/residency_zone/_table.py +20 -0
- tba_storage_core/tables/resource_server_contract/__init__.py +9 -0
- tba_storage_core/tables/resource_server_contract/_table.py +21 -0
- tba_storage_core/tables/revoked_token/__init__.py +13 -0
- tba_storage_core/tables/revoked_token/_table.py +39 -0
- tba_storage_core/tables/role/__init__.py +9 -0
- tba_storage_core/tables/role/_table.py +22 -0
- tba_storage_core/tables/runtime_qualification/__init__.py +9 -0
- tba_storage_core/tables/runtime_qualification/_table.py +21 -0
- tba_storage_core/tables/scim_group/__init__.py +9 -0
- tba_storage_core/tables/scim_group/_table.py +21 -0
- tba_storage_core/tables/scim_patch_event/__init__.py +9 -0
- tba_storage_core/tables/scim_patch_event/_table.py +22 -0
- tba_storage_core/tables/scim_schema/__init__.py +9 -0
- tba_storage_core/tables/scim_schema/_table.py +21 -0
- tba_storage_core/tables/scim_user/__init__.py +9 -0
- tba_storage_core/tables/scim_user/_table.py +21 -0
- tba_storage_core/tables/sdk_package/__init__.py +9 -0
- tba_storage_core/tables/sdk_package/_table.py +23 -0
- tba_storage_core/tables/security_event/__init__.py +3 -0
- tba_storage_core/tables/security_event_delivery/__init__.py +3 -0
- tba_storage_core/tables/security_event_replay/__init__.py +3 -0
- tba_storage_core/tables/security_event_state.py +100 -0
- tba_storage_core/tables/security_event_subscription/__init__.py +3 -0
- tba_storage_core/tables/service_identity/__init__.py +9 -0
- tba_storage_core/tables/service_identity/_table.py +47 -0
- tba_storage_core/tables/spiffe_state.py +83 -0
- tba_storage_core/tables/spiffe_trust_bundle/__init__.py +3 -0
- tba_storage_core/tables/subject_alias/__init__.py +9 -0
- tba_storage_core/tables/subject_alias/_table.py +21 -0
- tba_storage_core/tables/svid_record/__init__.py +3 -0
- tba_storage_core/tables/tenant/__init__.py +13 -0
- tba_storage_core/tables/tenant/_table.py +83 -0
- tba_storage_core/tables/tenant_membership/__init__.py +9 -0
- tba_storage_core/tables/tenant_membership/_table.py +28 -0
- tba_storage_core/tables/tenant_residency/__init__.py +9 -0
- tba_storage_core/tables/tenant_residency/_table.py +23 -0
- tba_storage_core/tables/token_record/__init__.py +10 -0
- tba_storage_core/tables/token_record/_table.py +123 -0
- tba_storage_core/tables/trust_anchor/__init__.py +3 -0
- tba_storage_core/tables/trust_domain_federation/__init__.py +3 -0
- tba_storage_core/tables/trust_federation_graph/__init__.py +15 -0
- tba_storage_core/tables/trust_federation_graph/_table.py +94 -0
- tba_storage_core/tables/user/__init__.py +13 -0
- tba_storage_core/tables/user/_table.py +127 -0
- tba_storage_core/tables/verifier_registration/__init__.py +3 -0
- tba_storage_core/tables/wallet_attestation/__init__.py +3 -0
- tba_storage_core/tables/wallet_instance/__init__.py +3 -0
- tba_storage_core/tables/wallet_key_binding/__init__.py +3 -0
- tba_storage_core/tables/wallet_registration/__init__.py +3 -0
- tba_storage_core/tables/webauthn_attestation_record/__init__.py +3 -0
- tba_storage_core/tables/webauthn_attestation_record/_table.py +28 -0
- tba_storage_core/tables/webauthn_ceremony/__init__.py +3 -0
- tba_storage_core/tables/webauthn_ceremony/_table.py +43 -0
- tba_storage_core/tables/webauthn_relying_party/__init__.py +3 -0
- tba_storage_core/tables/webauthn_relying_party/_table.py +24 -0
- tba_storage_core/tables/workload_credential_state.py +57 -0
- tba_storage_core/tables/workload_identity/__init__.py +9 -0
- tba_storage_core/tables/workload_identity/_table.py +89 -0
- tba_storage_core-0.4.0.dev2.dist-info/METADATA +126 -0
- tba_storage_core-0.4.0.dev2.dist-info/RECORD +294 -0
- tba_storage_core-0.4.0.dev2.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
manifest_version = "1.0.0"
|
|
2
|
+
profile = "tigrbl.identity.storage.full"
|
|
3
|
+
components = [
|
|
4
|
+
"tba_storage_access_governance",
|
|
5
|
+
"tba_storage_attestation",
|
|
6
|
+
"tba_storage_audit",
|
|
7
|
+
"tba_storage_authentication",
|
|
8
|
+
"tba_storage_authority_graph",
|
|
9
|
+
"tba_storage_authorization_policy",
|
|
10
|
+
"tba_storage_certificate",
|
|
11
|
+
"tba_storage_claims",
|
|
12
|
+
"tba_storage_consent",
|
|
13
|
+
"tba_storage_delegation",
|
|
14
|
+
"tba_storage_did",
|
|
15
|
+
"tba_storage_digital_credential",
|
|
16
|
+
"tba_storage_federation",
|
|
17
|
+
"tba_storage_principals",
|
|
18
|
+
"tba_storage_gnap",
|
|
19
|
+
"tba_storage_key_material",
|
|
20
|
+
"tba_storage_oauth",
|
|
21
|
+
"tba_storage_oidc",
|
|
22
|
+
"tba_storage_operator",
|
|
23
|
+
"tba_storage_presentation",
|
|
24
|
+
"tba_storage_release_governance",
|
|
25
|
+
"tba_storage_replay_protection",
|
|
26
|
+
"tba_storage_residency",
|
|
27
|
+
"tba_storage_scim",
|
|
28
|
+
"tba_storage_security_event",
|
|
29
|
+
"tba_storage_token",
|
|
30
|
+
"tba_storage_tenancy",
|
|
31
|
+
"tba_storage_trust_federation_graph",
|
|
32
|
+
"tba_storage_webauthn",
|
|
33
|
+
"tba_storage_workload_identity",
|
|
34
|
+
]
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
'Persistence models and inventory exports for the Tigrbl-native package tree.'
|
|
2
|
+
|
|
3
|
+
from ._registry import * # noqa: F401,F403
|
|
4
|
+
from ._registry import _CLIENT_ID_RE, _TABLE_MODELS
|
|
5
|
+
|
|
6
|
+
TABLE_MODELS = _TABLE_MODELS
|
|
7
|
+
TABLE_MODEL_BY_NAME = {model.__name__: model for model in TABLE_MODELS}
|
|
8
|
+
TABLE_MODEL_BY_TABLENAME = {model.__tablename__: model for model in TABLE_MODELS}
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"RestOltpTable",
|
|
12
|
+
"TABLE_MODELS",
|
|
13
|
+
"TABLE_MODEL_BY_NAME",
|
|
14
|
+
"TABLE_MODEL_BY_TABLENAME",
|
|
15
|
+
"Tenant",
|
|
16
|
+
"Realm",
|
|
17
|
+
"User",
|
|
18
|
+
"Client",
|
|
19
|
+
"_CLIENT_ID_RE",
|
|
20
|
+
"ClientRegistration",
|
|
21
|
+
"AuthorizationServer",
|
|
22
|
+
"Principal",
|
|
23
|
+
"ServiceIdentity",
|
|
24
|
+
"MachineIdentity",
|
|
25
|
+
"WorkloadIdentity",
|
|
26
|
+
"CredentialApiKey",
|
|
27
|
+
"CredentialServiceKey",
|
|
28
|
+
"Credential",
|
|
29
|
+
"CredentialAuditEvent",
|
|
30
|
+
"CredentialClientSecret",
|
|
31
|
+
"CredentialDpopKey",
|
|
32
|
+
"CredentialMfaFactor",
|
|
33
|
+
"CredentialMtlsCertificate",
|
|
34
|
+
"CredentialPassword",
|
|
35
|
+
"CredentialRecoveryCode",
|
|
36
|
+
"CredentialWebAuthnPasskey",
|
|
37
|
+
"WebAuthnAttestationRecord",
|
|
38
|
+
"WebAuthnCeremony",
|
|
39
|
+
"WebAuthnRelyingParty",
|
|
40
|
+
"CryptoKey",
|
|
41
|
+
"CryptoKeyVersion",
|
|
42
|
+
"PrincipalKeyBinding",
|
|
43
|
+
"KeyEnvelope",
|
|
44
|
+
"KeyAttestationEvidence",
|
|
45
|
+
"CredentialIssuer",
|
|
46
|
+
"CredentialConfiguration",
|
|
47
|
+
"WalletRegistration",
|
|
48
|
+
"WalletInstance",
|
|
49
|
+
"WalletAttestation",
|
|
50
|
+
"WalletKeyBinding",
|
|
51
|
+
"CredentialOffer",
|
|
52
|
+
"CredentialIssuanceTransaction",
|
|
53
|
+
"CredentialDeferredTransaction",
|
|
54
|
+
"CredentialNotification",
|
|
55
|
+
"CredentialStatusList",
|
|
56
|
+
"CredentialStatusEntry",
|
|
57
|
+
"CredentialStatusPublication",
|
|
58
|
+
"VerifierRegistration",
|
|
59
|
+
"PresentationTransaction",
|
|
60
|
+
"PresentationConsent",
|
|
61
|
+
"PresentationReplay",
|
|
62
|
+
"AttestationEvidence",
|
|
63
|
+
"AttestationResult",
|
|
64
|
+
"AttestationReferenceManifest",
|
|
65
|
+
"AttestationReferenceValue",
|
|
66
|
+
"AttestationEndorsement",
|
|
67
|
+
"AttestationAppraisalPolicy",
|
|
68
|
+
"SvidRecord",
|
|
69
|
+
"SpiffeTrustBundle",
|
|
70
|
+
"TrustDomainFederation",
|
|
71
|
+
"WorkloadReferenceBinding",
|
|
72
|
+
"WorkloadCredentialEntitlement",
|
|
73
|
+
"ProtectedArtifactReference",
|
|
74
|
+
"PossessionProofReplay",
|
|
75
|
+
"SecurityEvent",
|
|
76
|
+
"SecurityEventSubscription",
|
|
77
|
+
"SecurityEventDelivery",
|
|
78
|
+
"SecurityEventReplay",
|
|
79
|
+
"ReplayReservation",
|
|
80
|
+
"DidDocument",
|
|
81
|
+
"DidDocumentVersion",
|
|
82
|
+
"DidVerificationMethod",
|
|
83
|
+
"DidService",
|
|
84
|
+
"DidResolutionCache",
|
|
85
|
+
"GnapGrant",
|
|
86
|
+
"GnapContinuation",
|
|
87
|
+
"GnapClientInstance",
|
|
88
|
+
"GnapInteraction",
|
|
89
|
+
"CertificateRecord",
|
|
90
|
+
"TrustAnchor",
|
|
91
|
+
"CertificateStatusSnapshot",
|
|
92
|
+
"ClaimDefinition",
|
|
93
|
+
"ClaimSourceBinding",
|
|
94
|
+
"ClaimReleasePolicy",
|
|
95
|
+
"ClaimProvenanceRecord",
|
|
96
|
+
"ClaimSnapshot",
|
|
97
|
+
"AuthSession",
|
|
98
|
+
"AuthCode",
|
|
99
|
+
"DeviceCode",
|
|
100
|
+
"RevokedToken",
|
|
101
|
+
"TokenRecord",
|
|
102
|
+
"DelegationGrantEdge",
|
|
103
|
+
"DelegationGrantProof",
|
|
104
|
+
"DelegationGrant",
|
|
105
|
+
"DelegationGrantRecord",
|
|
106
|
+
"DelegationGrantScope",
|
|
107
|
+
"DelegationGrantTokenLink",
|
|
108
|
+
"PushedAuthorizationRequest",
|
|
109
|
+
"Consent",
|
|
110
|
+
"AuditEvent",
|
|
111
|
+
"LogoutState",
|
|
112
|
+
"BackchannelLogoutReplay",
|
|
113
|
+
"AuthenticationChallenge",
|
|
114
|
+
"DpopReplay",
|
|
115
|
+
"DpopNonce",
|
|
116
|
+
"KeyRotationEvent",
|
|
117
|
+
"KeyRotationPolicy",
|
|
118
|
+
"TenantMembership",
|
|
119
|
+
"SubjectAlias",
|
|
120
|
+
"Role",
|
|
121
|
+
"AttributePolicy",
|
|
122
|
+
"PolicyCondition",
|
|
123
|
+
"Policy",
|
|
124
|
+
"PolicyVersion",
|
|
125
|
+
"PolicySet",
|
|
126
|
+
"PolicySetMember",
|
|
127
|
+
"PolicyTarget",
|
|
128
|
+
"DelegatedAdminScope",
|
|
129
|
+
"Entitlement",
|
|
130
|
+
"EntitlementAssignment",
|
|
131
|
+
"AccessReviewCampaign",
|
|
132
|
+
"AccessReviewItem",
|
|
133
|
+
"AccessReviewDecision",
|
|
134
|
+
"ResidencyZone",
|
|
135
|
+
"TenantResidency",
|
|
136
|
+
"SDKPackageRecord",
|
|
137
|
+
"PluginDescriptorRecord",
|
|
138
|
+
"PluginLifecycleEventRecord",
|
|
139
|
+
"ScimSchemaRecord",
|
|
140
|
+
"ScimUserRecord",
|
|
141
|
+
"ScimGroupRecord",
|
|
142
|
+
"ScimPatchEvent",
|
|
143
|
+
"ReleaseCapabilityRecord",
|
|
144
|
+
"ReleaseAuthorizationState",
|
|
145
|
+
"RuntimeQualificationRecord",
|
|
146
|
+
"ReleaseSecurityPosture",
|
|
147
|
+
"ReleasePosture",
|
|
148
|
+
"ReleaseAttestationEvent",
|
|
149
|
+
"ControlCorrectnessReport",
|
|
150
|
+
"AuthzVerificationReport",
|
|
151
|
+
"ResourceServerContract",
|
|
152
|
+
"ProviderArtifact",
|
|
153
|
+
"IdentityProvider",
|
|
154
|
+
"Federation",
|
|
155
|
+
"FederatedSession",
|
|
156
|
+
"AuthorizationInvariant",
|
|
157
|
+
"AuthorizationResourceType",
|
|
158
|
+
"AuthorizationAction",
|
|
159
|
+
"AuthorizationGroup",
|
|
160
|
+
"AuthorizationGroupMembership",
|
|
161
|
+
"RolePermission",
|
|
162
|
+
"RoleGrant",
|
|
163
|
+
"PolicyApproval",
|
|
164
|
+
"PolicyPublication",
|
|
165
|
+
"InvariantEvaluation",
|
|
166
|
+
"InvariantViolation",
|
|
167
|
+
"AuthorityDerivationGraph",
|
|
168
|
+
"AuthorityDerivationGraphNode",
|
|
169
|
+
"AuthorityDerivationGraphEdge",
|
|
170
|
+
"TrustFederationGraph",
|
|
171
|
+
"TrustFederationGraphNode",
|
|
172
|
+
"TrustFederationGraphEdge",
|
|
173
|
+
"OperatorMetadata",
|
|
174
|
+
"OperatorRecord",
|
|
175
|
+
"OperatorTransaction",
|
|
176
|
+
"OperatorAuditEvent",
|
|
177
|
+
"OperatorActivity",
|
|
178
|
+
]
|
|
179
|
+
__all__ = list(dict.fromkeys(__all__))
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Shared abstract columns for graph-backed storage tables."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
from tba_storage_core.framework import (
|
|
8
|
+
Boolean,
|
|
9
|
+
JSON,
|
|
10
|
+
Mapped,
|
|
11
|
+
RestOltpTable,
|
|
12
|
+
S,
|
|
13
|
+
String,
|
|
14
|
+
Timestamped,
|
|
15
|
+
acol,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GraphBase(RestOltpTable, Timestamped):
|
|
20
|
+
__abstract__ = True
|
|
21
|
+
|
|
22
|
+
graph_key: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
23
|
+
tenant_id: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
24
|
+
realm: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
25
|
+
status: Mapped[str] = acol(storage=S(String(32), nullable=False, default="active", index=True))
|
|
26
|
+
graph_metadata: Mapped[dict[str, Any] | None] = acol(storage=S(JSON, nullable=True))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class GraphNodeBase(RestOltpTable, Timestamped):
|
|
30
|
+
__abstract__ = True
|
|
31
|
+
|
|
32
|
+
node_key: Mapped[str] = acol(storage=S(String(1000), nullable=False, index=True))
|
|
33
|
+
kind: Mapped[str] = acol(storage=S(String(64), nullable=False, index=True))
|
|
34
|
+
tenant_id: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
35
|
+
realm: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
36
|
+
ref_table: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
37
|
+
ref_id: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
38
|
+
node_metadata: Mapped[dict[str, Any] | None] = acol(storage=S(JSON, nullable=True))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class GraphEdgeBase(RestOltpTable, Timestamped):
|
|
42
|
+
__abstract__ = True
|
|
43
|
+
|
|
44
|
+
edge_key: Mapped[str] = acol(storage=S(String(1000), nullable=False, index=True))
|
|
45
|
+
kind: Mapped[str] = acol(storage=S(String(64), nullable=False, index=True))
|
|
46
|
+
tenant_id: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
47
|
+
realm: Mapped[str | None] = acol(storage=S(String(255), nullable=True, index=True))
|
|
48
|
+
active: Mapped[bool] = acol(storage=S(Boolean, nullable=False, default=True, index=True))
|
|
49
|
+
revoked: Mapped[bool] = acol(storage=S(Boolean, nullable=False, default=False, index=True))
|
|
50
|
+
edge_metadata: Mapped[dict[str, Any] | None] = acol(storage=S(JSON, nullable=True))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
__all__ = ["GraphBase", "GraphNodeBase", "GraphEdgeBase"]
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"""Compatibility projection of independently owned storage components."""
|
|
2
|
+
# ruff: noqa: F401,F403
|
|
3
|
+
|
|
4
|
+
from tba_primitives_identity.orm import RestOltpTable
|
|
5
|
+
from tba_storage_tenancy.tables import Realm, Tenant
|
|
6
|
+
from tba_storage_principals.tables import User, Principal, SubjectAlias, ServiceIdentity, MachineIdentity
|
|
7
|
+
from tba_storage_authentication.tables import Credential, CredentialApiKey, CredentialServiceKey, CredentialAuditEvent, CredentialClientSecret, CredentialDpopKey, CredentialMfaFactor, CredentialMtlsCertificate, CredentialPassword, CredentialRecoveryCode, AuthenticationChallenge
|
|
8
|
+
from tba_storage_oauth.tables import Client, ClientRegistration, AuthorizationServer, AuthSession, AuthCode, DeviceCode, RevokedToken, PushedAuthorizationRequest
|
|
9
|
+
from tba_storage_oidc.tables import LogoutState, BackchannelLogoutReplay
|
|
10
|
+
from tba_storage_token.tables import TokenRecord, ProtectedArtifactReference, PossessionProofReplay
|
|
11
|
+
from tba_storage_consent.tables import Consent
|
|
12
|
+
from tba_storage_delegation.tables import DelegationGrant, DelegationGrantScope, DelegationGrantProof, DelegationGrantEdge, DelegationGrantTokenLink
|
|
13
|
+
from tba_storage_key_material.tables import CryptoKey, CryptoKeyVersion, PrincipalKeyBinding, KeyEnvelope, KeyAttestationEvidence, KeyRotationEvent, KeyRotationPolicy
|
|
14
|
+
from tba_storage_authorization_policy.tables import TenantMembership, Role, AttributePolicy, PolicyCondition, Policy, PolicyVersion, PolicySet, PolicySetMember, PolicyTarget, DelegatedAdminScope, AuthorizationInvariant, InvariantEvaluation, InvariantViolation, AuthorizationResourceType, AuthorizationAction, AuthorizationGroup, AuthorizationGroupMembership, RolePermission, RoleGrant, PolicyApproval, PolicyPublication
|
|
15
|
+
from tba_storage_access_governance.tables import Entitlement, EntitlementAssignment, AccessReviewCampaign, AccessReviewItem, AccessReviewDecision
|
|
16
|
+
from tba_storage_residency.tables import ResidencyZone, TenantResidency
|
|
17
|
+
from tba_storage_audit.tables import AuditEvent
|
|
18
|
+
from tba_storage_federation.tables import ProviderArtifact, IdentityProvider, Federation, FederatedSession
|
|
19
|
+
from tba_storage_digital_credential.tables import CredentialIssuer, CredentialConfiguration, WalletRegistration, WalletInstance, WalletAttestation, WalletKeyBinding, CredentialOffer, CredentialIssuanceTransaction, CredentialDeferredTransaction, CredentialNotification, CredentialStatusList, CredentialStatusEntry, CredentialStatusPublication
|
|
20
|
+
from tba_storage_presentation.tables import VerifierRegistration, PresentationTransaction, PresentationConsent, PresentationReplay
|
|
21
|
+
from tba_storage_attestation.tables import AttestationEvidence, AttestationResult, AttestationReferenceManifest, AttestationReferenceValue, AttestationEndorsement, AttestationAppraisalPolicy
|
|
22
|
+
from tba_storage_workload_identity.tables import WorkloadIdentity, SvidRecord, SpiffeTrustBundle, TrustDomainFederation, WorkloadReferenceBinding, WorkloadCredentialEntitlement
|
|
23
|
+
from tba_storage_security_event.tables import SecurityEvent, SecurityEventSubscription, SecurityEventDelivery, SecurityEventReplay
|
|
24
|
+
from tba_storage_replay_protection.tables import ReplayReservation, DpopReplay, DpopNonce
|
|
25
|
+
from tba_storage_did.tables import DidDocument, DidDocumentVersion, DidVerificationMethod, DidService, DidResolutionCache
|
|
26
|
+
from tba_storage_gnap.tables import GnapGrant, GnapContinuation, GnapClientInstance, GnapInteraction
|
|
27
|
+
from tba_storage_certificate.tables import CertificateRecord, TrustAnchor, CertificateStatusSnapshot
|
|
28
|
+
from tba_storage_claims.tables import ClaimDefinition, ClaimSourceBinding, ClaimReleasePolicy, ClaimProvenanceRecord, ClaimSnapshot
|
|
29
|
+
from tba_storage_webauthn.tables import CredentialWebAuthnPasskey, WebAuthnAttestationRecord, WebAuthnCeremony, WebAuthnRelyingParty
|
|
30
|
+
from tba_storage_authority_graph.tables import AuthorityDerivationGraph, AuthorityDerivationGraphNode, AuthorityDerivationGraphEdge
|
|
31
|
+
from tba_storage_trust_federation_graph.tables import TrustFederationGraph, TrustFederationGraphNode, TrustFederationGraphEdge
|
|
32
|
+
from tba_storage_scim.tables import ScimSchemaRecord, ScimUserRecord, ScimGroupRecord, ScimPatchEvent
|
|
33
|
+
from tba_storage_release_governance.tables import SDKPackageRecord, PluginDescriptorRecord, PluginLifecycleEventRecord, ReleaseCapabilityRecord, ReleaseAuthorizationState, RuntimeQualificationRecord, ReleaseSecurityPosture, ReleasePosture, ReleaseAttestationEvent, ControlCorrectnessReport, AuthzVerificationReport, ResourceServerContract
|
|
34
|
+
from tba_storage_operator.tables import OperatorMetadata, OperatorRecord, OperatorTransaction, OperatorAuditEvent, OperatorActivity
|
|
35
|
+
from tba_storage_oauth.tables.client import _CLIENT_ID_RE
|
|
36
|
+
from tba_storage_delegation.tables.delegation_grant import DelegationGrantRecord
|
|
37
|
+
|
|
38
|
+
_TABLE_MODELS = (
|
|
39
|
+
Realm,
|
|
40
|
+
Tenant,
|
|
41
|
+
User,
|
|
42
|
+
Principal,
|
|
43
|
+
SubjectAlias,
|
|
44
|
+
ServiceIdentity,
|
|
45
|
+
MachineIdentity,
|
|
46
|
+
Credential,
|
|
47
|
+
CredentialApiKey,
|
|
48
|
+
CredentialServiceKey,
|
|
49
|
+
CredentialAuditEvent,
|
|
50
|
+
CredentialClientSecret,
|
|
51
|
+
CredentialDpopKey,
|
|
52
|
+
CredentialMfaFactor,
|
|
53
|
+
CredentialMtlsCertificate,
|
|
54
|
+
CredentialPassword,
|
|
55
|
+
CredentialRecoveryCode,
|
|
56
|
+
AuthenticationChallenge,
|
|
57
|
+
Client,
|
|
58
|
+
ClientRegistration,
|
|
59
|
+
AuthorizationServer,
|
|
60
|
+
AuthSession,
|
|
61
|
+
AuthCode,
|
|
62
|
+
DeviceCode,
|
|
63
|
+
RevokedToken,
|
|
64
|
+
PushedAuthorizationRequest,
|
|
65
|
+
LogoutState,
|
|
66
|
+
BackchannelLogoutReplay,
|
|
67
|
+
TokenRecord,
|
|
68
|
+
ProtectedArtifactReference,
|
|
69
|
+
PossessionProofReplay,
|
|
70
|
+
Consent,
|
|
71
|
+
DelegationGrant,
|
|
72
|
+
DelegationGrantScope,
|
|
73
|
+
DelegationGrantProof,
|
|
74
|
+
DelegationGrantEdge,
|
|
75
|
+
DelegationGrantTokenLink,
|
|
76
|
+
CryptoKey,
|
|
77
|
+
CryptoKeyVersion,
|
|
78
|
+
PrincipalKeyBinding,
|
|
79
|
+
KeyEnvelope,
|
|
80
|
+
KeyAttestationEvidence,
|
|
81
|
+
KeyRotationEvent,
|
|
82
|
+
KeyRotationPolicy,
|
|
83
|
+
TenantMembership,
|
|
84
|
+
Role,
|
|
85
|
+
AttributePolicy,
|
|
86
|
+
PolicyCondition,
|
|
87
|
+
Policy,
|
|
88
|
+
PolicyVersion,
|
|
89
|
+
PolicySet,
|
|
90
|
+
PolicySetMember,
|
|
91
|
+
PolicyTarget,
|
|
92
|
+
DelegatedAdminScope,
|
|
93
|
+
AuthorizationInvariant,
|
|
94
|
+
InvariantEvaluation,
|
|
95
|
+
InvariantViolation,
|
|
96
|
+
AuthorizationResourceType,
|
|
97
|
+
AuthorizationAction,
|
|
98
|
+
AuthorizationGroup,
|
|
99
|
+
AuthorizationGroupMembership,
|
|
100
|
+
RolePermission,
|
|
101
|
+
RoleGrant,
|
|
102
|
+
PolicyApproval,
|
|
103
|
+
PolicyPublication,
|
|
104
|
+
Entitlement,
|
|
105
|
+
EntitlementAssignment,
|
|
106
|
+
AccessReviewCampaign,
|
|
107
|
+
AccessReviewItem,
|
|
108
|
+
AccessReviewDecision,
|
|
109
|
+
ResidencyZone,
|
|
110
|
+
TenantResidency,
|
|
111
|
+
AuditEvent,
|
|
112
|
+
ProviderArtifact,
|
|
113
|
+
IdentityProvider,
|
|
114
|
+
Federation,
|
|
115
|
+
FederatedSession,
|
|
116
|
+
CredentialIssuer,
|
|
117
|
+
CredentialConfiguration,
|
|
118
|
+
WalletRegistration,
|
|
119
|
+
WalletInstance,
|
|
120
|
+
WalletAttestation,
|
|
121
|
+
WalletKeyBinding,
|
|
122
|
+
CredentialOffer,
|
|
123
|
+
CredentialIssuanceTransaction,
|
|
124
|
+
CredentialDeferredTransaction,
|
|
125
|
+
CredentialNotification,
|
|
126
|
+
CredentialStatusList,
|
|
127
|
+
CredentialStatusEntry,
|
|
128
|
+
CredentialStatusPublication,
|
|
129
|
+
VerifierRegistration,
|
|
130
|
+
PresentationTransaction,
|
|
131
|
+
PresentationConsent,
|
|
132
|
+
PresentationReplay,
|
|
133
|
+
AttestationEvidence,
|
|
134
|
+
AttestationResult,
|
|
135
|
+
AttestationReferenceManifest,
|
|
136
|
+
AttestationReferenceValue,
|
|
137
|
+
AttestationEndorsement,
|
|
138
|
+
AttestationAppraisalPolicy,
|
|
139
|
+
WorkloadIdentity,
|
|
140
|
+
SvidRecord,
|
|
141
|
+
SpiffeTrustBundle,
|
|
142
|
+
TrustDomainFederation,
|
|
143
|
+
WorkloadReferenceBinding,
|
|
144
|
+
WorkloadCredentialEntitlement,
|
|
145
|
+
SecurityEvent,
|
|
146
|
+
SecurityEventSubscription,
|
|
147
|
+
SecurityEventDelivery,
|
|
148
|
+
SecurityEventReplay,
|
|
149
|
+
ReplayReservation,
|
|
150
|
+
DpopReplay,
|
|
151
|
+
DpopNonce,
|
|
152
|
+
DidDocument,
|
|
153
|
+
DidDocumentVersion,
|
|
154
|
+
DidVerificationMethod,
|
|
155
|
+
DidService,
|
|
156
|
+
DidResolutionCache,
|
|
157
|
+
GnapGrant,
|
|
158
|
+
GnapContinuation,
|
|
159
|
+
GnapClientInstance,
|
|
160
|
+
GnapInteraction,
|
|
161
|
+
CertificateRecord,
|
|
162
|
+
TrustAnchor,
|
|
163
|
+
CertificateStatusSnapshot,
|
|
164
|
+
ClaimDefinition,
|
|
165
|
+
ClaimSourceBinding,
|
|
166
|
+
ClaimReleasePolicy,
|
|
167
|
+
ClaimProvenanceRecord,
|
|
168
|
+
ClaimSnapshot,
|
|
169
|
+
CredentialWebAuthnPasskey,
|
|
170
|
+
WebAuthnAttestationRecord,
|
|
171
|
+
WebAuthnCeremony,
|
|
172
|
+
WebAuthnRelyingParty,
|
|
173
|
+
AuthorityDerivationGraph,
|
|
174
|
+
AuthorityDerivationGraphNode,
|
|
175
|
+
AuthorityDerivationGraphEdge,
|
|
176
|
+
TrustFederationGraph,
|
|
177
|
+
TrustFederationGraphNode,
|
|
178
|
+
TrustFederationGraphEdge,
|
|
179
|
+
ScimSchemaRecord,
|
|
180
|
+
ScimUserRecord,
|
|
181
|
+
ScimGroupRecord,
|
|
182
|
+
ScimPatchEvent,
|
|
183
|
+
SDKPackageRecord,
|
|
184
|
+
PluginDescriptorRecord,
|
|
185
|
+
PluginLifecycleEventRecord,
|
|
186
|
+
ReleaseCapabilityRecord,
|
|
187
|
+
ReleaseAuthorizationState,
|
|
188
|
+
RuntimeQualificationRecord,
|
|
189
|
+
ReleaseSecurityPosture,
|
|
190
|
+
ReleasePosture,
|
|
191
|
+
ReleaseAttestationEvent,
|
|
192
|
+
ControlCorrectnessReport,
|
|
193
|
+
AuthzVerificationReport,
|
|
194
|
+
ResourceServerContract,
|
|
195
|
+
OperatorMetadata,
|
|
196
|
+
OperatorRecord,
|
|
197
|
+
OperatorTransaction,
|
|
198
|
+
OperatorAuditEvent,
|
|
199
|
+
OperatorActivity,
|
|
200
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Durable access review campaigns."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime as dt
|
|
6
|
+
|
|
7
|
+
from tba_storage_core.framework import RestOltpTable, GUIDPk, JSON, Mapped, S, String, TZDateTime, Timestamped, acol
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class AccessReviewCampaign(RestOltpTable, GUIDPk, Timestamped):
|
|
12
|
+
__tablename__ = "access_review_campaigns"
|
|
13
|
+
__table_args__ = ({"schema": "authn"},)
|
|
14
|
+
|
|
15
|
+
campaign_id: Mapped[str] = acol(storage=S(String(255), nullable=False, unique=True, index=True))
|
|
16
|
+
tenant_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
17
|
+
name: Mapped[str] = acol(storage=S(String(255), nullable=False))
|
|
18
|
+
reviewer_ids: Mapped[list] = acol(storage=S(JSON, nullable=False, default=list))
|
|
19
|
+
item_ids: Mapped[list | None] = acol(storage=S(JSON, nullable=True))
|
|
20
|
+
due_at: Mapped[dt.datetime] = acol(storage=S(TZDateTime, nullable=False, index=True))
|
|
21
|
+
closed_at: Mapped[dt.datetime | None] = acol(storage=S(TZDateTime, nullable=True, index=True))
|
|
22
|
+
status: Mapped[str] = acol(storage=S(String(32), nullable=False, default="open", index=True))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
__all__ = ["AccessReviewCampaign"]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Durable access review decisions."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from tba_storage_core.framework import (
|
|
6
|
+
RestOltpTable,
|
|
7
|
+
GUIDPk,
|
|
8
|
+
Mapped,
|
|
9
|
+
S,
|
|
10
|
+
String,
|
|
11
|
+
Timestamped,
|
|
12
|
+
acol,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class AccessReviewDecision(RestOltpTable, GUIDPk, Timestamped):
|
|
17
|
+
__tablename__ = "access_review_decisions"
|
|
18
|
+
__table_args__ = ({"schema": "authn"},)
|
|
19
|
+
|
|
20
|
+
decision_id: Mapped[str] = acol(storage=S(String(255), nullable=False, unique=True, index=True))
|
|
21
|
+
item_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
22
|
+
reviewer_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
23
|
+
decision: Mapped[str] = acol(storage=S(String(64), nullable=False, index=True))
|
|
24
|
+
reason: Mapped[str] = acol(storage=S(String(1000), nullable=False))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
__all__ = ["AccessReviewDecision"]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Durable access review campaign items."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime as dt
|
|
6
|
+
|
|
7
|
+
from tba_storage_core.framework import RestOltpTable, GUIDPk, Integer, Mapped, S, String, TZDateTime, Timestamped, acol
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class AccessReviewItem(RestOltpTable, GUIDPk, Timestamped):
|
|
12
|
+
__tablename__ = "access_review_items"
|
|
13
|
+
__table_args__ = ({"schema": "authn"},)
|
|
14
|
+
|
|
15
|
+
item_id: Mapped[str] = acol(storage=S(String(255), nullable=False, unique=True, index=True))
|
|
16
|
+
campaign_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
17
|
+
assignment_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
18
|
+
subject_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
19
|
+
entitlement_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
20
|
+
reviewer_id: Mapped[str] = acol(storage=S(String(255), nullable=False, index=True))
|
|
21
|
+
status: Mapped[str] = acol(storage=S(String(32), nullable=False, default="pending", index=True))
|
|
22
|
+
due_at: Mapped[dt.datetime] = acol(storage=S(TZDateTime, nullable=False, index=True))
|
|
23
|
+
escalation_count: Mapped[int] = acol(storage=S(Integer, nullable=False, default=0))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
__all__ = ["AccessReviewItem"]
|