@pulumi/keycloak 5.3.0 → 5.3.1
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.
- package/attributeImporterIdentityProviderMapper.d.ts +46 -63
- package/attributeImporterIdentityProviderMapper.js +25 -33
- package/attributeImporterIdentityProviderMapper.js.map +1 -1
- package/attributeToRoleIdentityMapper.d.ts +10 -2
- package/attributeToRoleIdentityMapper.js +10 -2
- package/attributeToRoleIdentityMapper.js.map +1 -1
- package/authentication/bindings.d.ts +2 -0
- package/authentication/bindings.js +2 -0
- package/authentication/bindings.js.map +1 -1
- package/authentication/execution.d.ts +8 -2
- package/authentication/execution.js +8 -2
- package/authentication/execution.js.map +1 -1
- package/authentication/executionConfig.d.ts +12 -2
- package/authentication/executionConfig.js +12 -2
- package/authentication/executionConfig.js.map +1 -1
- package/authentication/flow.d.ts +16 -2
- package/authentication/flow.js +16 -2
- package/authentication/flow.js.map +1 -1
- package/authentication/subflow.d.ts +18 -2
- package/authentication/subflow.js +18 -2
- package/authentication/subflow.js.map +1 -1
- package/customIdentityProviderMapping.d.ts +13 -5
- package/customIdentityProviderMapping.js +10 -2
- package/customIdentityProviderMapping.js.map +1 -1
- package/customUserFederation.d.ts +51 -50
- package/customUserFederation.js +27 -14
- package/customUserFederation.js.map +1 -1
- package/defaultGroups.d.ts +19 -27
- package/defaultGroups.js +19 -9
- package/defaultGroups.js.map +1 -1
- package/defaultRoles.d.ts +13 -2
- package/defaultRoles.js +13 -2
- package/defaultRoles.js.map +1 -1
- package/genericClientProtocolMapper.d.ts +40 -37
- package/genericClientProtocolMapper.js +25 -13
- package/genericClientProtocolMapper.js.map +1 -1
- package/genericClientRoleMapper.d.ts +22 -2
- package/genericClientRoleMapper.js +22 -2
- package/genericClientRoleMapper.js.map +1 -1
- package/genericProtocolMapper.d.ts +8 -2
- package/genericProtocolMapper.js +8 -2
- package/genericProtocolMapper.js.map +1 -1
- package/genericRoleMapper.d.ts +22 -2
- package/genericRoleMapper.js +22 -2
- package/genericRoleMapper.js.map +1 -1
- package/getAuthenticationExecution.d.ts +4 -0
- package/getAuthenticationExecution.js +4 -0
- package/getAuthenticationExecution.js.map +1 -1
- package/getAuthenticationFlow.d.ts +4 -0
- package/getAuthenticationFlow.js +4 -0
- package/getAuthenticationFlow.js.map +1 -1
- package/getClientDescriptionConverter.d.ts +4 -0
- package/getClientDescriptionConverter.js +4 -0
- package/getClientDescriptionConverter.js.map +1 -1
- package/getGroup.d.ts +4 -62
- package/getGroup.js +4 -50
- package/getGroup.js.map +1 -1
- package/getRealm.d.ts +32 -10
- package/getRealm.js +32 -4
- package/getRealm.js.map +1 -1
- package/getRealmKeys.d.ts +8 -28
- package/getRealmKeys.js +8 -4
- package/getRealmKeys.js.map +1 -1
- package/getRole.d.ts +4 -65
- package/getRole.js +4 -44
- package/getRole.js.map +1 -1
- package/getUser.d.ts +4 -0
- package/getUser.js +4 -0
- package/getUser.js.map +1 -1
- package/getUserRealmRoles.d.ts +4 -0
- package/getUserRealmRoles.js +4 -0
- package/getUserRealmRoles.js.map +1 -1
- package/group.d.ts +35 -58
- package/group.js +35 -16
- package/group.js.map +1 -1
- package/groupMemberships.d.ts +27 -43
- package/groupMemberships.js +27 -16
- package/groupMemberships.js.map +1 -1
- package/groupPermissions.d.ts +13 -0
- package/groupPermissions.js +13 -0
- package/groupPermissions.js.map +1 -1
- package/groupRoles.d.ts +32 -91
- package/groupRoles.js +32 -55
- package/groupRoles.js.map +1 -1
- package/hardcodedAttributeIdentityProviderMapper.d.ts +2 -0
- package/hardcodedAttributeIdentityProviderMapper.js +2 -0
- package/hardcodedAttributeIdentityProviderMapper.js.map +1 -1
- package/hardcodedRoleIdentityMapper.d.ts +2 -0
- package/hardcodedRoleIdentityMapper.js +2 -0
- package/hardcodedRoleIdentityMapper.js.map +1 -1
- package/identityProviderTokenExchangeScopePermission.d.ts +10 -2
- package/identityProviderTokenExchangeScopePermission.js +10 -2
- package/identityProviderTokenExchangeScopePermission.js.map +1 -1
- package/ldap/customMapper.d.ts +10 -2
- package/ldap/customMapper.js +10 -2
- package/ldap/customMapper.js.map +1 -1
- package/ldap/fullNameMapper.d.ts +41 -54
- package/ldap/fullNameMapper.js +32 -18
- package/ldap/fullNameMapper.js.map +1 -1
- package/ldap/groupMapper.d.ts +55 -164
- package/ldap/groupMapper.js +46 -20
- package/ldap/groupMapper.js.map +1 -1
- package/ldap/hardcodedAttributeMapper.d.ts +10 -2
- package/ldap/hardcodedAttributeMapper.js +10 -2
- package/ldap/hardcodedAttributeMapper.js.map +1 -1
- package/ldap/hardcodedGroupMapper.d.ts +10 -2
- package/ldap/hardcodedGroupMapper.js +10 -2
- package/ldap/hardcodedGroupMapper.js.map +1 -1
- package/ldap/hardcodedRoleMapper.d.ts +29 -64
- package/ldap/hardcodedRoleMapper.js +17 -52
- package/ldap/hardcodedRoleMapper.js.map +1 -1
- package/ldap/msadLdsUserAccountControlMapper.d.ts +10 -2
- package/ldap/msadLdsUserAccountControlMapper.js +10 -2
- package/ldap/msadLdsUserAccountControlMapper.js.map +1 -1
- package/ldap/msadUserAccountControlMapper.d.ts +34 -32
- package/ldap/msadUserAccountControlMapper.js +25 -14
- package/ldap/msadUserAccountControlMapper.js.map +1 -1
- package/ldap/roleMapper.d.ts +10 -2
- package/ldap/roleMapper.js +10 -2
- package/ldap/roleMapper.js.map +1 -1
- package/ldap/userAttributeMapper.d.ts +60 -45
- package/ldap/userAttributeMapper.js +30 -15
- package/ldap/userAttributeMapper.js.map +1 -1
- package/ldap/userFederation.d.ts +125 -95
- package/ldap/userFederation.js +53 -20
- package/ldap/userFederation.js.map +1 -1
- package/oidc/googleIdentityProvider.d.ts +8 -2
- package/oidc/googleIdentityProvider.js +8 -2
- package/oidc/googleIdentityProvider.js.map +1 -1
- package/oidc/identityProvider.d.ts +8 -2
- package/oidc/identityProvider.js +8 -2
- package/oidc/identityProvider.js.map +1 -1
- package/openid/audienceProtocolMapper.d.ts +62 -45
- package/openid/audienceProtocolMapper.js +38 -21
- package/openid/audienceProtocolMapper.js.map +1 -1
- package/openid/audienceResolveProtocolMapper.d.ts +17 -3
- package/openid/audienceResolveProtocolMapper.js +17 -3
- package/openid/audienceResolveProtocolMapper.js.map +1 -1
- package/openid/audienceResolveProtocolMappter.d.ts +17 -3
- package/openid/audienceResolveProtocolMappter.js +17 -3
- package/openid/audienceResolveProtocolMappter.js.map +1 -1
- package/openid/client.d.ts +48 -431
- package/openid/client.js +48 -14
- package/openid/client.js.map +1 -1
- package/openid/clientAuthorizationPermission.d.ts +6 -2
- package/openid/clientAuthorizationPermission.js +6 -2
- package/openid/clientAuthorizationPermission.js.map +1 -1
- package/openid/clientDefaultScopes.d.ts +17 -33
- package/openid/clientDefaultScopes.js +17 -6
- package/openid/clientDefaultScopes.js.map +1 -1
- package/openid/clientOptionalScopes.d.ts +17 -34
- package/openid/clientOptionalScopes.js +17 -7
- package/openid/clientOptionalScopes.js.map +1 -1
- package/openid/clientPolicy.d.ts +2 -0
- package/openid/clientPolicy.js +2 -0
- package/openid/clientPolicy.js.map +1 -1
- package/openid/clientScope.d.ts +27 -67
- package/openid/clientScope.js +27 -13
- package/openid/clientScope.js.map +1 -1
- package/openid/clientServiceAccountRealmRole.d.ts +8 -2
- package/openid/clientServiceAccountRealmRole.js +8 -2
- package/openid/clientServiceAccountRealmRole.js.map +1 -1
- package/openid/clientServiceAccountRole.d.ts +8 -2
- package/openid/clientServiceAccountRole.js +8 -2
- package/openid/clientServiceAccountRole.js.map +1 -1
- package/openid/fullNameProtocolMapper.d.ts +49 -61
- package/openid/fullNameProtocolMapper.js +37 -22
- package/openid/fullNameProtocolMapper.js.map +1 -1
- package/openid/getClient.d.ts +32 -14
- package/openid/getClient.js +32 -2
- package/openid/getClient.js.map +1 -1
- package/openid/getClientAuthorizationPolicy.d.ts +4 -0
- package/openid/getClientAuthorizationPolicy.js +4 -0
- package/openid/getClientAuthorizationPolicy.js.map +1 -1
- package/openid/getClientScope.d.ts +4 -0
- package/openid/getClientScope.js +4 -0
- package/openid/getClientScope.js.map +1 -1
- package/openid/getClientServiceAccountUser.d.ts +4 -0
- package/openid/getClientServiceAccountUser.js +4 -0
- package/openid/getClientServiceAccountUser.js.map +1 -1
- package/openid/groupMembershipProtocolMapper.d.ts +53 -81
- package/openid/groupMembershipProtocolMapper.js +41 -24
- package/openid/groupMembershipProtocolMapper.js.map +1 -1
- package/openid/hardcodedClaimProtocolMapper.d.ts +66 -66
- package/openid/hardcodedClaimProtocolMapper.js +42 -24
- package/openid/hardcodedClaimProtocolMapper.js.map +1 -1
- package/openid/hardcodedRoleProtocolMapper.d.ts +48 -43
- package/openid/hardcodedRoleProtocolMapper.js +36 -22
- package/openid/hardcodedRoleProtocolMapper.js.map +1 -1
- package/openid/scriptProtocolMapper.d.ts +17 -3
- package/openid/scriptProtocolMapper.js +17 -3
- package/openid/scriptProtocolMapper.js.map +1 -1
- package/openid/userAttributeProtocolMapper.d.ts +73 -72
- package/openid/userAttributeProtocolMapper.js +43 -24
- package/openid/userAttributeProtocolMapper.js.map +1 -1
- package/openid/userClientRoleProtocolMapper.d.ts +17 -3
- package/openid/userClientRoleProtocolMapper.js +17 -3
- package/openid/userClientRoleProtocolMapper.js.map +1 -1
- package/openid/userPropertyProtocolMapper.d.ts +66 -67
- package/openid/userPropertyProtocolMapper.js +42 -25
- package/openid/userPropertyProtocolMapper.js.map +1 -1
- package/openid/userRealmRoleProtocolMapper.d.ts +73 -63
- package/openid/userRealmRoleProtocolMapper.js +43 -24
- package/openid/userRealmRoleProtocolMapper.js.map +1 -1
- package/openid/userSessionNoteProtocolMapper.d.ts +17 -3
- package/openid/userSessionNoteProtocolMapper.js +17 -3
- package/openid/userSessionNoteProtocolMapper.js.map +1 -1
- package/package.json +1 -1
- package/realm.d.ts +30 -509
- package/realm.js +0 -83
- package/realm.js.map +1 -1
- package/realmEvents.d.ts +20 -74
- package/realmEvents.js +20 -11
- package/realmEvents.js.map +1 -1
- package/realmKeystoreAesGenerated.d.ts +8 -2
- package/realmKeystoreAesGenerated.js +8 -2
- package/realmKeystoreAesGenerated.js.map +1 -1
- package/realmKeystoreEcdsaGenerated.d.ts +8 -2
- package/realmKeystoreEcdsaGenerated.js +8 -2
- package/realmKeystoreEcdsaGenerated.js.map +1 -1
- package/realmKeystoreHmacGenerated.d.ts +8 -2
- package/realmKeystoreHmacGenerated.js +8 -2
- package/realmKeystoreHmacGenerated.js.map +1 -1
- package/realmKeystoreJavaGenerated.d.ts +8 -2
- package/realmKeystoreJavaGenerated.js +8 -2
- package/realmKeystoreJavaGenerated.js.map +1 -1
- package/realmKeystoreRsa.d.ts +6 -2
- package/realmKeystoreRsa.js +6 -2
- package/realmKeystoreRsa.js.map +1 -1
- package/realmKeystoreRsaGenerated.d.ts +8 -2
- package/realmKeystoreRsaGenerated.js +8 -2
- package/realmKeystoreRsaGenerated.js.map +1 -1
- package/realmUserProfile.d.ts +2 -0
- package/realmUserProfile.js +2 -0
- package/realmUserProfile.js.map +1 -1
- package/requiredAction.d.ts +8 -2
- package/requiredAction.js +8 -2
- package/requiredAction.js.map +1 -1
- package/role.d.ts +58 -125
- package/role.js +58 -71
- package/role.js.map +1 -1
- package/saml/client.d.ts +46 -327
- package/saml/client.js +46 -12
- package/saml/client.js.map +1 -1
- package/saml/clientDefaultScope.d.ts +5 -1
- package/saml/clientDefaultScope.js +5 -1
- package/saml/clientDefaultScope.js.map +1 -1
- package/saml/clientScope.d.ts +10 -2
- package/saml/clientScope.js +10 -2
- package/saml/clientScope.js.map +1 -1
- package/saml/getClient.d.ts +4 -0
- package/saml/getClient.js +4 -0
- package/saml/getClient.js.map +1 -1
- package/saml/getClientInstallationProvider.d.ts +4 -0
- package/saml/getClientInstallationProvider.js +4 -0
- package/saml/getClientInstallationProvider.js.map +1 -1
- package/saml/identityProvider.d.ts +163 -117
- package/saml/identityProvider.js +52 -21
- package/saml/identityProvider.js.map +1 -1
- package/saml/scriptProtocolMapper.d.ts +13 -3
- package/saml/scriptProtocolMapper.js +13 -3
- package/saml/scriptProtocolMapper.js.map +1 -1
- package/saml/userAttributeProtocolMapper.d.ts +32 -91
- package/saml/userAttributeProtocolMapper.js +32 -19
- package/saml/userAttributeProtocolMapper.js.map +1 -1
- package/saml/userPropertyProtocolMapper.d.ts +32 -91
- package/saml/userPropertyProtocolMapper.js +32 -19
- package/saml/userPropertyProtocolMapper.js.map +1 -1
- package/types/input.d.ts +74 -183
- package/types/output.d.ts +44 -207
- package/user.d.ts +36 -112
- package/user.js +36 -22
- package/user.js.map +1 -1
- package/userGroups.d.ts +9 -1
- package/userGroups.js +9 -1
- package/userGroups.js.map +1 -1
- package/userRoles.d.ts +11 -2
- package/userRoles.js +11 -2
- package/userRoles.js.map +1 -1
- package/userTemplateImporterIdentityProviderMapper.d.ts +10 -2
- package/userTemplateImporterIdentityProviderMapper.js +10 -2
- package/userTemplateImporterIdentityProviderMapper.js.map +1 -1
- package/usersPermissions.d.ts +10 -25
- package/usersPermissions.js +10 -25
- package/usersPermissions.js.map +1 -1
|
@@ -6,51 +6,66 @@ exports.UserAttributeMapper = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
8
|
/**
|
|
9
|
+
* ## # keycloak.ldap.UserAttributeMapper
|
|
10
|
+
*
|
|
9
11
|
* Allows for creating and managing user attribute mappers for Keycloak users
|
|
10
12
|
* federated via LDAP.
|
|
11
13
|
*
|
|
12
14
|
* The LDAP user attribute mapper can be used to map a single LDAP attribute
|
|
13
15
|
* to an attribute on the Keycloak user model.
|
|
14
16
|
*
|
|
15
|
-
*
|
|
17
|
+
* ### Example Usage
|
|
16
18
|
*
|
|
19
|
+
* <!--Start PulumiCodeChooser -->
|
|
17
20
|
* ```typescript
|
|
18
21
|
* import * as pulumi from "@pulumi/pulumi";
|
|
19
22
|
* import * as keycloak from "@pulumi/keycloak";
|
|
20
23
|
*
|
|
21
24
|
* const realm = new keycloak.Realm("realm", {
|
|
22
|
-
* realm: "my-realm",
|
|
23
25
|
* enabled: true,
|
|
26
|
+
* realm: "test",
|
|
24
27
|
* });
|
|
25
28
|
* const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
|
|
26
|
-
*
|
|
27
|
-
*
|
|
29
|
+
* bindCredential: "admin",
|
|
30
|
+
* bindDn: "cn=admin,dc=example,dc=org",
|
|
31
|
+
* connectionUrl: "ldap://openldap",
|
|
28
32
|
* rdnLdapAttribute: "cn",
|
|
29
|
-
*
|
|
33
|
+
* realmId: realm.id,
|
|
30
34
|
* userObjectClasses: [
|
|
31
35
|
* "simpleSecurityObject",
|
|
32
36
|
* "organizationalRole",
|
|
33
37
|
* ],
|
|
34
|
-
*
|
|
38
|
+
* usernameLdapAttribute: "cn",
|
|
35
39
|
* usersDn: "dc=example,dc=org",
|
|
36
|
-
*
|
|
37
|
-
* bindCredential: "admin",
|
|
40
|
+
* uuidLdapAttribute: "entryDN",
|
|
38
41
|
* });
|
|
39
42
|
* const ldapUserAttributeMapper = new keycloak.ldap.UserAttributeMapper("ldapUserAttributeMapper", {
|
|
40
|
-
*
|
|
43
|
+
* ldapAttribute: "bar",
|
|
41
44
|
* ldapUserFederationId: ldapUserFederation.id,
|
|
45
|
+
* realmId: realm.id,
|
|
42
46
|
* userModelAttribute: "foo",
|
|
43
|
-
* ldapAttribute: "bar",
|
|
44
47
|
* });
|
|
45
48
|
* ```
|
|
49
|
+
* <!--End PulumiCodeChooser -->
|
|
46
50
|
*
|
|
47
|
-
*
|
|
51
|
+
* ### Argument Reference
|
|
48
52
|
*
|
|
49
|
-
*
|
|
53
|
+
* The following arguments are supported:
|
|
50
54
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
55
|
+
* - `realmId` - (Required) The realm that this LDAP mapper will exist in.
|
|
56
|
+
* - `ldapUserFederationId` - (Required) The ID of the LDAP user federation provider to attach this mapper to.
|
|
57
|
+
* - `name` - (Required) Display name of this mapper when displayed in the console.
|
|
58
|
+
* - `userModelAttribute` - (Required) Name of the user property or attribute you want to map the LDAP attribute into.
|
|
59
|
+
* - `ldapAttribute` - (Required) Name of the mapped attribute on the LDAP object.
|
|
60
|
+
* - `readOnly` - (Optional) When `true`, this attribute is not saved back to LDAP when the user attribute is updated in Keycloak. Defaults to `false`.
|
|
61
|
+
* - `alwaysReadValueFromLdap` - (Optional) When `true`, the value fetched from LDAP will override the value stored in Keycloak. Defaults to `false`.
|
|
62
|
+
* - `isMandatoryInLdap` - (Optional) When `true`, this attribute must exist in LDAP. Defaults to `false`.
|
|
63
|
+
*
|
|
64
|
+
* ### Import
|
|
65
|
+
*
|
|
66
|
+
* LDAP mappers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}/{{ldap_mapper_id}}`.
|
|
67
|
+
* The ID of the LDAP user federation provider and the mapper can be found within
|
|
68
|
+
* the Keycloak GUI, and they are typically GUIDs:
|
|
54
69
|
*/
|
|
55
70
|
class UserAttributeMapper extends pulumi.CustomResource {
|
|
56
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userAttributeMapper.js","sourceRoot":"","sources":["../../ldap/userAttributeMapper.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"userAttributeMapper.js","sourceRoot":"","sources":["../../ldap/userAttributeMapper.ts"],"names":[],"mappings":"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"}
|
package/ldap/userFederation.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "../types/input";
|
|
3
3
|
import * as outputs from "../types/output";
|
|
4
4
|
/**
|
|
5
|
+
* ## # keycloak.ldap.UserFederation
|
|
6
|
+
*
|
|
5
7
|
* Allows for creating and managing LDAP user federation providers within Keycloak.
|
|
6
8
|
*
|
|
7
9
|
* Keycloak can use an LDAP user federation provider to federate users to Keycloak
|
|
@@ -9,47 +11,78 @@ import * as outputs from "../types/output";
|
|
|
9
11
|
* will exist within the realm and will be able to log in to clients. Federated
|
|
10
12
|
* users can have their attributes defined using mappers.
|
|
11
13
|
*
|
|
12
|
-
*
|
|
14
|
+
* ### Example Usage
|
|
13
15
|
*
|
|
16
|
+
* <!--Start PulumiCodeChooser -->
|
|
14
17
|
* ```typescript
|
|
15
18
|
* import * as pulumi from "@pulumi/pulumi";
|
|
16
19
|
* import * as keycloak from "@pulumi/keycloak";
|
|
17
20
|
*
|
|
18
21
|
* const realm = new keycloak.Realm("realm", {
|
|
19
|
-
* realm: "my-realm",
|
|
20
22
|
* enabled: true,
|
|
23
|
+
* realm: "test",
|
|
21
24
|
* });
|
|
22
25
|
* const ldapUserFederation = new keycloak.ldap.UserFederation("ldapUserFederation", {
|
|
23
|
-
*
|
|
26
|
+
* bindCredential: "admin",
|
|
27
|
+
* bindDn: "cn=admin,dc=example,dc=org",
|
|
28
|
+
* connectionTimeout: "5s",
|
|
29
|
+
* connectionUrl: "ldap://openldap",
|
|
24
30
|
* enabled: true,
|
|
25
|
-
* usernameLdapAttribute: "cn",
|
|
26
31
|
* rdnLdapAttribute: "cn",
|
|
27
|
-
*
|
|
32
|
+
* readTimeout: "10s",
|
|
33
|
+
* realmId: realm.id,
|
|
28
34
|
* userObjectClasses: [
|
|
29
35
|
* "simpleSecurityObject",
|
|
30
36
|
* "organizationalRole",
|
|
31
37
|
* ],
|
|
32
|
-
*
|
|
38
|
+
* usernameLdapAttribute: "cn",
|
|
33
39
|
* usersDn: "dc=example,dc=org",
|
|
34
|
-
*
|
|
35
|
-
* bindCredential: "admin",
|
|
36
|
-
* connectionTimeout: "5s",
|
|
37
|
-
* readTimeout: "10s",
|
|
38
|
-
* kerberos: {
|
|
39
|
-
* kerberosRealm: "FOO.LOCAL",
|
|
40
|
-
* serverPrincipal: "HTTP/host.foo.com@FOO.LOCAL",
|
|
41
|
-
* keyTab: "/etc/host.keytab",
|
|
42
|
-
* },
|
|
40
|
+
* uuidLdapAttribute: "entryDN",
|
|
43
41
|
* });
|
|
44
42
|
* ```
|
|
43
|
+
* <!--End PulumiCodeChooser -->
|
|
45
44
|
*
|
|
46
|
-
*
|
|
45
|
+
* ### Argument Reference
|
|
47
46
|
*
|
|
48
|
-
*
|
|
47
|
+
* The following arguments are supported:
|
|
49
48
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
49
|
+
* - `realmId` - (Required) The realm that this provider will provide user federation for.
|
|
50
|
+
* - `name` - (Required) Display name of the provider when displayed in the console.
|
|
51
|
+
* - `enabled` - (Optional) When `false`, this provider will not be used when performing queries for users. Defaults to `true`.
|
|
52
|
+
* - `priority` - (Optional) Priority of this provider when looking up users. Lower values are first. Defaults to `0`.
|
|
53
|
+
* - `importEnabled` - (Optional) When `true`, LDAP users will be imported into the Keycloak database. Defaults to `true`.
|
|
54
|
+
* - `editMode` - (Optional) Can be one of `READ_ONLY`, `WRITABLE`, or `UNSYNCED`. `UNSYNCED` allows user data to be imported but not synced back to LDAP. Defaults to `READ_ONLY`.
|
|
55
|
+
* - `syncRegistrations` - (Optional) When `true`, newly created users will be synced back to LDAP. Defaults to `false`.
|
|
56
|
+
* - `vendor` - (Optional) Can be one of `OTHER`, `EDIRECTORY`, `AD`, `RHDS`, or `TIVOLI`. When this is selected in the GUI, it provides reasonable defaults for other fields. When used with the Keycloak API, this attribute does nothing, but is still required. Defaults to `OPTIONAL`.
|
|
57
|
+
* - `usernameLdapAttribute` - (Required) Name of the LDAP attribute to use as the Keycloak username.
|
|
58
|
+
* - `rdnLdapAttribute` - (Required) Name of the LDAP attribute to use as the relative distinguished name.
|
|
59
|
+
* - `uuidLdapAttribute` - (Required) Name of the LDAP attribute to use as a unique object identifier for objects in LDAP.
|
|
60
|
+
* - `userObjectClasses` - (Required) Array of all values of LDAP objectClass attribute for users in LDAP. Must contain at least one.
|
|
61
|
+
* - `connectionUrl` - (Required) Connection URL to the LDAP server.
|
|
62
|
+
* - `usersDn` - (Required) Full DN of LDAP tree where your users are.
|
|
63
|
+
* - `bindDn` - (Optional) DN of LDAP admin, which will be used by Keycloak to access LDAP server. This attribute must be set if `bindCredential` is set.
|
|
64
|
+
* - `bindCredential` - (Optional) Password of LDAP admin. This attribute must be set if `bindDn` is set.
|
|
65
|
+
* - `customUserSearchFilter` - (Optional) Additional LDAP filter for filtering searched users. Must begin with `(` and end with `)`.
|
|
66
|
+
* - `searchScope` - (Optional) Can be one of `ONE_LEVEL` or `SUBTREE`:
|
|
67
|
+
* - `ONE_LEVEL`: Only search for users in the DN specified by `userDn`.
|
|
68
|
+
* - `SUBTREE`: Search entire LDAP subtree.
|
|
69
|
+
* - `validatePasswordPolicy` - (Optional) When `true`, Keycloak will validate passwords using the realm policy before updating it.
|
|
70
|
+
* - `useTruststoreSpi` - (Optional) Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
|
|
71
|
+
* - `ALWAYS` - Always use the truststore SPI for LDAP connections.
|
|
72
|
+
* - `NEVER` - Never use the truststore SPI for LDAP connections.
|
|
73
|
+
* - `ONLY_FOR_LDAPS` - Only use the truststore SPI if your LDAP connection uses the ldaps protocol.
|
|
74
|
+
* - `connectionTimeout` - (Optional) LDAP connection timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
|
|
75
|
+
* - `readTimeout` - (Optional) LDAP read timeout in the format of a [Go duration string](https://golang.org/pkg/time/#Duration.String).
|
|
76
|
+
* - `pagination` - (Optional) When true, Keycloak assumes the LDAP server supports pagination. Defaults to `true`.
|
|
77
|
+
* - `batchSizeForSync` - (Optional) The number of users to sync within a single transaction. Defaults to `1000`.
|
|
78
|
+
* - `fullSyncPeriod` - (Optional) How frequently Keycloak should sync all LDAP users, in seconds. Omit this property to disable periodic full sync.
|
|
79
|
+
* - `changedSyncPeriod` - (Optional) How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users sync.
|
|
80
|
+
* - `cachePolicy` - (Optional) Can be one of `DEFAULT`, `EVICT_DAILY`, `EVICT_WEEKLY`, `MAX_LIFESPAN`, or `NO_CACHE`. Defaults to `DEFAULT`.
|
|
81
|
+
*
|
|
82
|
+
* ### Import
|
|
83
|
+
*
|
|
84
|
+
* LDAP user federation providers can be imported using the format `{{realm_id}}/{{ldap_user_federation_id}}`.
|
|
85
|
+
* The ID of the LDAP user federation provider can be found within the Keycloak GUI and is typically a GUID:
|
|
53
86
|
*/
|
|
54
87
|
export declare class UserFederation extends pulumi.CustomResource {
|
|
55
88
|
/**
|
|
@@ -68,27 +101,28 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
68
101
|
*/
|
|
69
102
|
static isInstance(obj: any): obj is UserFederation;
|
|
70
103
|
/**
|
|
71
|
-
* The number of users to sync within a single transaction.
|
|
104
|
+
* The number of users to sync within a single transaction.
|
|
72
105
|
*/
|
|
73
106
|
readonly batchSizeForSync: pulumi.Output<number | undefined>;
|
|
74
107
|
/**
|
|
75
|
-
* Password of LDAP admin.
|
|
108
|
+
* Password of LDAP admin.
|
|
76
109
|
*/
|
|
77
110
|
readonly bindCredential: pulumi.Output<string | undefined>;
|
|
78
111
|
/**
|
|
79
|
-
* DN of LDAP admin, which will be used by Keycloak to access LDAP server.
|
|
112
|
+
* DN of LDAP admin, which will be used by Keycloak to access LDAP server.
|
|
80
113
|
*/
|
|
81
114
|
readonly bindDn: pulumi.Output<string | undefined>;
|
|
82
115
|
/**
|
|
83
|
-
*
|
|
116
|
+
* Settings regarding cache policy for this realm.
|
|
84
117
|
*/
|
|
85
118
|
readonly cache: pulumi.Output<outputs.ldap.UserFederationCache | undefined>;
|
|
86
119
|
/**
|
|
87
|
-
* How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
|
|
120
|
+
* How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
|
|
121
|
+
* sync.
|
|
88
122
|
*/
|
|
89
123
|
readonly changedSyncPeriod: pulumi.Output<number | undefined>;
|
|
90
124
|
/**
|
|
91
|
-
* LDAP connection timeout
|
|
125
|
+
* LDAP connection timeout (duration string)
|
|
92
126
|
*/
|
|
93
127
|
readonly connectionTimeout: pulumi.Output<string | undefined>;
|
|
94
128
|
/**
|
|
@@ -96,19 +130,20 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
96
130
|
*/
|
|
97
131
|
readonly connectionUrl: pulumi.Output<string>;
|
|
98
132
|
/**
|
|
99
|
-
* Additional LDAP filter for filtering searched users. Must begin with
|
|
133
|
+
* Additional LDAP filter for filtering searched users. Must begin with '(' and end with ')'.
|
|
100
134
|
*/
|
|
101
135
|
readonly customUserSearchFilter: pulumi.Output<string | undefined>;
|
|
102
136
|
/**
|
|
103
|
-
* When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
|
|
137
|
+
* When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
|
|
138
|
+
* user federation provider.
|
|
104
139
|
*/
|
|
105
140
|
readonly deleteDefaultMappers: pulumi.Output<boolean | undefined>;
|
|
106
141
|
/**
|
|
107
|
-
*
|
|
142
|
+
* READ_ONLY and WRITABLE are self-explanatory. UNSYNCED allows user data to be imported but not synced back to LDAP.
|
|
108
143
|
*/
|
|
109
144
|
readonly editMode: pulumi.Output<string | undefined>;
|
|
110
145
|
/**
|
|
111
|
-
* When
|
|
146
|
+
* When false, this provider will not be used when performing queries for users.
|
|
112
147
|
*/
|
|
113
148
|
readonly enabled: pulumi.Output<boolean | undefined>;
|
|
114
149
|
/**
|
|
@@ -116,11 +151,11 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
116
151
|
*/
|
|
117
152
|
readonly fullSyncPeriod: pulumi.Output<number | undefined>;
|
|
118
153
|
/**
|
|
119
|
-
* When
|
|
154
|
+
* When true, LDAP users will be imported into the Keycloak database.
|
|
120
155
|
*/
|
|
121
156
|
readonly importEnabled: pulumi.Output<boolean | undefined>;
|
|
122
157
|
/**
|
|
123
|
-
*
|
|
158
|
+
* Settings regarding kerberos authentication for this realm.
|
|
124
159
|
*/
|
|
125
160
|
readonly kerberos: pulumi.Output<outputs.ldap.UserFederationKerberos | undefined>;
|
|
126
161
|
/**
|
|
@@ -128,11 +163,11 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
128
163
|
*/
|
|
129
164
|
readonly name: pulumi.Output<string>;
|
|
130
165
|
/**
|
|
131
|
-
* When true, Keycloak assumes the LDAP server supports pagination.
|
|
166
|
+
* When true, Keycloak assumes the LDAP server supports pagination.
|
|
132
167
|
*/
|
|
133
168
|
readonly pagination: pulumi.Output<boolean | undefined>;
|
|
134
169
|
/**
|
|
135
|
-
* Priority of this provider when looking up users. Lower values are first.
|
|
170
|
+
* Priority of this provider when looking up users. Lower values are first.
|
|
136
171
|
*/
|
|
137
172
|
readonly priority: pulumi.Output<number | undefined>;
|
|
138
173
|
/**
|
|
@@ -140,23 +175,23 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
140
175
|
*/
|
|
141
176
|
readonly rdnLdapAttribute: pulumi.Output<string>;
|
|
142
177
|
/**
|
|
143
|
-
* LDAP read timeout
|
|
178
|
+
* LDAP read timeout (duration string)
|
|
144
179
|
*/
|
|
145
180
|
readonly readTimeout: pulumi.Output<string | undefined>;
|
|
146
181
|
/**
|
|
147
|
-
* The realm
|
|
182
|
+
* The realm this provider will provide user federation for.
|
|
148
183
|
*/
|
|
149
184
|
readonly realmId: pulumi.Output<string>;
|
|
150
185
|
/**
|
|
151
|
-
*
|
|
186
|
+
* ONE_LEVEL: only search for users in the DN specified by user_dn. SUBTREE: search entire LDAP subtree.
|
|
152
187
|
*/
|
|
153
188
|
readonly searchScope: pulumi.Output<string | undefined>;
|
|
154
189
|
/**
|
|
155
|
-
* When
|
|
190
|
+
* When true, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
|
|
156
191
|
*/
|
|
157
192
|
readonly startTls: pulumi.Output<boolean | undefined>;
|
|
158
193
|
/**
|
|
159
|
-
* When
|
|
194
|
+
* When true, newly created users will be synced back to LDAP.
|
|
160
195
|
*/
|
|
161
196
|
readonly syncRegistrations: pulumi.Output<boolean | undefined>;
|
|
162
197
|
/**
|
|
@@ -167,12 +202,9 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
167
202
|
* When `true`, use the LDAPv3 Password Modify Extended Operation (RFC-3062).
|
|
168
203
|
*/
|
|
169
204
|
readonly usePasswordModifyExtendedOp: pulumi.Output<boolean | undefined>;
|
|
170
|
-
/**
|
|
171
|
-
* Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
|
|
172
|
-
*/
|
|
173
205
|
readonly useTruststoreSpi: pulumi.Output<string | undefined>;
|
|
174
206
|
/**
|
|
175
|
-
*
|
|
207
|
+
* All values of LDAP objectClass attribute for users in LDAP.
|
|
176
208
|
*/
|
|
177
209
|
readonly userObjectClasses: pulumi.Output<string[]>;
|
|
178
210
|
/**
|
|
@@ -188,11 +220,11 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
188
220
|
*/
|
|
189
221
|
readonly uuidLdapAttribute: pulumi.Output<string>;
|
|
190
222
|
/**
|
|
191
|
-
* When
|
|
223
|
+
* When true, Keycloak will validate passwords using the realm policy before updating it.
|
|
192
224
|
*/
|
|
193
225
|
readonly validatePasswordPolicy: pulumi.Output<boolean | undefined>;
|
|
194
226
|
/**
|
|
195
|
-
*
|
|
227
|
+
* LDAP vendor. I am almost certain this field does nothing, but the UI indicates that it is required.
|
|
196
228
|
*/
|
|
197
229
|
readonly vendor: pulumi.Output<string | undefined>;
|
|
198
230
|
/**
|
|
@@ -209,27 +241,28 @@ export declare class UserFederation extends pulumi.CustomResource {
|
|
|
209
241
|
*/
|
|
210
242
|
export interface UserFederationState {
|
|
211
243
|
/**
|
|
212
|
-
* The number of users to sync within a single transaction.
|
|
244
|
+
* The number of users to sync within a single transaction.
|
|
213
245
|
*/
|
|
214
246
|
batchSizeForSync?: pulumi.Input<number>;
|
|
215
247
|
/**
|
|
216
|
-
* Password of LDAP admin.
|
|
248
|
+
* Password of LDAP admin.
|
|
217
249
|
*/
|
|
218
250
|
bindCredential?: pulumi.Input<string>;
|
|
219
251
|
/**
|
|
220
|
-
* DN of LDAP admin, which will be used by Keycloak to access LDAP server.
|
|
252
|
+
* DN of LDAP admin, which will be used by Keycloak to access LDAP server.
|
|
221
253
|
*/
|
|
222
254
|
bindDn?: pulumi.Input<string>;
|
|
223
255
|
/**
|
|
224
|
-
*
|
|
256
|
+
* Settings regarding cache policy for this realm.
|
|
225
257
|
*/
|
|
226
258
|
cache?: pulumi.Input<inputs.ldap.UserFederationCache>;
|
|
227
259
|
/**
|
|
228
|
-
* How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
|
|
260
|
+
* How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
|
|
261
|
+
* sync.
|
|
229
262
|
*/
|
|
230
263
|
changedSyncPeriod?: pulumi.Input<number>;
|
|
231
264
|
/**
|
|
232
|
-
* LDAP connection timeout
|
|
265
|
+
* LDAP connection timeout (duration string)
|
|
233
266
|
*/
|
|
234
267
|
connectionTimeout?: pulumi.Input<string>;
|
|
235
268
|
/**
|
|
@@ -237,19 +270,20 @@ export interface UserFederationState {
|
|
|
237
270
|
*/
|
|
238
271
|
connectionUrl?: pulumi.Input<string>;
|
|
239
272
|
/**
|
|
240
|
-
* Additional LDAP filter for filtering searched users. Must begin with
|
|
273
|
+
* Additional LDAP filter for filtering searched users. Must begin with '(' and end with ')'.
|
|
241
274
|
*/
|
|
242
275
|
customUserSearchFilter?: pulumi.Input<string>;
|
|
243
276
|
/**
|
|
244
|
-
* When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
|
|
277
|
+
* When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
|
|
278
|
+
* user federation provider.
|
|
245
279
|
*/
|
|
246
280
|
deleteDefaultMappers?: pulumi.Input<boolean>;
|
|
247
281
|
/**
|
|
248
|
-
*
|
|
282
|
+
* READ_ONLY and WRITABLE are self-explanatory. UNSYNCED allows user data to be imported but not synced back to LDAP.
|
|
249
283
|
*/
|
|
250
284
|
editMode?: pulumi.Input<string>;
|
|
251
285
|
/**
|
|
252
|
-
* When
|
|
286
|
+
* When false, this provider will not be used when performing queries for users.
|
|
253
287
|
*/
|
|
254
288
|
enabled?: pulumi.Input<boolean>;
|
|
255
289
|
/**
|
|
@@ -257,11 +291,11 @@ export interface UserFederationState {
|
|
|
257
291
|
*/
|
|
258
292
|
fullSyncPeriod?: pulumi.Input<number>;
|
|
259
293
|
/**
|
|
260
|
-
* When
|
|
294
|
+
* When true, LDAP users will be imported into the Keycloak database.
|
|
261
295
|
*/
|
|
262
296
|
importEnabled?: pulumi.Input<boolean>;
|
|
263
297
|
/**
|
|
264
|
-
*
|
|
298
|
+
* Settings regarding kerberos authentication for this realm.
|
|
265
299
|
*/
|
|
266
300
|
kerberos?: pulumi.Input<inputs.ldap.UserFederationKerberos>;
|
|
267
301
|
/**
|
|
@@ -269,11 +303,11 @@ export interface UserFederationState {
|
|
|
269
303
|
*/
|
|
270
304
|
name?: pulumi.Input<string>;
|
|
271
305
|
/**
|
|
272
|
-
* When true, Keycloak assumes the LDAP server supports pagination.
|
|
306
|
+
* When true, Keycloak assumes the LDAP server supports pagination.
|
|
273
307
|
*/
|
|
274
308
|
pagination?: pulumi.Input<boolean>;
|
|
275
309
|
/**
|
|
276
|
-
* Priority of this provider when looking up users. Lower values are first.
|
|
310
|
+
* Priority of this provider when looking up users. Lower values are first.
|
|
277
311
|
*/
|
|
278
312
|
priority?: pulumi.Input<number>;
|
|
279
313
|
/**
|
|
@@ -281,23 +315,23 @@ export interface UserFederationState {
|
|
|
281
315
|
*/
|
|
282
316
|
rdnLdapAttribute?: pulumi.Input<string>;
|
|
283
317
|
/**
|
|
284
|
-
* LDAP read timeout
|
|
318
|
+
* LDAP read timeout (duration string)
|
|
285
319
|
*/
|
|
286
320
|
readTimeout?: pulumi.Input<string>;
|
|
287
321
|
/**
|
|
288
|
-
* The realm
|
|
322
|
+
* The realm this provider will provide user federation for.
|
|
289
323
|
*/
|
|
290
324
|
realmId?: pulumi.Input<string>;
|
|
291
325
|
/**
|
|
292
|
-
*
|
|
326
|
+
* ONE_LEVEL: only search for users in the DN specified by user_dn. SUBTREE: search entire LDAP subtree.
|
|
293
327
|
*/
|
|
294
328
|
searchScope?: pulumi.Input<string>;
|
|
295
329
|
/**
|
|
296
|
-
* When
|
|
330
|
+
* When true, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
|
|
297
331
|
*/
|
|
298
332
|
startTls?: pulumi.Input<boolean>;
|
|
299
333
|
/**
|
|
300
|
-
* When
|
|
334
|
+
* When true, newly created users will be synced back to LDAP.
|
|
301
335
|
*/
|
|
302
336
|
syncRegistrations?: pulumi.Input<boolean>;
|
|
303
337
|
/**
|
|
@@ -308,12 +342,9 @@ export interface UserFederationState {
|
|
|
308
342
|
* When `true`, use the LDAPv3 Password Modify Extended Operation (RFC-3062).
|
|
309
343
|
*/
|
|
310
344
|
usePasswordModifyExtendedOp?: pulumi.Input<boolean>;
|
|
311
|
-
/**
|
|
312
|
-
* Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
|
|
313
|
-
*/
|
|
314
345
|
useTruststoreSpi?: pulumi.Input<string>;
|
|
315
346
|
/**
|
|
316
|
-
*
|
|
347
|
+
* All values of LDAP objectClass attribute for users in LDAP.
|
|
317
348
|
*/
|
|
318
349
|
userObjectClasses?: pulumi.Input<pulumi.Input<string>[]>;
|
|
319
350
|
/**
|
|
@@ -329,11 +360,11 @@ export interface UserFederationState {
|
|
|
329
360
|
*/
|
|
330
361
|
uuidLdapAttribute?: pulumi.Input<string>;
|
|
331
362
|
/**
|
|
332
|
-
* When
|
|
363
|
+
* When true, Keycloak will validate passwords using the realm policy before updating it.
|
|
333
364
|
*/
|
|
334
365
|
validatePasswordPolicy?: pulumi.Input<boolean>;
|
|
335
366
|
/**
|
|
336
|
-
*
|
|
367
|
+
* LDAP vendor. I am almost certain this field does nothing, but the UI indicates that it is required.
|
|
337
368
|
*/
|
|
338
369
|
vendor?: pulumi.Input<string>;
|
|
339
370
|
}
|
|
@@ -342,27 +373,28 @@ export interface UserFederationState {
|
|
|
342
373
|
*/
|
|
343
374
|
export interface UserFederationArgs {
|
|
344
375
|
/**
|
|
345
|
-
* The number of users to sync within a single transaction.
|
|
376
|
+
* The number of users to sync within a single transaction.
|
|
346
377
|
*/
|
|
347
378
|
batchSizeForSync?: pulumi.Input<number>;
|
|
348
379
|
/**
|
|
349
|
-
* Password of LDAP admin.
|
|
380
|
+
* Password of LDAP admin.
|
|
350
381
|
*/
|
|
351
382
|
bindCredential?: pulumi.Input<string>;
|
|
352
383
|
/**
|
|
353
|
-
* DN of LDAP admin, which will be used by Keycloak to access LDAP server.
|
|
384
|
+
* DN of LDAP admin, which will be used by Keycloak to access LDAP server.
|
|
354
385
|
*/
|
|
355
386
|
bindDn?: pulumi.Input<string>;
|
|
356
387
|
/**
|
|
357
|
-
*
|
|
388
|
+
* Settings regarding cache policy for this realm.
|
|
358
389
|
*/
|
|
359
390
|
cache?: pulumi.Input<inputs.ldap.UserFederationCache>;
|
|
360
391
|
/**
|
|
361
|
-
* How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
|
|
392
|
+
* How frequently Keycloak should sync changed LDAP users, in seconds. Omit this property to disable periodic changed users
|
|
393
|
+
* sync.
|
|
362
394
|
*/
|
|
363
395
|
changedSyncPeriod?: pulumi.Input<number>;
|
|
364
396
|
/**
|
|
365
|
-
* LDAP connection timeout
|
|
397
|
+
* LDAP connection timeout (duration string)
|
|
366
398
|
*/
|
|
367
399
|
connectionTimeout?: pulumi.Input<string>;
|
|
368
400
|
/**
|
|
@@ -370,19 +402,20 @@ export interface UserFederationArgs {
|
|
|
370
402
|
*/
|
|
371
403
|
connectionUrl: pulumi.Input<string>;
|
|
372
404
|
/**
|
|
373
|
-
* Additional LDAP filter for filtering searched users. Must begin with
|
|
405
|
+
* Additional LDAP filter for filtering searched users. Must begin with '(' and end with ')'.
|
|
374
406
|
*/
|
|
375
407
|
customUserSearchFilter?: pulumi.Input<string>;
|
|
376
408
|
/**
|
|
377
|
-
* When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
|
|
409
|
+
* When true, the provider will delete the default mappers which are normally created by Keycloak when creating an LDAP
|
|
410
|
+
* user federation provider.
|
|
378
411
|
*/
|
|
379
412
|
deleteDefaultMappers?: pulumi.Input<boolean>;
|
|
380
413
|
/**
|
|
381
|
-
*
|
|
414
|
+
* READ_ONLY and WRITABLE are self-explanatory. UNSYNCED allows user data to be imported but not synced back to LDAP.
|
|
382
415
|
*/
|
|
383
416
|
editMode?: pulumi.Input<string>;
|
|
384
417
|
/**
|
|
385
|
-
* When
|
|
418
|
+
* When false, this provider will not be used when performing queries for users.
|
|
386
419
|
*/
|
|
387
420
|
enabled?: pulumi.Input<boolean>;
|
|
388
421
|
/**
|
|
@@ -390,11 +423,11 @@ export interface UserFederationArgs {
|
|
|
390
423
|
*/
|
|
391
424
|
fullSyncPeriod?: pulumi.Input<number>;
|
|
392
425
|
/**
|
|
393
|
-
* When
|
|
426
|
+
* When true, LDAP users will be imported into the Keycloak database.
|
|
394
427
|
*/
|
|
395
428
|
importEnabled?: pulumi.Input<boolean>;
|
|
396
429
|
/**
|
|
397
|
-
*
|
|
430
|
+
* Settings regarding kerberos authentication for this realm.
|
|
398
431
|
*/
|
|
399
432
|
kerberos?: pulumi.Input<inputs.ldap.UserFederationKerberos>;
|
|
400
433
|
/**
|
|
@@ -402,11 +435,11 @@ export interface UserFederationArgs {
|
|
|
402
435
|
*/
|
|
403
436
|
name?: pulumi.Input<string>;
|
|
404
437
|
/**
|
|
405
|
-
* When true, Keycloak assumes the LDAP server supports pagination.
|
|
438
|
+
* When true, Keycloak assumes the LDAP server supports pagination.
|
|
406
439
|
*/
|
|
407
440
|
pagination?: pulumi.Input<boolean>;
|
|
408
441
|
/**
|
|
409
|
-
* Priority of this provider when looking up users. Lower values are first.
|
|
442
|
+
* Priority of this provider when looking up users. Lower values are first.
|
|
410
443
|
*/
|
|
411
444
|
priority?: pulumi.Input<number>;
|
|
412
445
|
/**
|
|
@@ -414,23 +447,23 @@ export interface UserFederationArgs {
|
|
|
414
447
|
*/
|
|
415
448
|
rdnLdapAttribute: pulumi.Input<string>;
|
|
416
449
|
/**
|
|
417
|
-
* LDAP read timeout
|
|
450
|
+
* LDAP read timeout (duration string)
|
|
418
451
|
*/
|
|
419
452
|
readTimeout?: pulumi.Input<string>;
|
|
420
453
|
/**
|
|
421
|
-
* The realm
|
|
454
|
+
* The realm this provider will provide user federation for.
|
|
422
455
|
*/
|
|
423
456
|
realmId: pulumi.Input<string>;
|
|
424
457
|
/**
|
|
425
|
-
*
|
|
458
|
+
* ONE_LEVEL: only search for users in the DN specified by user_dn. SUBTREE: search entire LDAP subtree.
|
|
426
459
|
*/
|
|
427
460
|
searchScope?: pulumi.Input<string>;
|
|
428
461
|
/**
|
|
429
|
-
* When
|
|
462
|
+
* When true, Keycloak will encrypt the connection to LDAP using STARTTLS, which will disable connection pooling.
|
|
430
463
|
*/
|
|
431
464
|
startTls?: pulumi.Input<boolean>;
|
|
432
465
|
/**
|
|
433
|
-
* When
|
|
466
|
+
* When true, newly created users will be synced back to LDAP.
|
|
434
467
|
*/
|
|
435
468
|
syncRegistrations?: pulumi.Input<boolean>;
|
|
436
469
|
/**
|
|
@@ -441,12 +474,9 @@ export interface UserFederationArgs {
|
|
|
441
474
|
* When `true`, use the LDAPv3 Password Modify Extended Operation (RFC-3062).
|
|
442
475
|
*/
|
|
443
476
|
usePasswordModifyExtendedOp?: pulumi.Input<boolean>;
|
|
444
|
-
/**
|
|
445
|
-
* Can be one of `ALWAYS`, `ONLY_FOR_LDAPS`, or `NEVER`:
|
|
446
|
-
*/
|
|
447
477
|
useTruststoreSpi?: pulumi.Input<string>;
|
|
448
478
|
/**
|
|
449
|
-
*
|
|
479
|
+
* All values of LDAP objectClass attribute for users in LDAP.
|
|
450
480
|
*/
|
|
451
481
|
userObjectClasses: pulumi.Input<pulumi.Input<string>[]>;
|
|
452
482
|
/**
|
|
@@ -462,11 +492,11 @@ export interface UserFederationArgs {
|
|
|
462
492
|
*/
|
|
463
493
|
uuidLdapAttribute: pulumi.Input<string>;
|
|
464
494
|
/**
|
|
465
|
-
* When
|
|
495
|
+
* When true, Keycloak will validate passwords using the realm policy before updating it.
|
|
466
496
|
*/
|
|
467
497
|
validatePasswordPolicy?: pulumi.Input<boolean>;
|
|
468
498
|
/**
|
|
469
|
-
*
|
|
499
|
+
* LDAP vendor. I am almost certain this field does nothing, but the UI indicates that it is required.
|
|
470
500
|
*/
|
|
471
501
|
vendor?: pulumi.Input<string>;
|
|
472
502
|
}
|