0
0
mirror of https://github.com/netdata/netdata.git synced 2024-12-04 12:57:29 +00:00
netdata_netdata/integrations/cloud-authentication/metadata.yaml

204 lines
10 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# yamllint disable rule:line-length
---
- id: 'okta-authentication'
meta:
name: 'Okta SSO'
link: 'https://netdata.cloud'
categories:
- auth
icon_filename: 'okta.png'
keywords:
- sso
- okta
- okta-sso
overview:
authentication_description: "Integrate your organization's Okta account with Netdata to better manage your team's access controls to Netdata Cloud."
authentication_limitations: ''
setup:
description: |
### Prerequisites
- An Okta account
- A Netdata Cloud account
- Access to the Space as an **Admin**
- Space needs to be on a paid plan
### Setting up Okta
Steps needed to be done on Okta Admin Portal:
1. Click on **Applications** tab and choose to **Browse App Catalogue**
2. Find Netdata's preconfigured app for easy setup and click **Add Integration**
3. Give the app, that will be in your apps dashboard, the preferred **Application label** and click **Next** to move to the Sign-On options tab
4. In the **Sign-On Options** all the values we expect are already filled and no additional data is required
5. Click **Done**. You are able to go back and edit any fields later if need be
6. Go to the **Assignments** tab and enter the People or Group assignments as per your organizations policies
### Netdata Configuration Steps
1. Click on the Space settings cog (located above your profile icon)
2. Click on the **User Management** section and access **Authentication and Authorization** tab.
3. On the Okta SSO card, click on **Configure**
4. Fill in the [required credentials](https://developer.okta.com/docs/guides/find-your-app-credentials/main/), you get them from **Okta Admin Portal**:
- **Issuer URL** you can get it from your profile icon on top, e.g. `https://company-name.okta.com`
- **Client ID** you can get it from **General** tab on application you configured on Okta
- **Client Secret** you can get it from **General** tab on application you configured on Okta
### Supported features
* SP-initiated SSO (Single Sign-On)
* IdP-initiated SSO
### SP-initiated SSO
If you start your authentication flow from Netdata sign-in page please check [these steps](/docs/netdata-cloud/authentication-and-authorization/enterprise-sso-authentication.md#from-netdata-sign-up-page).
- id: 'oidc-authentication'
meta:
name: 'OIDC'
link: 'https://netdata.cloud'
categories:
- auth
icon_filename: 'openid.svg'
keywords:
- sso
- oidc
overview:
authentication_description: "Integrate your organization's Authorization Servers with Netdata to better manage your team's access controls to Netdata Cloud."
authentication_limitations: ''
setup:
description: |
### Prerequisites
- Authorization Server with OIDC protocol supported
- A Netdata Cloud account
- Access to the Space as an **Admin**
- Space needs to be on a paid plan
### Setting up Authorization Server
Your server should follow the [full specification for OIDC](https://openid.net/specs/openid-connect-core-1_0.html).
In order to integrate your Authorization Server with Netdata the creation of a client is required. Clients are applications and services that can request authentication of a user.
The access settings for your client are the following:
| field | value |
| :-- | :-- |
| Root URL | `https://app.netdata.cloud/`` |
| Home/Initiate login URL | `https://app.netdata.cloud/api/v2/auth/account/auth-server?iss={your-server-issuer-url}&redirect_uri=https://app.netdata.cloud/sign-in&register_uri=https://app.netdata.cloud/sign-up/verify` |
| Redirect URL | `https://app.netdata.cloud/api/v2/auth/account/auth-server/callback` |
### Netdata Configuration Steps
1. Click on the Space settings cog (located above your profile icon)
2. Click on the **User Management** section and access **Authentication and Authorization** tab.
3. On the OIDC card, click on **Configure**
4. Fill in the required credentials:
- **Issuer URL** the Authorization Server Issuer URL, e.g. `https://my-auth-server.com/`
- **Client ID** the Client ID from the created client
- **Client Secret** the Client Secret from the created client
- **Authorization URL** the Authorization Server authorization URL, e.g. `https://my-auth-server.com/openid-connect/auth`
- **Token URL** the Authorization Server token URL, e.g. `https://my-auth-server.com/openid-connect/token`
- **User URL** the Authorization Server user info URL, e.g. `https://my-auth-server.com/openid-connect/userinfo`
### Supported features
* SP-initiated SSO (Single Sign-On)
* IdP-initiated SSO
### SP-initiated SSO
If you start your authentication flow from Netdata sign-in page please check [these steps](/docs/netdata-cloud/authentication-and-authorization/enterprise-sso-authentication.md#from-netdata-sign-up-page).
### Reference
https://openid.net/developers/how-connect-works/
- id: 'scim'
meta:
name: 'SCIM'
link: 'https://netdata.cloud'
categories:
- auth
icon_filename: 'scim.svg'
keywords:
- scim
- identity-management
overview:
authentication_description: "The System for Cross-domain Identity Management (SCIM) specification is designed to simplify the management of user identities in cloud-based applications and services."
authentication_limitations: ''
setup:
description: |
### Prerequisites
- A Netdata Cloud account
- Admin access to the Space
- The Space must be on a paid plan
- OIDC/SSO integration must already be enabled in one of your Spaces
### Supported Features
This integration adheres to SCIM v2 specifications. Supported features include:
- User Resource Management (urn:ietf:params:scim:schemas:core:2.0:User)
- Create users
- Update user attributes
- Deactivate users
- Patch operations: Supported
- Bulk operations: Not supported
- Filtering: Supported (max results: 200)
- Password synchronization: Not supported, as we rely on SSO/OIDC authentication
- eTag: Not supported
- Authentication schemes: OAuth Bearer Token
### Netdata Configuration Steps
1. Click on the Space settings cog (located above your profile icon).
2. Click on the **User Management** section and access **Authentication and Authorization** tab.
3. In the SCIM card, click on **Activate**.
4. Depending on your situation:
- If OIDC/SSO integration is already enabled in your Space, click **Activate**.
- If you already have a SCIM integration in another Space and want to create a linked integration here, enter the SCIM token from the original integration and click **Activate**.
5. If the setup is successful, you will receive two parameters:
- **Base URL**: Use this URL as the base URL for your SCIM client.
- **Token**: Use this token for Bearer Authentication with your SCIM client.
## Client Configuration Steps
### Okta
If you're configuring SCIM in Okta, and you already have the Token from the previous section, follow these steps:
1. Go to the **Applications** menu on the left-hand panel and select the **Netdata** application.
2. In the **Netdata** application, navigate to the **Provisioning** tab.
3. Click on **Configure API Integration** and check the box for **Enable API Integration**.
4. Enter the Token (obtained in the *Netdata Configuration Steps* section) into the **API Token** field, then click **Test API Credentials** to ensure the connection is successful.
5. If the test is successful, click **Save** to apply the configuration.
## Troubleshoot
### Rotating the SCIM Token
You can rotate the token provided during SCIM integration setup if needed.
Steps to rotate the token:
1. Click on the Space settings cog (located above your profile icon).
2. Click on the **User Management** section and access **Authentication and Authorization** tab.
3. In the already configured SCIM card, click **Configure**.
4. Click **Regenerate Token**.
5. If successful, you will receive a new token for Bearer Authentication with your SCIM client.
### User Keying Between SCIM and OIDC
Our SCIM (System for Cross-domain Identity Management) integration utilizes OIDC (OpenID Connect) to authenticate users.
To ensure users are correctly identified and authenticated between SCIM and OIDC, we use the following mapping:
- SCIM externalID ↔ OIDC sub
This mapping ensures that the identity of users remains consistent and secure across both systems.
**Important**: Ensure that your OIDC and SCIM systems follow this mapping strictly.
The externalID in SCIM must correspond to the subfield in OIDC. Any deviation from this mapping may result
in incorrect user identification and authentication failures.
## FAQ
### Why arent users automatically added to Netdata spaces when theyre created through SCIM?
Currently, our SCIM server supports only the User resource. We plan to add support for the Group resource in the future.
In a Netdata space, users can belong to multiple rooms and have different roles (e.g., admin, manager). Additionally, the same organization may have multiple spaces.
As we don't yet support groups, when a user is created through SCIM, we dont have a way to determine which spaces, rooms, and roles the user should be assigned to.
Once we implement support for the Group resource, admins will be able to map SCIM groups to Netdata memberships, so this assignment will be done automatically.
Until then, SCIM can only be used to grant or block access to Netdata for users in your organization. After a user is created, it is up to the Netdata administrator to manually invite them to spaces, rooms and assign roles.
### Reference
[SCIM Specification](https://scim.org)