Merge branch 'main' into feat/azureClientSecretsRotation

This commit is contained in:
carlosmonastyrski
2025-04-29 19:26:14 -03:00
382 changed files with 9283 additions and 1029 deletions

View File

@@ -146,6 +146,34 @@ Infisical supports two methods for connecting to AWS.
</Accordion>
</AccordionGroup>
</Tab>
<Tab title="Secret Rotation">
<AccordionGroup>
<Accordion title="AWS IAM">
Use the following custom policy to grant the minimum permissions required by Infisical to rotate secrets to AWS Access Keys:
![IAM Role Secret Rotation Permissions](/images/app-connections/aws/iam-role-secret-rotation-permissions.png)
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:ListAccessKeys",
"iam:CreateAccessKey",
"iam:UpdateAccessKey",
"iam:DeleteAccessKey",
"iam:ListUsers"
],
"Resource": "*"
}
]
}
```
</Accordion>
</AccordionGroup>
</Tab>
</Tabs>
</Step>
@@ -293,6 +321,34 @@ Infisical supports two methods for connecting to AWS.
</Accordion>
</AccordionGroup>
</Tab>
<Tab title="Secret Rotation">
<AccordionGroup>
<Accordion title="AWS IAM">
Use the following custom policy to grant the minimum permissions required by Infisical to rotate secrets to AWS Access Keys:
![IAM Role Secret Rotation Permissions](/images/app-connections/aws/iam-role-secret-rotation-permissions.png)
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:ListAccessKeys",
"iam:CreateAccessKey",
"iam:UpdateAccessKey",
"iam:DeleteAccessKey",
"iam:ListUsers"
],
"Resource": "*"
}
]
}
```
</Accordion>
</AccordionGroup>
</Tab>
</Tabs>
</Step>
<Step title="Obtain Access Key ID and Secret Access Key">

View File

@@ -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.
![App Connections Tab](/images/app-connections/general/add-connection.png)
2. Select the **LDAP Connection** option.
![Select LDAP Connection](/images/app-connections/ldap/select-ldap-connection.png)
3. Select the **Simple Bind** method option and provide the details obtained from the previous section and press **Connect to Provider**.
![Create LDAP Connection](/images/app-connections/ldap/create-simple-bind-method.png)
4. Your **LDAP Connection** is now available for use.
![Assume Role LDAP Connection](/images/app-connections/ldap/simple-bind-connection.png)
</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>

View File

@@ -0,0 +1,119 @@
---
title: "TeamCity Connection"
description: "Learn how to configure a TeamCity Connection for Infisical."
---
Infisical supports connecting to TeamCity using an Access Token to securely sync your secrets to TeamCity.
## Setup TeamCity Connection in Infisical
<Steps>
<Step title="Navigate to your profile on TeamCity">
Navigate to the TeamCity **Profile** page by clicking on your profile icon in the bottom-left corner.
![TeamCity Main Page](/images/app-connections/teamcity/teamcity-main-page.png)
</Step>
<Step title="Select Access Tokens Tab">
Select the **Access Tokens** tab from the left sidebar navigation menu.
![TeamCity Token Page](/images/app-connections/teamcity/teamcity-token-page.png)
</Step>
<Step title="Create the Access Token">
Click the **Create access token** button and provide a name for your token (e.g., "Infisical Integration"). You may set an expiration date or leave it blank for no expiry.
The permission scope can either be **Same as current user** or **Limit per project**.
If you're choosing **Limit per project**, make sure you select the relevant project and enable the permissions relevant to your use case:
<Tabs>
<Tab title="Secret Sync Permissions">
- View build configuration settings
- Edit project
</Tab>
</Tabs>
![TeamCity Token Popup](/images/app-connections/teamcity/teamcity-token-popup.png)
<Note>
Setting your permission scope to **Same as current user** will allow your integration to access multiple projects as long as the current user has read and write access to them.
</Note>
<Note>
If you configure an expiry date for your access token, you must manually rotate to a new token before the expiration date to prevent service interruption.
</Note>
</Step>
<Step title="Copy the Access Token">
After creation, a modal with the Access Token will be displayed. Copy this token immediately and store it securely, as you won't be able to view it again after closing this dialog.
![TeamCity Token Copy Popup](/images/app-connections/teamcity/teamcity-token-copy.png)
</Step>
<Step title="Token Created">
You should now see your newly created token in the list of access tokens.
![TeamCity Token Created](/images/app-connections/teamcity/teamcity-token-created.png)
</Step>
<Step title="Setup TeamCity Connection in Infisical">
<Tabs>
<Tab title="Infisical UI">
1. Navigate to App Connections
In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab.
![App Connections Tab](/images/app-connections/general/add-connection.png)
2. Add Connection
Click the **+ Add Connection** button and select the **TeamCity Connection** option from the available integrations.
![Select TeamCity Connection](/images/app-connections/teamcity/teamcity-app-connection-option.png)
3. Fill the TeamCity Connection Modal
Complete the TeamCity Connection form by entering:
- A descriptive name for the connection
- The Access Token you generated in steps 3-4
- The URL of your TeamCity instance
- An optional description for future reference
![TeamCity Connection Modal](/images/app-connections/teamcity/teamcity-app-connection-modal.png)
4. Connection Created
After clicking Create, your **TeamCity Connection** is established and ready to use with your Infisical projects.
![TeamCity Connection Created](/images/app-connections/teamcity/teamcity-app-connection-created.png)
</Tab>
<Tab title="API">
To create a TeamCity Connection, make an API request to the [Create TeamCity
Connection](/api-reference/endpoints/app-connections/teamcity/create) API endpoint.
### Sample request
```bash Request
curl --request POST \
--url https://app.infisical.com/api/v1/app-connections/teamcity \
--header 'Content-Type: application/json' \
--data '{
"name": "my-teamcity-connection",
"method": "access-token",
"credentials": {
"accessToken": "...",
"instanceUrl": "https://yourcompany.teamcity.com"
}
}'
```
### Sample response
```bash Response
{
"appConnection": {
"id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6",
"name": "my-teamcity-connection",
"description": null,
"version": 1,
"orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c",
"createdAt": "2025-04-23T19:46:34.831Z",
"updatedAt": "2025-04-23T19:46:34.831Z",
"isPlatformManagedCredentials": false,
"credentialsHash": "7c2d371dec195f82a6a0d5b41c970a229cfcaf88e894a5b6395e2dbd0280661f",
"app": "teamcity",
"method": "access-token",
"credentials": {
"instanceUrl": "https://yourcompany.teamcity.com"
}
}
}
```
</Tab>
</Tabs>
</Step>
</Steps>