docs/en/administration/user_privs/authentication/security_integration.md
import SecurityIntegrationRangerLink from '../../../_assets/user_priv/security_integration_ranger_link.mdx' import SecurityIntegrationIntro from '../../../_assets/user_priv/security_integration_intro.mdx' import SecurityIntegrationJWT from '../../../_assets/user_priv/security_integration_jwt.mdx' import SecurityIntegrationOAuth from '../../../_assets/user_priv/security_integration_oauth.mdx' import SecurityIntegrationConnectSeeAlso from '../../../_assets/user_priv/security_integration_connect_see_also.mdx'
Integrate StarRocks with external authentication systems using security integration.
By creating a security integration within your StarRocks cluster, you can allow access of your external authentication service to StarRocks. With the security integration, you do not need to manually create users within StarRocks. When a user tries to log in using an external identity, StarRocks will use the corresponding security integration according to the configuration in authentication_chain to authenticate the user. After the authentication is successful and the user is allowed to log in, StarRocks creates a virtual user in the session for the user to perform subsequent operations.
You can also enable Group Provider for StarRocks to access the group information in you external authentication systems, thus allowing creating, authenticating, and authorizing user groups in StarRocks.
Manually creating and managing users with external authentication services are also supported in case of specific corner cases. For more instructions, you can refer to See also.
:::note StarRocks does not offer connectivity checks when you create a security integration. :::
CREATE SECURITY INTEGRATION <security_integration_name>
PROPERTIES (
"type" = "authentication_ldap_simple",
"authentication_ldap_simple_server_host" = "",
"authentication_ldap_simple_server_port" = "",
"authentication_ldap_simple_bind_base_dn" = "",
"authentication_ldap_simple_user_search_attr" = ""
"authentication_ldap_simple_bind_root_dn" = "",
"authentication_ldap_simple_bind_root_pwd" = "",
"authentication_ldap_simple_ssl_conn_allow_insecure" = "{true | false}",
"authentication_ldap_simple_ssl_conn_trust_store_path" = "",
"authentication_ldap_simple_ssl_conn_trust_store_pwd" = "",
"comment" = ""
)
native.authentication_ldap_simple.127.0.0.1.389.uid.:::note
DN Passing Mechanism: LDAP security integration supports DN passing functionality.
ldap_user_search_attr is not configured for the Group Provider, DN will be used for group matching.For more details, see the DN matching mechanism in Authenticate User Groups.
:::
true. Setting this value to false indicates that SSL encryption is required to access LDAP.After the security integration is created, it is added to your StarRocks cluster as a new authentication method. You must enable the security integration by setting the order of the authentication methods via the FE dynamic configuration item authentication_chain.
ADMIN SET FRONTEND CONFIG (
"authentication_chain" = "<security_integration_name>[... ,]"
);
:::note
authentication_chain. If login fails using the native authentication method, the cluster will try the next authentication method in the specified order.authentication_chain except for OAuth 2.0 security integration. You cannot specify multiple OAuth 2.0 security integrations or one with other security integrations.
:::You can check the value of authentication_chain using the following statement:
ADMIN SHOW FRONTEND CONFIG LIKE 'authentication_chain';
You can alter the configuration of an existing security integration using the following statement:
ALTER SECURITY INTEGRATION <security_integration_name> SET
(
"key"="value"[, ...]
)
:::note
You cannot alter the type of a security integration.
:::
You can drop an existing security integration using the following statement:
DROP SECURITY INTEGRATION <security_integration_name>
You can view all security integrations in your cluster using the following statement:
SHOW SECURITY INTEGRATIONS;
Example:
SHOW SECURITY INTEGRATIONS;
+--------+--------+---------+
| Name | Type | Comment |
+--------+--------+---------+
| LDAP1 | LDAP | NULL |
+--------+--------+---------+
| Parameter | Description |
|---|---|
| Name | The name of the security integration. |
| Type | The type of the security integration. |
| Comment | The description of the security integration. NULL is returned when no description is specified for the security integration. |
You can check the details of a security integration using the following statement:
SHOW CREATE SECURITY INTEGRATION <integration_name>
Example:
SHOW CREATE SECURITY INTEGRATION LDAP1;
+----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Security Integration | Create Security Integration |
+----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| LDAP1 | CREATE SECURITY INTEGRATION LDAP1
PROPERTIES (
"type" = "authentication_ldap_simple",
"authentication_ldap_simple_server_host" = "",
"authentication_ldap_simple_server_port" = "",
"authentication_ldap_simple_bind_base_dn" = "",
"authentication_ldap_simple_user_search_attr" = ""
"authentication_ldap_simple_bind_root_dn" = "",
"authentication_ldap_simple_bind_root_pwd" = "",
"authentication_ldap_simple_ssl_conn_allow_insecure" = "{true | false}",
"authentication_ldap_simple_ssl_conn_trust_store_path" = "",
"authentication_ldap_simple_ssl_conn_trust_store_pwd" = "",
"comment" = ""
)|
+----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
:::note
ldap_bind_root_pwd is masked when SHOW CREATE SECURITY INTEGRATION is executed.
:::