` is
the value of `CARTO_DOMAIN` in your config file.
- saml-idp-sso-target-url: SAML Identity Provider login URL, e.g.,
`http://192.168.20.2/simplesaml/saml2/idp/SSOService.php`. Required
on manual configuration
- saml-idp-slo-target-url: SAML Identity Provider logout URL, e.g.,
`http://192.168.20.2/simplesaml/saml2/idp/SingleLogoutService.php`.
Optional.
- saml-idp-cert-fingerprint: SAML server certificate fingerprint,
e.g., `8C:47:97:B1:E2:E4:6C:06:B5:56:11:8A:5A:8B:53:5C:01:05:CB:05`
Required on manual configuration
- saml-assertion-consumer-service-url: CARTO URL for SAML, including
organization name e.g.,
`http://192.168.20.2/user/orgname/saml/finalize`. Optional. It
defaults to the URL built from configuration and organization name
- saml-single-logout-service-url: CARTO URL for SAML logout, including
organization name, e.g., `http://192.168.20.2/user/orgname/logout`.
Optional. It defaults to the URL built from configuration and
organization name
- saml-name-identifier-format Format of the name identifier parameter,
e.g., `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`.
Optional. It defaults to
`urn:oasis:names:tc:SAML:2.0:nameid-format:transient`
### Configure Kerberos
It is possible to authenticate a CARTO organization by using Kerberos by
configuring a webserver, as an HTTP service principal, that will handle
the authentication for Builder. You will need a keytab file that has the
service principal name for the Builder On-Premises installation that is
reachable through `https://onpremises.devnet.local`; where `onpremises`
is the name of the CARTO organization and Kerberos realm `DEVNET.LOCAL`
is the keytab that we would have generated in Kerberos KDC server and
contains entries with different encryptions, such as (example using
`ktutil` tool)
``` bash
$ ktutil
ktutil: read_kt ./http.keytab
ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 3 HTTP/onpremises.devnet.local@DEVNET.LOCAL
2 3 HTTP/onpremises.devnet.local@DEVNET.LOCAL
3 3 HTTP/onpremises.devnet.local@DEVNET.LOCAL
4 3 HTTP/onpremises.devnet.local@DEVNET.LOCAL
```
The next step is to configure On-Premises using the
`carto-builder-kerberos.sh` tool. The following example assumes a keytab
file called `http.keytab` and the `DEVNET.LOCAL` realm.
multiple\_hosts
Remember to execute `cartoctl exec -- carto-builder-kerberos.sh` in all
the servers with nginx or builder roles.
Note
Before using the tool, remember to update your installation
configuration `~/carto/.config.yml` to either set
`CARTO_KERBEROS_ENABLED` and `CARTO_HTTP_HEADER_AUTHENTICATION` to
`true` if enabling, or `false` when disabling. Preferably, config keys
should be placed under builder
role.
``` bash
cartoctl exec -- carto-builder-kerberos.sh enable --keytab-file http.keytab --realm DEVNET.LOCAL
```
Warning
The `CARTO_USER` name set at installation time in the
`~/carto/.config.yml` is the user you can authenticate with when
Kerberos is disabled and must not be a user present in Kerberos.
### ArcGIS connector
ArcGIS connector is disabled on installation, but it can be enabled at
any time.
Note
Before using the tool, remember to update your installation
configuration `~/carto/.config.yml` to either set `CARTO_ARCGIS_ENABLED`
to `true` if enabling, or `false` when disabling. Preferably, config
keys should be placed under builder role.
``` bash
cartoctl exec -- carto-builder-arcgis.sh enable
```
Use the keyword `disable` to disable it
### BigQuery connector
Warning
BigQuery connector is supported on Red Hat and CentOS 8.x versions and
it is not compatible with 7.x versions.
BigQuery connector can be enabled at any time and it requires a [Google
Service Account
Key](https://cloud.google.com/iam/docs/creating-managing-service-account-keys)
with the suitable permissions to access to the Bigquery Service.
``` bash
cartoctl exec -- carto-builder-bigquery.sh
Usage: carto-builder-bigquery.sh enable/disable/add/del/list ...
- Enable BigQuery connector specifiying default credentials:
enable gcp_project credentials_email credentials_file
Example: carto-builder-bigquery.sh enable mycompanybigquery carto-onprem@mycompanybigquery.iam.gserviceaccount.com /tmp/mycompanybigquery-cd0248fd47ae.json
- Disable BigQuery connector:
disable
Example: carto-builder-bigquery.sh disable
- Store extra credentials for using them with the Import API:
add name credentials_file
Example: carto-builder-bigquery.sh add ourstores /tmp/mycompanybigquery-483ac654b04f.json
- Remove extra credentials:
del name
Example: carto-builder-bigquery.sh del ourstores
- List extra credentials:
list
Example: carto-builder-bigquery.sh list
```
The connector can be used with a default Service Account Key, or using
different additional keys stored in the instance.
- When using Builder UI to import a table from BigQuery, the default
key will be used.
- When using the connector via Import API, a specific Service Account
can be set just by adding the following parameters to the
request:
``` json
"connection": { "credentials_email": "CREDENTIALS_EMAIL", "credentials_file":" /data/config/bigquery/mycompanybigquery-483ac654b04f.json", "billing_project": "GCP_PROJECT" }
```
### Enabling auth\_api feature
Auth API should be enabled for new installations. When upgrading from a
CARTO onpremises version \< 2.2.1, you should run this script to enable
it:
``` bash
cartoctl exec -- carto-builder-enable-auth-api.sh
```
### Enable OAuth logging using third party providers
An organization owner may want to allow users to signup/login using
credentials of third party providers such as Github or Google. This
feature is enabled in the organization's admin panel but for the feature
to work correctly we need to add \<client\_id\> and \<client\_secret\>
of the provider to the system. currently Google and Github are
supported.
You can configure it using `cartoctl exec --
carto-builder-configure-login-oauth-provider.sh`
Note
Before using the tool, remember to update your installation
configuration using `~/carto/.config.yml` to update
`CARTO_OAUTH_GOOGLE_CLIENT_ID`, `CARTO_OAUTH_GOOGLE_CLIENT_SECRET`,
`CARTO_OAUTH_GITHUB_CLIENT_ID`, and `CARTO_OAUTH_GITHUB_CLIENT_SECRET`
accordingly. Preferably, config keys should be placed under builder
role.
``` bash
cartoctl exec --carto-builder-configure-login-oauth-provider.sh --provider
--client-id
--client-secret
```