> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Magma3 as a data source

> Bring your IT asset inventory (Force1), user activity (Bluesky), data-loss-prevention events (Alaska) and Console users (IAM) from Magma3 to Nekt.

Magma3 is a platform for IT asset management and information security. Its **Force1** module inventories computers and other assets (hardware, installed software, services, certificates, location and compliance), **Bluesky** monitors how people use their computers (active windows, printing, compliance), **Alaska** records data-loss-prevention events (clipboard, file, process and site actions), and **IAM** manages who can use the Magma3 Console. This connector reads all of them through Magma3's API.

> [!NOTE]
>
> The connector only reads data. It never creates, changes or deletes anything in Magma3.

## Configuring Magma3 as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Magma3 option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

The connector signs in with a Magma3 **API credential**. In the Magma3 Console, open **Integrações** in the side menu, click **Adicionar** and select **Magma3**. Fill in a name, a login and a password, choose which modules the credential may read and save it. A read-only credential is enough. Write down the password: Magma3 does not show it again.

| Module | Tables |
| - | - |
| Force1 | Force1 Assets, Software, Services, Certificates, Geolocations and Non-compliances |
| Bluesky | Bluesky Users, Prints, Active Windows and Non-compliances |
| Alaska | Alaska Clipboard, File, Process and Site Actions |
| IAM | IAM Users and Profiles |

> [!WARNING]
>
> If the credential cannot read a module, the tables of that module are skipped (the sync log names them) and the other tables keep syncing. Give the credential access to the module, or deselect those tables.

The following configurations are available:

* **Company**: The short company name you type when signing in to the Magma3 Console.
* **Username**: The login of the API credential.
* **Password**: The password of the API credential.
* **Start Date**: Earliest date read by the event tables (geolocations, non-compliances, prints, active windows and Alaska actions) on the first sync and on full syncs, by the date Magma3 received each record. Inventory, user and IAM tables are always read in full.

> [!TIP]
>
> Activity tables can be large: Magma3 estimates about 1,500 active-window records per monitored user per day, and its API serves 100 records per request (100 requests every 30 seconds per company). The connector reads about 1 million records per hour, so each day of history for 100 users takes about 9 minutes. A recent Start Date makes the first sync much faster. If the first sync is interrupted, the next one continues from where it stopped.

Once you're done, click **Next**.

### 2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.

* **Layer**: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
* **Folder**: a folder can be created inside the selected layer to group all tables being created from this new data source.
* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** to all tables at once and make this process faster!
* **Sync Type**: you can choose between INCREMENTAL and FULL\_TABLE.
  * Incremental: every time the extraction happens, we'll get only the new data, which is good if, for example, you want to keep every record ever fetched.
  * Full table: every time the extraction happens, we'll get the current state of the data, which is good if, for example, you don't want to have deleted data in your catalog.

> [!WARNING]
>
> Keep the event tables (geolocations, non-compliances, prints, active windows and Alaska actions) as INCREMENTAL, and do not run a Full Sync or schedule an Additional Full Sync for them: that reads the whole history again from the Start Date, which can take hours on large accounts.

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/runs/scheduling-and-triggers.md), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can define some additional settings:

* Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource [here](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Determine when to execute an **Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync)**. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

> [!WARNING]
>
> For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.

# Streams and Fields

## Available streams

The table below lists every stream, its **slug** (the exact identifier to pass when creating the source via API), the Magma3 module the credential must be allowed to read, and a short description.

| Stream | Slug | Module | Description |
| - | - | - | - |
| Force1 Assets | `force1_assets` | Force1 | Every asset (computers, monitors, switches...) with its hardware, operating system, network and financial data. |
| Force1 Software | `force1_softwares` | Force1 | Software installed on each asset. |
| Force1 Services | `force1_services` | Force1 | Operating-system services of each asset. |
| Force1 Certificates | `force1_certificates` | Force1 | Digital certificates found on the assets, with their validity. |
| Force1 Geolocations | `force1_geolocations` | Force1 | Location reports of the assets. Incremental. |
| Force1 Non-compliances | `force1_non_compliances` | Force1 | Assets found out of a compliance policy. Incremental. |
| Bluesky Users | `bluesky_users` | Bluesky | People monitored by Bluesky, with their Active Directory data. |
| Bluesky Prints | `bluesky_prints` | Bluesky | Print jobs (printer, document, pages, color). Incremental. |
| Bluesky Active Windows | `bluesky_active_windows` | Bluesky | Windows in focus on the users' computers, with process, site, category and focus time. Incremental. |
| Bluesky Non-compliances | `bluesky_non_compliances` | Bluesky | People found out of a compliance policy. Incremental. |
| Alaska Clipboard Actions | `alaska_clipboard_actions` | Alaska | Clipboard use recorded by data-loss prevention. Incremental. |
| Alaska File Actions | `alaska_file_actions` | Alaska | File actions (copy, creation, deletion...) recorded by data-loss prevention. Incremental. |
| Alaska Process Actions | `alaska_process_actions` | Alaska | Process actions recorded by data-loss prevention. Incremental. |
| Alaska Site Actions | `alaska_site_actions` | Alaska | Sites accessed, recorded by data-loss prevention. Incremental. |
| IAM Users | `iam_users` | IAM | Users of the Magma3 Console and their access profiles. |
| IAM Profiles | `iam_profiles` | IAM | Access profiles of the Magma3 Console and their permissions. |

## Things to know

* **Date of the record vs. date of the activity.** Incremental tables follow `date_creation`, the moment Magma3 received the record. A computer that was offline sends its events later, so `date_creation` can be hours or days after the activity. For the real time of the activity use `focus_start_date` and `focus_end_date` (active windows), `date_print_sent` (prints) or `date` (geolocations).
* **Nested lists** (an asset's RAM modules, disks, network cards, printers and maintenances; a profile's permissions) are stored as JSON text columns.
* **Records without an id.** Software, services, certificates, geolocations and non-compliances have no identifier in Magma3; the connector computes `row_key` from the whole record and uses it as the key.
* **Answers capped at 100 records.** Magma3 returns at most 100 records per request. The software and services of one asset, and the IAM users and profiles, come in a single answer with no pagination: when an answer has exactly 100 records, the table is loaded with what was returned and the sync log warns that some records may be missing.
* **Many events in the same millisecond.** When 100 or more events share the same millisecond (for example, a computer that was offline sending its backlog at once), Magma3's API cannot return them all. For Bluesky Active Windows and the Alaska tables the connector reads that instant again user by user (this needs the credential to read Bluesky Users), which recovers most records, but events without a known user may still be missing. So whenever this happens the sync log warns about it and, for incremental tables, the table's run is marked as failed; the records read and the progress of the table are kept.
* **Per-asset tables.** Force1 Software and Force1 Services send one request per asset: about 6 minutes per 1,000 assets for each table. When Magma3 requires it, Force1 Geolocations is also read asset by asset, with about the same time per 1,000 assets. If Magma3 answers "not found" for an asset (usually one removed during the sync), it is skipped; for geolocations, the next sync reads that period again.
* **Tables that cannot be read.** If Magma3 refuses a table (the credential cannot read its module) or its requests keep failing, that table is skipped, the sync log names it, and the other tables keep syncing.
* **New fields.** Fields Magma3 starts sending that the connector does not know yet are kept in the `extra_fields` JSON column.

## Fields by stream

Below you'll find all available data streams from Magma3 and their corresponding fields:

> [accordion] Force1 Assets
>
> Stream `force1_assets` (module Force1). Full table; key `id`.
>
> * `id` - Unique identifier of the asset in Magma3
> * `name` - Asset name (for computers, the host name)
> * `type` - Asset type (e.g. computador, monitor, switch)
> * `subtype` - Asset subtype
> * `compliance` - Compliance status of the asset against the account's Force1 policies
> * `helper_id` - Helper (support) identifier of the asset
> * `heritage_asset` - Patrimony (fixed-asset) tag number of the asset
> * `serial_number` - Serial number of the asset
> * `model` - Asset model
> * `manufacturer` - Asset manufacturer
> * `tag` - Tag assigned to the asset in Magma3
> * `observations` - Free-text observations recorded for the asset
> * `associate_assets` - Other assets associated with this one
> * `width` - Width of the asset, as registered
> * `height` - Height of the asset, as registered
> * `inch` - Screen size in inches (monitors and notebooks)
> * `weight` - Weight of the asset, as registered
> * `rate_depreciation` - Depreciation rate registered for the asset
> * `acquisition_date` - Date the asset was acquired
> * `manufacturing_date` - Date the asset was manufactured
> * `validity_date` - Warranty or validity end date of the asset
> * `real_value` - Acquisition value of the asset in Brazilian reais (BRL)
> * `dolar_value` - Acquisition value of the asset in US dollars
> * `real_residual_value` - Current residual (depreciated) value of the asset in Brazilian reais (BRL)
> * `dolar_residual_value` - Current residual (depreciated) value of the asset in US dollars
> * `network_public_ip` - Public IP address the asset last reported from
> * `motherboard_name` - Motherboard name
> * `motherboard_manufacturer` - Motherboard manufacturer
> * `motherboard_part_number` - Motherboard part number
> * `motherboard_model` - Motherboard model
> * `motherboard_version` - Motherboard version
> * `operating_system_name` - Operating system name
> * `operating_system_description` - Operating system description
> * `operating_system_bits_architecture` - Operating system architecture (32 or 64 bits)
> * `operating_system_last_logged_user` - Last user logged in to the operating system
> * `operating_system_domain` - Network domain the computer belongs to
> * `operating_system_activation_key` - Operating system activation (product) key
> * `operating_system_ram_memory_raw` - Total RAM reported by the operating system, as a raw number (bytes)
> * `operating_system_memory_ram` - Total RAM reported by the operating system, formatted for display
> * `operating_system_registered_user` - User the operating system is registered to
> * `operating_system_enterprise` - Organization the operating system is registered to
> * `operating_system_serial` - Operating system serial number
> * `operating_system_service_pack` - Operating system service pack
> * `operating_system_version` - Operating system version
> * `processor_name` - Processor name
> * `processor_description` - Processor description
> * `processor_bits_architecture` - Processor architecture (32 or 64 bits)
> * `processor_phisycal_cores` - Number of physical processor cores
> * `processor_logical_cores` - Number of logical processor cores (threads)
> * `processor_l2_cache` - Processor L2 cache size, formatted for display
> * `processor_l2_cache_raw` - Processor L2 cache size as a raw number
> * `processor_l3_cache` - Processor L3 cache size, formatted for display
> * `processor_l3_cache_raw` - Processor L3 cache size as a raw number
> * `processor_manufacturer` - Processor manufacturer
> * `processor_max_frequency` - Processor maximum frequency, formatted for display
> * `processor_max_frequency_raw` - Processor maximum frequency as a raw number (MHz)
> * `processor_socket` - Processor socket
> * `bios_name` - BIOS name
> * `bios_description` - BIOS description
> * `bios_version` - BIOS version
> * `bios_build` - BIOS build
> * `bios_manufacturer` - BIOS manufacturer
> * `bios_serial` - BIOS serial number
> * `bios_smbios_version` - SMBIOS version reported by the BIOS
> * `sim_card_imei1` - IMEI of the first SIM slot (mobile devices)
> * `sim_card_imei2` - IMEI of the second SIM slot (mobile devices)
> * `agent_data_last_communication` - Last time the Force1 agent on the asset communicated with Magma3
> * `agent_version` - Version of the Force1 agent installed on the asset
> * `agent_installed` - Whether the Force1 agent is installed, as displayed by Magma3
> * `agent_installed_raw` - Whether the Force1 agent is installed on the asset
> * `administrative_unit_id` - Identifier of the administrative unit the asset belongs to
> * `administrative_unit_acronym` - Acronym of the administrative unit the asset belongs to
> * `administrative_unit_name` - Name of the administrative unit the asset belongs to
> * `administrative_unit_hierarchy` - Full hierarchy path of the administrative unit the asset belongs to
> * `active_network_card_name` - Name of the active network card
> * `active_network_card_gateway` - Default gateway of the active network card
> * `active_network_card_dhcp_server` - DHCP server of the active network card
> * `active_network_card_domain_suffix_dns` - DNS domain suffix of the active network card
> * `active_network_card_search_dns_order` - DNS search order of the active network card
> * `active_network_card_ip` - IP address of the active network card
> * `active_network_card_mac_address` - MAC address of the active network card
> * `active_network_card_mask` - Subnet mask of the active network card
> * `active_network_card_primary_wins` - Primary WINS server of the active network card
> * `active_network_card_secondary_wins` - Secondary WINS server of the active network card
> * `active_network_card_manufacturer` - Manufacturer of the active network card
> * `active_network_card_part_number` - Part number of the active network card
> * `active_network_card_version` - Version of the active network card
> * `active_directory_computer_enabled` - Whether the computer account is enabled in Active Directory
> * `active_directory_computer_description` - Description of the computer account in Active Directory
> * `active_directory_computer_distinguished_name` - Distinguished name of the computer account in Active Directory
> * `partitions` - Disk partitions of the asset (name and capacity) (JSON)
> * `initialized_programs` - Programs started with the operating system (name and path) (JSON)
> * `logical_storages` - Logical drives of the asset (file system, capacity, free space) (JSON)
> * `sharings` - Shared folders of the asset (JSON)
> * `users` - Local and domain user accounts found on the asset (JSON)
> * `users_profiles` - User profiles found on the asset (JSON)
> * `ram_memorys` - RAM modules installed (capacity, frequency, manufacturer, serial) (JSON)
> * `graphic_cards` - Graphics cards installed (JSON)
> * `sound_cards` - Sound cards installed (JSON)
> * `mouses` - Mice connected (JSON)
> * `keyboards` - Keyboards connected (JSON)
> * `cds_rom` - CD/DVD drives installed (JSON)
> * `network_cards` - Network cards installed (IP, MAC address, gateway, DNS) (JSON)
> * `storages` - Physical disks installed (model, capacity, serial) (JSON)
> * `printers` - Printers installed on the asset (JSON)
> * `maintenances` - Maintenance records of the asset (date, type, responsible, status, value) (JSON)
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Force1 Software
>
> Stream `force1_softwares` (module Force1). Full table; key `row_key`.
>
> * `asset_id` - Identifier of the asset the software is installed on (see force1\_assets)
> * `asset_name` - Name of the asset the software is installed on
> * `name` - Software name
> * `version` - Installed version
> * `manufacturer` - Software publisher
> * `activation_key` - Activation (license) key found for the software
> * `identification_number` - Identification number of the installed software
> * `package_address` - Installation package location
> * `package_code` - Installation package code
> * `row_key` - Identifier computed by the connector from the whole record (SHA-1), because Magma3 gives this object no id of its own
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Force1 Services
>
> Stream `force1_services` (module Force1). Full table; key `row_key`.
>
> * `asset_id` - Identifier of the asset the service runs on (see force1\_assets)
> * `asset_name` - Name of the asset the service runs on
> * `name` - Service name
> * `display_name` - Display name of the service
> * `description` - Service description
> * `proccess_id` - Process id of the running service
> * `startup_type` - Startup type (automatic, manual, disabled)
> * `login` - Account the service logs on as
> * `state` - Current state of the service (running, stopped)
> * `exit_code` - Last exit code of the service
> * `executable_address` - Path of the service executable
> * `account_execution` - Account the service runs under
> * `row_key` - Identifier computed by the connector from the whole record (SHA-1), because Magma3 gives this object no id of its own
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Force1 Certificates
>
> Stream `force1_certificates` (module Force1). Full table; key `row_key`.
>
> * `asset_id` - Identifier of the asset the certificate was found on (see force1\_assets)
> * `asset_name` - Name of the asset the certificate was found on
> * `name` - Certificate name
> * `sender` - Issuer of the certificate
> * `issued_to` - Subject the certificate was issued to
> * `valid_date_start` - Start of the certificate validity
> * `valid_date_end` - End of the certificate validity (expiration)
> * `finger_print` - Certificate fingerprint (thumbprint)
> * `serial_number` - Certificate serial number
> * `repository_name` - Certificate store the certificate is in
> * `repository_usage` - Usage of the certificate store
> * `row_key` - Identifier computed by the connector from the whole record (SHA-1), because Magma3 gives this object no id of its own
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Force1 Geolocations
>
> Stream `force1_geolocations` (module Force1). Incremental by `date_creation`; key `row_key`.
>
> * `asset_id` - Identifier of the asset that reported the location (see force1\_assets)
> * `asset_name` - Name of the asset that reported the location
> * `date` - When the asset was at this location
> * `date_creation` - When Magma3 received and stored this record, used as the incremental replication key
> * `last_logged_user` - User logged in to the asset at the time
> * `latitude` - Latitude
> * `longitude` - Longitude
> * `country` - Country
> * `state` - State
> * `city` - City
> * `zip_code` - Postal code
> * `street` - Street
> * `neighborhood` - Neighborhood
> * `number` - Street number
> * `row_key` - Identifier computed by the connector from the whole record (SHA-1), because Magma3 gives this object no id of its own
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Force1 Non-compliances
>
> Stream `force1_non_compliances` (module Force1). Incremental by `date_creation`; key `row_key`.
>
> * `date_creation` - When Magma3 recorded the non-compliance, used as the incremental replication key
> * `order` - Position of the record in the non-compliance analysis
> * `asset_id` - Identifier of the non-compliant asset (see force1\_assets)
> * `asset_name` - Name of the non-compliant asset
> * `asset_administrative_unity_hierarchy` - Administrative unit hierarchy of the asset
> * `policy_name` - Name of the compliance policy that was violated
> * `field1` - Value of column 1 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field2` - Value of column 2 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field3` - Value of column 3 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field4` - Value of column 4 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field5` - Value of column 5 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field6` - Value of column 6 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field7` - Value of column 7 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field8` - Value of column 8 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field9` - Value of column 9 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field10` - Value of column 10 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field11` - Value of column 11 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `row_key` - Identifier computed by the connector from the whole record (SHA-1), because Magma3 gives this object no id of its own
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Bluesky Users
>
> Stream `bluesky_users` (module Bluesky). Full table; key `id`.
>
> * `id` - Unique identifier of the person user in Magma3
> * `login` - Login of the user (the user logged in to the computer, or the Active Directory login)
> * `name` - Name of the user
> * `date_creation` - When the user was created in Magma3
> * `date_modified` - When the user was last modified in Magma3
> * `helper_id` - Helper (support) identifier of the user
> * `compliance` - Whether the user is compliant with the account's policies
> * `associate_assets_names` - Names of the assets associated with the user
> * `person_administrative_unity_hierarchy` - Administrative unit hierarchy of the user
> * `active_directory_user_enabled` - Whether the user is enabled in Active Directory
> * `active_directory_user_description` - Description of the user in Active Directory
> * `active_directory_user_departament` - Department of the user in Active Directory
> * `active_directory_user_position` - Job title of the user in Active Directory
> * `active_directory_user_office` - Office of the user in Active Directory
> * `active_directory_usuario_company` - Company of the user in Active Directory
> * `active_directory_user_email` - E-mail of the user in Active Directory
> * `active_directory_user_phone` - Phone of the user in Active Directory
> * `active_directory_user_city` - City of the user in Active Directory
> * `active_directory_user_state` - State of the user in Active Directory
> * `active_directory_user_distinguished_name` - Distinguished name of the user in Active Directory
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Bluesky Prints
>
> Stream `bluesky_prints` (module Bluesky). Incremental by `date_creation`; key `id`.
>
> * `id` - Unique identifier of the print job record
> * `date_creation` - When Magma3 received and stored this record, used as the incremental replication key
> * `date_print_sent` - When the document was sent to the printer
> * `printer_name` - Printer name
> * `printer_driver_name` - Printer driver name
> * `processor_name` - Print processor name
> * `document_name` - Name of the printed document
> * `total_pages` - Number of pages printed
> * `color_printing` - Whether the job was printed in color
> * `front_back` - Whether the job was printed on both sides
> * `paper_size` - Paper size
> * `file_size` - Size of the print job (bytes)
> * `person_user_id` - Identifier of the person user (see bluesky\_users)
> * `person_user_name` - Name of the person user
> * `person_user_login` - Login of the person user
> * `person_administrative_unity_hierarchy` - Administrative unit hierarchy of the person user
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Bluesky Active Windows
>
> Stream `bluesky_active_windows` (module Bluesky). Incremental by `date_creation`; key `id`.
>
> * `id` - Unique identifier of the active-window record
> * `date_creation` - When Magma3 received and stored this record (later than the activity when the computer was offline), used as the incremental replication key
> * `title` - Title of the window in focus
> * `focus_start_date` - When the window got the focus on the user's computer (the real start of the activity)
> * `focus_end_date` - When the window lost the focus on the user's computer (the real end of the activity)
> * `process_name` - Name of the process that owns the window
> * `process_category` - Magma3's standard category of the process
> * `url` - URL of the page in focus, for browser windows
> * `url_category` - Magma3's standard category of the site
> * `pid` - Process id
> * `type_usage` - Productivity classification of the process or site, customizable by the account (e.g. productive, unproductive)
> * `computer_name` - Name of the computer
> * `person_user_id` - Identifier of the person user (see bluesky\_users)
> * `person_user_name` - Name of the person user
> * `person_user_login` - Login of the person user
> * `person_administrative_unity_hierarchy` - Administrative unit hierarchy of the person user
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Bluesky Non-compliances
>
> Stream `bluesky_non_compliances` (module Bluesky). Incremental by `date_creation`; key `row_key`.
>
> * `date_creation` - When Magma3 recorded the non-compliance, used as the incremental replication key
> * `order` - Position of the record in the non-compliance analysis
> * `person_user_id` - Identifier of the non-compliant person user (see bluesky\_users)
> * `person_user_name` - Name of the non-compliant person user
> * `person_administrative_unity_hierarchy` - Administrative unit hierarchy of the person user
> * `policy_name` - Name of the compliance policy that was violated
> * `field1` - Value of column 1 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field2` - Value of column 2 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field3` - Value of column 3 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field4` - Value of column 4 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field5` - Value of column 5 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field6` - Value of column 6 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field7` - Value of column 7 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field8` - Value of column 8 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field9` - Value of column 9 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field10` - Value of column 10 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `field11` - Value of column 11 of the non-compliance report, whose meaning depends on the policy (scalar text or JSON) (JSON)
> * `row_key` - Identifier computed by the connector from the whole record (SHA-1), because Magma3 gives this object no id of its own
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Alaska Clipboard Actions
>
> Stream `alaska_clipboard_actions` (module Alaska). Incremental by `date_creation`; key `id`.
>
> * `id` - Unique identifier of the action record
> * `date_creation` - When Magma3 received and stored this record, used as the incremental replication key
> * `computer_name` - Name of the computer where the action happened
> * `user_name` - Name of the user who performed the action
> * `user_login` - Login of the user who performed the action
> * `file_content_type` - Type of content copied to the clipboard
> * `process_name` - Process that used the clipboard
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Alaska File Actions
>
> Stream `alaska_file_actions` (module Alaska). Incremental by `date_creation`; key `id`.
>
> * `id` - Unique identifier of the action record
> * `date_creation` - When Magma3 received and stored this record, used as the incremental replication key
> * `computer_name` - Name of the computer where the action happened
> * `user_name` - Name of the user who performed the action
> * `user_login` - Login of the user who performed the action
> * `action_type` - What was done to the file (e.g. created, copied, deleted)
> * `file_path` - Path of the file
> * `file_content_type` - Content type of the file
> * `process_name` - Process that acted on the file
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Alaska Process Actions
>
> Stream `alaska_process_actions` (module Alaska). Incremental by `date_creation`; key `id`.
>
> * `id` - Unique identifier of the action record
> * `date_creation` - When Magma3 received and stored this record, used as the incremental replication key
> * `computer_name` - Name of the computer where the action happened
> * `user_name` - Name of the user who performed the action
> * `user_login` - Login of the user who performed the action
> * `action_type` - What happened to the process (e.g. started, blocked)
> * `file_process_path` - Path of the process executable
> * `process_name` - Process name
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] Alaska Site Actions
>
> Stream `alaska_site_actions` (module Alaska). Incremental by `date_creation`; key `id`.
>
> * `id` - Unique identifier of the action record
> * `date_creation` - When Magma3 received and stored this record, used as the incremental replication key
> * `computer_name` - Name of the computer where the action happened
> * `user_name` - Name of the user who performed the action
> * `user_login` - Login of the user who performed the action
> * `site_address` - Address of the site accessed
> * `site_category` - Magma3's category of the site
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] IAM Users
>
> Stream `iam_users` (module IAM). Full table; key `id`.
>
> * `id` - Unique identifier of the Console user
> * `enabled` - Whether the user is enabled
> * `login` - Login of the user
> * `nome` - Name of the user
> * `email` - E-mail of the user
> * `cellphone` - Mobile phone of the user
> * `mfa` - Whether multi-factor authentication is on for the user
> * `block_simultaneous_login` - Whether simultaneous logins are blocked for the user
> * `language` - Language of the user's Console
> * `profile_ids` - Identifiers of the access profiles of the user (see iam\_profiles) (JSON)
> * `profile_names` - Names of the access profiles of the user
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)

> [accordion] IAM Profiles
>
> Stream `iam_profiles` (module IAM). Full table; key `id`.
>
> * `id` - Unique identifier of the access profile
> * `name` - Profile name
> * `description` - Profile description
> * `permissions` - Permissions of the profile (id, permission name and whether it is granted) (JSON)
> * `extra_fields` - Fields the API returned that this connector does not map to a column yet, keyed by their original names (JSON)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.