solved merge conflicts
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Available"
|
||||
openapi: "GET /api/v1/app-connections/ldap/available"
|
||||
---
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Create"
|
||||
openapi: "POST /api/v1/app-connections/ldap"
|
||||
---
|
||||
|
||||
<Note>
|
||||
Check out the configuration docs for [LDAP Connections](/integrations/app-connections/ldap) to learn how to obtain
|
||||
the required credentials.
|
||||
</Note>
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Delete"
|
||||
openapi: "DELETE /api/v1/app-connections/ldap/{connectionId}"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Get by ID"
|
||||
openapi: "GET /api/v1/app-connections/ldap/{connectionId}"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Get by Name"
|
||||
openapi: "GET /api/v1/app-connections/ldap/connection-name/{connectionName}"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "List"
|
||||
openapi: "GET /api/v1/app-connections/ldap"
|
||||
---
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Update"
|
||||
openapi: "PATCH /api/v1/app-connections/ldap/{connectionId}"
|
||||
---
|
||||
|
||||
<Note>
|
||||
Check out the configuration docs for [LDAP Connections](/integrations/app-connections/ldap) to learn how to obtain
|
||||
the required credentials.
|
||||
</Note>
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Create"
|
||||
openapi: "POST /api/v2/secret-rotations/ldap-password"
|
||||
---
|
||||
|
||||
<Note>
|
||||
Check out the configuration docs for [LDAP Password Rotations](/documentation/platform/secret-rotation/ldap-password) to learn how to obtain the
|
||||
required parameters.
|
||||
</Note>
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Delete"
|
||||
openapi: "DELETE /api/v2/secret-rotations/ldap-password/{rotationId}"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Get by ID"
|
||||
openapi: "GET /api/v2/secret-rotations/ldap-password/{rotationId}"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Get by Name"
|
||||
openapi: "GET /api/v2/secret-rotations/ldap-password/rotation-name/{rotationName}"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Get Credentials by ID"
|
||||
openapi: "GET /api/v2/secret-rotations/ldap-password/{rotationId}/generated-credentials"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "List"
|
||||
openapi: "GET /api/v2/secret-rotations/ldap-password"
|
||||
---
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Rotate Secrets"
|
||||
openapi: "POST /api/v2/secret-rotations/ldap-password/{rotationId}/rotate-secrets"
|
||||
---
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Update"
|
||||
openapi: "PATCH /api/v2/secret-rotations/ldap-password/{rotationId}"
|
||||
---
|
||||
|
||||
<Note>
|
||||
Check out the configuration docs for [LDAP Rotations](/documentation/platform/secret-rotation/ldap-password) to learn how to obtain the
|
||||
required parameters.
|
||||
</Note>
|
||||
@@ -22,125 +22,72 @@ This command enables you to obtain SSH credentials used to access a remote host.
|
||||
<Accordion title="--hostname">
|
||||
The hostname of the SSH host to connect to. If not provided, you will be prompted to select from available hosts.
|
||||
</Accordion>
|
||||
<Accordion title="--loginUser">
|
||||
<Accordion title="--login-user">
|
||||
The login user for the SSH connection. If not provided, you will be prompted to select from available login users.
|
||||
</Accordion>
|
||||
<Accordion title="--writeHostCaToFile">
|
||||
<Accordion title="--write-host-ca-to-file">
|
||||
Whether to write the Host CA public key to `~/.ssh/known_hosts` if it doesn't already exist.
|
||||
|
||||
Default value: `true`
|
||||
</Accordion>
|
||||
<Accordion title="--outFilePath">
|
||||
<Accordion title="--out-file-path">
|
||||
The path to write the SSH credentials to such as `~/.ssh`, `./some_folder`, `./some_folder/id_rsa-cert.pub`. If not provided, the credentials will be added to the SSH agent and used to establish an interactive SSH connection.
|
||||
</Accordion>
|
||||
<Accordion title="--token">
|
||||
An authenticated token to use to authenticate with Infisical.
|
||||
Use a machine identity access token
|
||||
</Accordion>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="infisical ssh issue-credentials">
|
||||
This command is used to issue SSH credentials (SSH certificate, public key, and private key) against a certificate template.
|
||||
|
||||
We recommend using the `--addToAgent` flag to automatically load issued SSH credentials to the SSH agent.
|
||||
<Accordion title="infisical ssh add-host">
|
||||
This command is used to register a new SSH host with Infisical.
|
||||
|
||||
This command can be used with the `--write-user-ca-to-file`, `--write-host-cert-to-file`, and `--configure-sshd` flags
|
||||
to also configure the host's SSH daemon with the necessary certificate authority and host certificate settings.
|
||||
|
||||
```bash
|
||||
$ infisical ssh issue-credentials --certificateTemplateId=<certificate-template-id> --principals=<principals> --addToAgent
|
||||
$ infisical ssh add-host --projectId=<project-id> --hostname=<hostname>
|
||||
```
|
||||
|
||||
### Flags
|
||||
<Accordion title="--certificateTemplateId">
|
||||
The ID of the SSH certificate template to issue SSH credentials for.
|
||||
<Accordion title="--projectId">
|
||||
Project ID the host belongs to (required)
|
||||
</Accordion>
|
||||
<Accordion title="--principals">
|
||||
A comma-separated list of principals (i.e. usernames like `ec2-user` or hostnames) to issue SSH credentials for.
|
||||
<Accordion title="--hostname">
|
||||
Hostname of the SSH host (required)
|
||||
</Accordion>
|
||||
<Accordion title="--addToAgent">
|
||||
Whether to add issued SSH credentials to the SSH agent.
|
||||
<Accordion title="--alias">
|
||||
Alias for the SSH host (optional)
|
||||
</Accordion>
|
||||
<Accordion title="--write-user-ca-to-file">
|
||||
Write User CA public key to `/etc/ssh/infisical_user_ca.pub`
|
||||
|
||||
Default value: `false`
|
||||
</Accordion>
|
||||
<Accordion title="--user-ca-out-file-path">
|
||||
Custom file path to write the User CA public key
|
||||
|
||||
Default value: `/etc/ssh/infisical_user_ca.pub`
|
||||
</Accordion>
|
||||
<Accordion title="--write-host-cert-to-file">
|
||||
Write SSH host certificate to `/etc/ssh/ssh_host_<type>_key-cert.pub`
|
||||
|
||||
Default value: `false`
|
||||
</Accordion>
|
||||
<Accordion title="--configure-sshd">
|
||||
Update `TrustedUserCAKeys`, `HostKey`, and `HostCertificate` in the `/etc/ssh/sshd_config` file
|
||||
|
||||
Default value: `false`
|
||||
|
||||
Note that either the `--outFilePath` or `--addToAgent` flag must be set for the sub-command to execute successfully.
|
||||
Note: This flag requires both --write-user-ca-to-file and --write-host-cert-to-file to be set
|
||||
</Accordion>
|
||||
<Accordion title="--outFilePath">
|
||||
The path to write the SSH credentials to such as `~/.ssh`, `./some_folder`, `./some_folder/id_rsa-cert.pub`. If not provided, the credentials will be saved to the current working directory where the command is run.
|
||||
<Accordion title="--force">
|
||||
Force overwrite of existing certificate files as part of `--write-user-ca-to-file` and `--write-host-cert-to-file`
|
||||
|
||||
Note that either the `--outFilePath` or `--addToAgent` flag must be set for the sub-command to execute successfully.
|
||||
</Accordion>
|
||||
<Accordion title="--keyAlgorithm">
|
||||
The key algorithm to issue SSH credentials for.
|
||||
|
||||
Default value: `RSA_2048`
|
||||
|
||||
Available options: `RSA_2048`, `RSA_4096`, `EC_prime256v1`, `EC_secp384r1`.
|
||||
</Accordion>
|
||||
<Accordion title="--certType">
|
||||
The certificate type to issue SSH credentials for.
|
||||
|
||||
Default value: `user`
|
||||
|
||||
Available options: `user` or `host`
|
||||
</Accordion>
|
||||
<Accordion title="--ttl">
|
||||
The time-to-live (TTL) for the issued SSH certificate (e.g. `2 days`, `1d`, `2h`, `1y`).
|
||||
|
||||
Defaults to the Default TTL value set in the certificate template.
|
||||
</Accordion>
|
||||
<Accordion title="--keyId">
|
||||
A custom Key ID to issue SSH credentials for.
|
||||
|
||||
Defaults to the autogenerated Key ID by Infisical.
|
||||
Default value: `false`
|
||||
</Accordion>
|
||||
<Accordion title="--token">
|
||||
An authenticated token to use to issue SSH credentials.
|
||||
</Accordion>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="infisical ssh sign-key">
|
||||
This command is used to sign an existing SSH public key against a certificate template; the command outputs the corresponding signed SSH certificate.
|
||||
|
||||
```bash
|
||||
$ infisical ssh sign-key --certificateTemplateId=<certificate-template-id> --publicKey=<public-key> --principals=<principals> --outFilePath=<out-file-path>
|
||||
```
|
||||
<Accordion title="--certificateTemplateId">
|
||||
The ID of the SSH certificate template to issue the SSH certificate for.
|
||||
</Accordion>
|
||||
<Accordion title="--publicKey">
|
||||
The public key to sign.
|
||||
|
||||
Note that either the `--publicKey` or `--publicKeyFilePath` flag must be set for the sub-command to execute successfully.
|
||||
</Accordion>
|
||||
<Accordion title="--publicKeyFilePath">
|
||||
The path to the public key file to sign.
|
||||
|
||||
Note that either the `--publicKey` or `--publicKeyFilePath` flag must be set for the sub-command to execute successfully.
|
||||
</Accordion>
|
||||
<Accordion title="--principals">
|
||||
A comma-separated list of principals (i.e. usernames like `ec2-user` or hostnames) to issue SSH credentials for.
|
||||
</Accordion>
|
||||
<Accordion title="--outFilePath">
|
||||
The path to write the SSH certificate to such as `~/.ssh/id_rsa-cert.pub`; the specified file must have the `.pub` extension. If not provided, the credentials will be saved to the directory of the specified `--publicKeyFilePath` or the current working directory where the command is run.
|
||||
</Accordion>
|
||||
<Accordion title="--certType">
|
||||
The certificate type to issue SSH credentials for.
|
||||
|
||||
Default value: `user`
|
||||
|
||||
Available options: `user` or `host`
|
||||
</Accordion>
|
||||
<Accordion title="--ttl">
|
||||
The time-to-live (TTL) for the issued SSH certificate (e.g. `2 days`, `1d`, `2h`, `1y`).
|
||||
|
||||
Defaults to the Default TTL value set in the certificate template.
|
||||
</Accordion>
|
||||
<Accordion title="--keyId">
|
||||
A custom Key ID to issue SSH credentials for.
|
||||
|
||||
Defaults to the autogenerated Key ID by Infisical.
|
||||
</Accordion>
|
||||
<Accordion title="--token">
|
||||
An authenticated token to use to issue SSH credentials.
|
||||
Use a machine identity access token
|
||||
</Accordion>
|
||||
|
||||
</Accordion>
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "GitHub Team Sync"
|
||||
description: "Learn how to automatically synchronize your GitHub teams with Infisical Groups."
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The GitHub Organization Synchronization feature streamlines user and group management by automatically syncing users belonging to your specified GitHub organization with corresponding groups within Infisical. This integration ensures that users logging in via GitHub are automatically added to or removed from Infisical groups based on their team memberships within your GitHub organization.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable and configure GitHub Organization Synchronization, follow these steps:
|
||||
|
||||
<Steps>
|
||||
<Step title="Set up GitHub organization configuration">
|
||||
1. Navigate to **Organization Settings** and select the **Security Tab**.
|
||||

|
||||
2. Click the **Configure** button and provide the name of your GitHub Organization.
|
||||

|
||||
</Step>
|
||||
<Step title="Enable GitHub organization sync">
|
||||
Toggle ON GitHub Organization sync to activate sync.
|
||||

|
||||
</Step>
|
||||
<Step title="Approve the Infisical OAuth application on your organization">
|
||||
Connecting the Infisical OAuth application grants it permission to **read:org** details. This approval is done by selecting your organization during the GitHub OAuth login process.
|
||||
|
||||
1. Initiate the login process via the GitHub OAuth flow.
|
||||

|
||||
2. Select the organization you have connected.
|
||||
3. Grant access to Infisical oauth application to your configured organization. Infisical shown here is an organization, just for walkthrough.
|
||||

|
||||
|
||||
<Info>
|
||||
This action only needs to be done once and authorizes the Infisical OAuth app to read organization details, including team information.
|
||||
The following users don't need to select organization in GitHub on login anymore.
|
||||
</Info>
|
||||
</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
## Working
|
||||
|
||||
Once configured, the GitHub Organization Synchronization feature functions as follows:
|
||||
|
||||
When a user logs in via the GitHub OAuth flow and selects the configured organization, the system will then automatically synchronize the teams they are a part of in GitHub with corresponding groups in Infisical.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
<Accordion title="Please check if your organization has approved the Infisical OAuth application.">
|
||||
If you encounter an error related to this, it indicates that you need to approve the Infisical OAuth application within your GitHub organization.
|
||||
|
||||
You can verify the application's approval status by navigating to **https://github.com/organizations/__your-organization__/settings/oauth_application_policy**. Replace `__your-organization__` with the actual name of your GitHub organization.
|
||||
|
||||

|
||||
</Accordion>
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Auth0 Client Secret"
|
||||
title: "Auth0 Client Secret Rotation"
|
||||
description: "Learn how to automatically rotate Auth0 Client Secrets."
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
---
|
||||
title: "LDAP Password Rotation"
|
||||
description: "Learn how to automatically rotate LDAP passwords."
|
||||
---
|
||||
|
||||
<Note>
|
||||
Due to how LDAP passwords are rotated, retired credentials will not be able to
|
||||
authenticate with the LDAP provider during their [inactive period](./overview#how-rotation-works).
|
||||
|
||||
This is a limitation of the LDAP provider and cannot be
|
||||
rectified by Infisical.
|
||||
</Note>
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Create an [LDAP Connection](/integrations/app-connections/ldap) with the **Secret Rotation** requirements
|
||||
|
||||
## Create an LDAP Password Rotation in Infisical
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Infisical UI">
|
||||
1. Navigate to your Secret Manager Project's Dashboard and select **Add Secret Rotation** from the actions dropdown.
|
||||

|
||||
|
||||
2. Select the **LDAP Password** option.
|
||||

|
||||
|
||||
3. Select the **LDAP Connection** to use and configure the rotation behavior. Then click **Next**.
|
||||

|
||||
|
||||
- **LDAP Connection** - the connection that will perform the rotation of the configured DN's password.
|
||||
<Note>
|
||||
LDAP Password Rotations require an LDAP Connection that uses ldaps:// protocol.
|
||||
</Note>
|
||||
- **Rotation Interval** - the interval, in days, that once elapsed will trigger a rotation.
|
||||
- **Rotate At** - the local time of day when rotation should occur once the interval has elapsed.
|
||||
- **Auto-Rotation Enabled** - whether secrets should automatically be rotated once the rotation interval has elapsed. Disable this option to manually rotate secrets or pause secret rotation.
|
||||
<Note>
|
||||
Due to LDAP Password Rotations rotating a single credential set, auto-rotation may result in service interruptions. If you need to ensure service continuity, we recommend disabling this option.
|
||||
</Note>
|
||||
|
||||
|
||||
4. Specify the Distinguished Name (DN) of the principal whose password you want to rotate and configure the password requirements. Then click **Next**.
|
||||

|
||||
|
||||
5. Specify the secret names that the client credentials should be mapped to. Then click **Next**.
|
||||

|
||||
|
||||
- **DN** - the name of the secret that the principal's Distinguished Name (DN) will be mapped to.
|
||||
- **Password** - the name of the secret that the rotated password will be mapped to.
|
||||
|
||||
6. Give your rotation a name and description (optional). Then click **Next**.
|
||||

|
||||
|
||||
- **Name** - the name of the secret rotation configuration. Must be slug-friendly.
|
||||
- **Description** (optional) - a description of this rotation configuration.
|
||||
|
||||
7. Review your configuration, then click **Create Secret Rotation**.
|
||||

|
||||
|
||||
8. Your **LDAP Password** credentials are now available for use via the mapped secrets.
|
||||

|
||||
</Tab>
|
||||
<Tab title="API">
|
||||
To create an LDAP Password Rotation, make an API request to the [Create LDAP
|
||||
Password Rotation](/api-reference/endpoints/secret-rotations/ldap-password/create) API endpoint.
|
||||
|
||||
### Sample request
|
||||
|
||||
```bash Request
|
||||
curl --request POST \
|
||||
--url https://us.infisical.com/api/v2/secret-rotations/ldap-password \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"name": "my-ldap-rotation",
|
||||
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"description": "my ldap password rotation",
|
||||
"connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"environment": "dev",
|
||||
"secretPath": "/",
|
||||
"isAutoRotationEnabled": false,
|
||||
"rotationInterval": 30,
|
||||
"rotateAtUtc": {
|
||||
"hours": 0,
|
||||
"minutes": 0
|
||||
},
|
||||
"parameters": {
|
||||
"dn": "CN=John,CN=Users,DC=example,DC=com",
|
||||
"passwordRequirements": {
|
||||
"length": 48,
|
||||
"required": {
|
||||
"digits": 2,
|
||||
"lowercase": 2,
|
||||
"uppercase": 2,
|
||||
"symbols": 2
|
||||
},
|
||||
"allowedSymbols": "-_.~!*"
|
||||
}
|
||||
},
|
||||
"secretsMapping": {
|
||||
"dn": "LDAP_DN",
|
||||
"password": "LDAP_PASSWORD"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
<Note>
|
||||
Due to LDAP Password Rotations rotating a single credential set, auto-rotation may result in service interruptions. If you need to ensure service continuity, we recommend disabling this option.
|
||||
</Note>
|
||||
|
||||
### Sample response
|
||||
|
||||
```bash Response
|
||||
{
|
||||
"secretRotation": {
|
||||
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"name": "my-ldap-rotation",
|
||||
"description": "my ldap password rotation",
|
||||
"secretsMapping": {
|
||||
"dn": "LDAP_DN",
|
||||
"password": "LDAP_PASSWORD"
|
||||
},
|
||||
"isAutoRotationEnabled": false,
|
||||
"activeIndex": 0,
|
||||
"folderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"createdAt": "2023-11-07T05:31:56Z",
|
||||
"updatedAt": "2023-11-07T05:31:56Z",
|
||||
"rotationInterval": 30,
|
||||
"rotationStatus": "success",
|
||||
"lastRotationAttemptedAt": "2023-11-07T05:31:56Z",
|
||||
"lastRotatedAt": "2023-11-07T05:31:56Z",
|
||||
"lastRotationJobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"nextRotationAt": "2023-11-07T05:31:56Z",
|
||||
"connection": {
|
||||
"app": "ldap",
|
||||
"name": "my-ldap-connection",
|
||||
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
|
||||
},
|
||||
"environment": {
|
||||
"slug": "dev",
|
||||
"name": "Development",
|
||||
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
|
||||
},
|
||||
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"folder": {
|
||||
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"path": "/"
|
||||
},
|
||||
"rotateAtUtc": {
|
||||
"hours": 0,
|
||||
"minutes": 0
|
||||
},
|
||||
"lastRotationMessage": null,
|
||||
"type": "ldap-password",
|
||||
"parameters": {
|
||||
"dn": "CN=John,CN=Users,DC=example,DC=com",
|
||||
"passwordRequirements": {
|
||||
"length": 48,
|
||||
"required": {
|
||||
"digits": 2,
|
||||
"lowercase": 2,
|
||||
"uppercase": 2,
|
||||
"symbols": 2
|
||||
},
|
||||
"allowedSymbols": "-_.~!*"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Microsoft SQL Server Credentials"
|
||||
title: "Microsoft SQL Server Credentials Rotation"
|
||||
description: "Learn how to automatically rotate Microsoft SQL Server credentials."
|
||||
---
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "PostgreSQL Credentials"
|
||||
title: "PostgreSQL Credentials Rotation"
|
||||
description: "Learn how to automatically rotate PostgreSQL credentials."
|
||||
---
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 789 KiB |
|
After Width: | Height: | Size: 809 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 450 KiB |
|
After Width: | Height: | Size: 595 KiB |
|
After Width: | Height: | Size: 485 KiB |
|
After Width: | Height: | Size: 468 KiB |
|
After Width: | Height: | Size: 326 KiB |
|
After Width: | Height: | Size: 452 KiB |
|
After Width: | Height: | Size: 742 KiB |
|
After Width: | Height: | Size: 758 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 710 KiB |
|
After Width: | Height: | Size: 782 KiB |
|
After Width: | Height: | Size: 713 KiB |
|
After Width: | Height: | Size: 712 KiB |
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: "LDAP Connection"
|
||||
description: "Learn how to configure an LDAP Connection for Infisical."
|
||||
---
|
||||
|
||||
Infisical supports the use of [Simple Binding](https://ldap.com/the-ldap-bind-operation) to connect with your LDAP provider.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need the following information to establish an LDAP connection:
|
||||
|
||||
- **LDAP URL** - The LDAP/LDAPS URL to connect to (e.g., ldap://domain-or-ip:389 or ldaps://domain-or-ip:636)
|
||||
- **Binding DN** - The Distinguished Name (DN) of the principal to bind with (e.g., 'CN=John,CN=Users,DC=example,DC=com')
|
||||
- **Binding Password** - The password to bind with for authentication
|
||||
- **CA Certificate** - The SSL certificate (PEM format) to use for secure connection when using ldaps:// with a self-signed certificate
|
||||
|
||||
Depending on how you intend to use your LDAP connection, there may be additional requirements:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Secret Rotation">
|
||||
<Note>
|
||||
For Password Rotation, the following requirements must additionally be met:
|
||||
- You must use an LDAPS connection
|
||||
- The binding user must either have:
|
||||
- Permission to change other users passwords if rotating directory users' passwords
|
||||
- Permission to update their own password if rotating their personal password
|
||||
</Note>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## Setup LDAP Connection in Infisical
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Infisical UI">
|
||||
1. Navigate to the App Connections tab on the Organization Settings page.
|
||||

|
||||
|
||||
2. Select the **LDAP Connection** option.
|
||||

|
||||
|
||||
3. Select the **Simple Bind** method option and provide the details obtained from the previous section and press **Connect to Provider**.
|
||||

|
||||
|
||||
4. Your **LDAP Connection** is now available for use.
|
||||

|
||||
</Tab>
|
||||
<Tab title="API">
|
||||
To create an LDAP Connection, make an API request to the [Create LDAP
|
||||
Connection](/api-reference/endpoints/app-connections/ldap/create) API endpoint.
|
||||
|
||||
### Sample request
|
||||
|
||||
```bash Request
|
||||
curl --request POST \
|
||||
--url https://app.infisical.com/api/v1/app-connections/ldap \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"name": "my-ldap-connection",
|
||||
"method": "simple-bind",
|
||||
"credentials": {
|
||||
"provider": "active-directory",
|
||||
"url": "ldaps://domain-or-ip:636",
|
||||
"dn": "CN=John,CN=Users,DC=example,DC=com",
|
||||
"password": "<your-secure-password>",
|
||||
"sslRejectUnauthorized": true,
|
||||
"sslCertificate": "..."
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### Sample response
|
||||
|
||||
```bash Response
|
||||
{
|
||||
"appConnection": {
|
||||
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"name": "my-ldap-connection",
|
||||
"version": 1,
|
||||
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
|
||||
"createdAt": "2023-11-07T05:31:56Z",
|
||||
"updatedAt": "2023-11-07T05:31:56Z",
|
||||
"app": "ldap",
|
||||
"method": "simple-bind",
|
||||
"credentials": {
|
||||
"provider": "active-directory",
|
||||
"url": "ldaps://domain-or-ip:636",
|
||||
"dn": "CN=John,CN=Users,DC=example,DC=com",
|
||||
"sslRejectUnauthorized": true,
|
||||
"sslCertificate": "..."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
@@ -180,8 +180,9 @@
|
||||
"documentation/platform/secret-rotation/overview",
|
||||
"documentation/platform/secret-rotation/auth0-client-secret",
|
||||
"documentation/platform/secret-rotation/aws-iam-user-secret",
|
||||
"documentation/platform/secret-rotation/postgres-credentials",
|
||||
"documentation/platform/secret-rotation/mssql-credentials"
|
||||
"documentation/platform/secret-rotation/ldap-password",
|
||||
"documentation/platform/secret-rotation/mssql-credentials",
|
||||
"documentation/platform/secret-rotation/postgres-credentials"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -298,7 +299,8 @@
|
||||
"documentation/platform/scim/jumpcloud",
|
||||
"documentation/platform/scim/group-mappings"
|
||||
]
|
||||
}
|
||||
},
|
||||
"documentation/platform/github-org-sync"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -434,6 +436,7 @@
|
||||
"integrations/app-connections/github",
|
||||
"integrations/app-connections/hashicorp-vault",
|
||||
"integrations/app-connections/humanitec",
|
||||
"integrations/app-connections/ldap",
|
||||
"integrations/app-connections/mssql",
|
||||
"integrations/app-connections/postgres",
|
||||
"integrations/app-connections/teamcity",
|
||||
@@ -885,6 +888,19 @@
|
||||
"api-reference/endpoints/secret-rotations/aws-iam-user-secret/update"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "LDAP Password",
|
||||
"pages": [
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/create",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/delete",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/get-by-id",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/get-by-name",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/get-generated-credentials-by-id",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/list",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/rotate-secrets",
|
||||
"api-reference/endpoints/secret-rotations/ldap-password/update"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Microsoft SQL Server Credentials",
|
||||
"pages": [
|
||||
@@ -1049,6 +1065,18 @@
|
||||
"api-reference/endpoints/app-connections/humanitec/delete"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "LDAP",
|
||||
"pages": [
|
||||
"api-reference/endpoints/app-connections/ldap/list",
|
||||
"api-reference/endpoints/app-connections/ldap/available",
|
||||
"api-reference/endpoints/app-connections/ldap/get-by-id",
|
||||
"api-reference/endpoints/app-connections/ldap/get-by-name",
|
||||
"api-reference/endpoints/app-connections/ldap/create",
|
||||
"api-reference/endpoints/app-connections/ldap/update",
|
||||
"api-reference/endpoints/app-connections/ldap/delete"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Microsoft SQL Server",
|
||||
"pages": [
|
||||
|
||||