Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions links/hosted-private-cloud/opcp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
- [en-asia](https://www.ovhcloud.com/asia/hosted-private-cloud/onprem-cloud-platform/)
- [en-au](https://www.ovhcloud.com/en-au/hosted-private-cloud/onprem-cloud-platform/)
- [en-ca](https://www.ovhcloud.com/en-ca/hosted-private-cloud/onprem-cloud-platform/)
- [en-gb](https://www.ovhcloud.com/en-gb/hosted-private-cloud/onprem-cloud-platform/)
- [en-ie](https://www.ovhcloud.com/en-ie/hosted-private-cloud/onprem-cloud-platform//)
- [en-in](https://www.ovhcloud.com/en-in/hosted-private-cloud/onprem-cloud-platform/)
- [en-sg](https://www.ovhcloud.com/en-sg/hosted-private-cloud/onprem-cloud-platform/)
- [en-us](https://www.ovhcloud.com/en/hosted-private-cloud/onprem-cloud-platform/)
- [fr-ca](https://www.ovhcloud.com/fr-ca/hosted-private-cloud/onprem-cloud-platform/)
- [fr-fr](https://www.ovhcloud.com/fr/hosted-private-cloud/onprem-cloud-platform/)
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Para uma maior flexibilidade dos seus backups, pode ativar a opção Backup auto
A opção de Backup automatizado Premium cria um backup do seu VPS a cada 24 horas no horário especificado.
Você terá acesso a todos os backups diários dos últimos 7 dias. Uma vez criados 7 backups, cada novo backup substituirá o mais antigo.

Faça login no seu [Área de Cliente OVHcloudl](/links/manager), abra a seção `Bare Metal Cloud`{.action}, selecione `Servidor privado virtual`{.action} e, em seguida, clique no nome do seu VPS.
Faça login no seu [Área de Cliente OVHcloud](/links/manager), abra a seção `Bare Metal Cloud`{.action}, selecione `Servidor privado virtual`{.action} e, em seguida, clique no nome do seu VPS.

Clique na aba `Backup automatizado`{.action} no menu horizontal.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ updated: 2025-11-07

**OPCP** intègre une authentification centralisée avec **Keycloak**. Il est donc nécessaire de configurer la **CLI OpenStack** afin qu’il utilise Keycloak comme fournisseur d’identité (Identity Provider).

**Ce guide décrit les étapes nécessaires pour configurer **Keycloak** et la **CLI OpenStack** afin de permettre l’authentification via Keycloak.**
**Ce guide décrit les étapes nécessaires pour configurer Keycloak et la CLI OpenStack afin de permettre l’authentification via Keycloak.**

## Prérequis

Expand All @@ -25,9 +25,11 @@ Un client **Keycloak dédié** est nécessaire pour permettre à la CLI OpenStac
#### Étapes

1. **Connexion à l’interface d’administration Keycloak**
Connectez-vous à votre instance Keycloak et sélectionnez le *realm* dans lequel les utilisateurs OpenStack sont définis.

- Connectez-vous à votre instance Keycloak et sélectionnez le *realm* dans lequel les utilisateurs OpenStack sont définis.

2. **Création d’un nouveau client**

- Allez dans la section `Clients` et cliquez sur `Créer un client`{.action}.
- Renseignez un **Client ID**, par exemple :

Expand All @@ -38,10 +40,12 @@ Un client **Keycloak dédié** est nécessaire pour permettre à la CLI OpenStac
- Cliquez sur `Suivant`{.action}.

3. **Activation de l’authentification du client**

- Activez le **Client Authentication** (mettre sur **ON**).
- Cliquez sur `Suivant`{.action}, puis sur `Enregistrer`{.action}.

4. **Configuration des portées (Client Scopes)**

- Ouvrez l’onglet `Client Scopes`.
- Sélectionnez la portée nommée :

Expand All @@ -52,6 +56,7 @@ Un client **Keycloak dédié** est nécessaire pour permettre à la CLI OpenStac
- Cliquez sur `Configurer un nouveau mapper`{.action}.

5. **Ajout d’un mapper d’attributs de groupe utilisateur**

- Choisissez le type de mapper **aggregated-user-group-attribute-mapper**.
- Configurez les champs suivants :

Expand All @@ -64,25 +69,27 @@ Un client **Keycloak dédié** est nécessaire pour permettre à la CLI OpenStac
- Cliquez sur `Enregistrer`{.action}.

6. **Récupération des identifiants du client**

- Allez dans l’onglet `Credentials` du client que vous venez de créer.
- Copiez et conservez de manière sécurisée la **Client Secret** — il sera nécessaire lors de la configuration du CLI OpenStack.

---

### Configuration de la CLI OpenStack

Une fois le client Keycloak créé, la CLI OpenStack doit être configurée pour utiliser ce client comme fournisseur d'identité OIDC (OpenID Connect).

#### Étapes

1. **Installer les outils CLI OpenStack**
1. **Installer les outils CLI OpenStack**

Si ce n’est pas déjà fait :

```bash
sudo pip install python-openstackclient
```

2. **Définir les variables d’environnement pour l’authentification Keycloak**
2. **Définir les variables d’environnement pour l’authentification Keycloak**

Exemple :

```bash
Expand All @@ -100,68 +107,69 @@ Une fois le client Keycloak créé, la CLI OpenStack doit être configurée pour
export OS_PROJECT_ID="project-id"
```

> **Tips 1**
> : Vous pouvez utiliser le script suivant afin de générer le fichier de configuration openrc.sh facilement :

```bash
#!/usr/bin/env bash

read -p "Your environment's base FQDN (e.g. example.bmp.ovhgoldorack.ovh): " FQDN_ENV

read -p 'master or pod realm ? (master/pod): ' REALM
if [ "$REALM" != "master" ] && [ "$REALM" != "pod" ]; then
echo "Invalid input. Please enter either 'master' or 'pod'."
exit 1
fi
> **Tips 1**
> : Vous pouvez utiliser le script suivant afin de générer le fichier de configuration openrc.sh facilement :

read -p 'Keycloak client ID: ' KC_CLIENT_ID
read -srp 'Keycloak client secret: ' KC_CLIENT_SECRET && echo

read -p 'Keycloak username: ' KC_USERNAME_INPUT
read -srp 'Keycloak password: ' KC_PASSWORD_INPUT && echo

read -p 'Openstack Project ID (not the name): ' PROJECT_ID
```bash
#!/usr/bin/env bash

read -p "Your environment's base FQDN (e.g. example.bmp.ovhgoldorack.ovh): " FQDN_ENV

read -p 'master or pod realm ? (master/pod): ' REALM
if [ "$REALM" != "master" ] && [ "$REALM" != "pod" ]; then
echo "Invalid input. Please enter either 'master' or 'pod'."
exit 1
fi

read -p 'Keycloak client ID: ' KC_CLIENT_ID
read -srp 'Keycloak client secret: ' KC_CLIENT_SECRET && echo

read -p 'Keycloak username: ' KC_USERNAME_INPUT
read -srp 'Keycloak password: ' KC_PASSWORD_INPUT && echo

read -p 'Openstack Project ID (not the name): ' PROJECT_ID

printf "\n\nHere is your configuration, paste it to your shell or use the generate openrc.sh file\n\n"
cat << EOM
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL="https://keystone.${FQDN_ENV}"
export OS_AUTH_TYPE="v3oidcpassword"
export OS_PROTOCOL="openid"
export OS_IDENTITY_PROVIDER=$([ "$REALM" = "master" ] && echo "keycloak-admin" || echo "keycloak")
export OS_CLIENT_ID="$KC_CLIENT_ID"
export OS_CLIENT_SECRET="$KC_CLIENT_SECRET"
export OS_DISCOVERY_ENDPOINT="https://$([ "$REALM" = "master" ] && echo "admin.keycloak" || echo "keycloak").${FQDN_ENV}/realms/$REALM/.well-known/openid-configuration"
export OS_USERNAME="$KC_USERNAME_INPUT"
export OS_PASSWORD="$KC_PASSWORD_INPUT"
export OS_PROJECT_ID="$PROJECT_ID"
EOM

echo "#!/usr/bin/env bash

export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL="https://keystone.${FQDN_ENV}"
export OS_AUTH_TYPE="v3oidcpassword"
export OS_PROTOCOL="openid"
export OS_IDENTITY_PROVIDER=$([ "$REALM" = "master" ] && echo "keycloak-admin" || echo "keycloak")
export OS_CLIENT_ID="$KC_CLIENT_ID"
export OS_CLIENT_SECRET="$KC_CLIENT_SECRET"
export OS_DISCOVERY_ENDPOINT="https://$([ "$REALM" = "master" ] && echo "admin.keycloak" || echo "keycloak").${FQDN_ENV}/realms/$REALM/.well-known/openid-configuration"
export OS_USERNAME="$KC_USERNAME_INPUT"
export OS_PASSWORD="$KC_PASSWORD_INPUT"
export OS_PROJECT_ID="$PROJECT_ID > $PROJECT_ID."-openrc.sh"
```

printf "\n\nHere is your configuration, paste it to your shell or use the generate openrc.sh file\n\n"
cat << EOM
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL="https://keystone.${FQDN_ENV}"
export OS_AUTH_TYPE="v3oidcpassword"
export OS_PROTOCOL="openid"
export OS_IDENTITY_PROVIDER=$([ "$REALM" = "master" ] && echo "keycloak-admin" || echo "keycloak")
export OS_CLIENT_ID="$KC_CLIENT_ID"
export OS_CLIENT_SECRET="$KC_CLIENT_SECRET"
export OS_DISCOVERY_ENDPOINT="https://$([ "$REALM" = "master" ] && echo "admin.keycloak" || echo "keycloak").${FQDN_ENV}/realms/$REALM/.well-known/openid-configuration"
export OS_USERNAME="$KC_USERNAME_INPUT"
export OS_PASSWORD="$KC_PASSWORD_INPUT"
export OS_PROJECT_ID="$PROJECT_ID"
EOM
> **Tips: Configuration d'un proxy**
> Si vous utilisez un proxy pour accéder a votre service, vous devez configurer vos variables d'environnement pour prendre en compte ce proxy.

echo "#!/usr/bin/env bash
Pour ce faire, ajoutez les lignes de commande suivantes :

export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL="https://keystone.${FQDN_ENV}"
export OS_AUTH_TYPE="v3oidcpassword"
export OS_PROTOCOL="openid"
export OS_IDENTITY_PROVIDER=$([ "$REALM" = "master" ] && echo "keycloak-admin" || echo "keycloak")
export OS_CLIENT_ID="$KC_CLIENT_ID"
export OS_CLIENT_SECRET="$KC_CLIENT_SECRET"
export OS_DISCOVERY_ENDPOINT="https://$([ "$REALM" = "master" ] && echo "admin.keycloak" || echo "keycloak").${FQDN_ENV}/realms/$REALM/.well-known/openid-configuration"
export OS_USERNAME="$KC_USERNAME_INPUT"
export OS_PASSWORD="$KC_PASSWORD_INPUT"
export OS_PROJECT_ID="$PROJECT_ID > $PROJECT_ID."-openrc.sh"
```

> **Tips: Configuration d'un proxy**
> Si vous utilisez un proxy pour accéder a votre service, vous devez configurer vos variables d'environnement pour prendre en compte ce proxy.
Pour ce faire, ajoutez les lignes de commande suivantes :

```bash
export https_proxy=http://your-adress-ip:port/
export http_proxy=http://your-adress-ip:port/
```
```bash
export https_proxy=http://your-adress-ip:port/
export http_proxy=http://your-adress-ip:port/
```

### Vérification de la configuration

Expand All @@ -175,7 +183,6 @@ openstack server list

Si ces commandes retournent des résultats, l’intégration **Keycloak ↔ OpenStack** est correctement configurée.

---

### Dépannage (Troubleshooting)

Expand All @@ -185,12 +192,9 @@ Si ces commandes retournent des résultats, l’intégration **Keycloak ↔ Open
| `Unauthorized` | L’utilisateur n’est pas associé au bon groupe ou projet | Vérifiez les attributs `project` de l’utilisateur dans Keycloak |
| `OIDC discovery failed` | Mauvaise URL dans `DISCOVERY_ENDPOINT` | Assurez-vous qu’elle pointe bien vers le *realm* correct de Keycloak |

---

### Références

- [Documentation Keycloak – OpenID Connect](https://www.keycloak.org/docs/latest/server_admin/#_oidc)
- [Documentation OpenStack Keystone](https://docs.openstack.org/keystone/latest/)
- [Documentation OVHcloud OPCP](https://docs.opcp.ovh)

---
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Le tableau ci-dessous vous permet de différencier les options disponibles sur v
- [Depuis l’interface Horizon](#horizon-unshelve)
- [Depuis les API Openstack/Nova](#openstack-nova-unshelve)
- [Éteindre (suspend) une instance](#stop-suspend-instance)
- [Depuis l’espace client OVHcloudl](#stop-control-panel)
- [Depuis l’espace client OVHcloud](#stop-control-panel)
- [Depuis l’interface Horizon](#stop-horizon)
- [Depuis les API Openstack/Nova](#stop-openstack-nova)
- [Mettre en pause une instance](#pause-instance)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Le tableau ci-dessous vous permet de différencier les options disponibles sur v
- [Depuis l’interface Horizon](#horizon-unshelve)
- [Depuis les API Openstack/Nova](#openstack-nova-unshelve)
- [Éteindre (suspend) une instance](#stop-suspend-instance)
- [Depuis l’espace client OVHcloudl](#stop-control-panel)
- [Depuis l’espace client OVHcloud](#stop-control-panel)
- [Depuis l’interface Horizon](#stop-horizon)
- [Depuis les API Openstack/Nova](#stop-openstack-nova)
- [Mettre en pause une instance](#pause-instance)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ La tabella qui sotto ti permette di differenziare le opzioni disponibili sulle t
- [Dall'interfaccia Horizon](#horizon-unshelve)
- [Dalle API OpenStack/Nova](#openstack-nova-unshelve)
- [Spegnere (suspend) un'istanza](#stop-suspend-instance)
- [Nello Spazio Cliente OVHcloudl](#stop-control-panel)
- [Nello Spazio Cliente OVHcloud](#stop-control-panel)
- [Dall'interfaccia Horizon](#stop-horizon)
- [Dalle API OpenStack/Nova](#stop-openstack-nova)
- [Mettere in pausa un'istanza](#pause-instance)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Poniższa tabela pozwoli Ci odróżnić opcje dostępne dla Twoich instancji. Ko
- [Z poziomu interfejsu Horizon](#horizon-unshelve)
- [Korzystanie z API OpenStack/Nova](#openstack-nova-unshelve)
- [Wyłącz (suspend) instancję](#stop-suspend-instance)
- [W Panelu klienta OVHcloudl](#stop-control-panel)
- [W Panelu klienta OVHcloud](#stop-control-panel)
- [Z poziomu interfejsu Horizon](#stop-horizon)
- [Korzystanie z API OpenStack/Nova](#stop-openstack-nova)
- [Wstrzymaj instancję](#pause-instance)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ A tabela abaixo permite-lhe diferenciar as opções disponíveis nas suas instâ
- [Da interface Horizon](#horizon-unshelve)
- [Utilização das API OpenStack/Nova](#openstack-nova-unshelve)
- [Desativar (suspend) uma instância](#stop-suspend-instance)
- [Da Área de Cliente OVHcloudl](#stop-control-panel)
- [Da Área de Cliente OVHcloud](#stop-control-panel)
- [Da interface Horizon](#stop-horizon)
- [Utilização das API OpenStack/Nova](#stop-openstack-nova)
- [Colocar em pausa uma instância (*pause*)](#pause-instance)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ All diagnostics in step 1 must be performed **without exception** to determine w

To ensure that your services (shared hosting **and** database) are not undergoing maintenance or an incident, retrieve the cluster and filer information of your web hosting as well as the general information relating to your database. You can then check their status at [status.ovhcloud.com](https://web-cloud.status-ovhcloud.com/).

o find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.
To find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.

![Retrieve Filer](/pages/assets/screens/control_panel/product-selection/web-cloud/web-hosting/general-information/find-filer.png){.thumbnail}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ All diagnostics in step 1 must be performed **without exception** to determine w

To ensure that your services (shared hosting **and** database) are not undergoing maintenance or an incident, retrieve the cluster and filer information of your web hosting as well as the general information relating to your database. You can then check their status at [status.ovhcloud.com](https://web-cloud.status-ovhcloud.com/).

o find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.
To find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.

![Retrieve Filer](/pages/assets/screens/control_panel/product-selection/web-cloud/web-hosting/general-information/find-filer.png){.thumbnail}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ All diagnostics in step 1 must be performed **without exception** to determine w

To ensure that your services (shared hosting **and** database) are not undergoing maintenance or an incident, retrieve the cluster and filer information of your web hosting as well as the general information relating to your database. You can then check their status at [status.ovhcloud.com](https://web-cloud.status-ovhcloud.com/).

o find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.
To find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.

![Retrieve Filer](/pages/assets/screens/control_panel/product-selection/web-cloud/web-hosting/general-information/find-filer.png){.thumbnail}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ All diagnostics in step 1 must be performed **without exception** to determine w

To ensure that your services (shared hosting **and** database) are not undergoing maintenance or an incident, retrieve the cluster and filer information of your web hosting as well as the general information relating to your database. You can then check their status at [status.ovhcloud.com](https://web-cloud.status-ovhcloud.com/).

o find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.
To find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.

![Retrieve Filer](/pages/assets/screens/control_panel/product-selection/web-cloud/web-hosting/general-information/find-filer.png){.thumbnail}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ All diagnostics in step 1 must be performed **without exception** to determine w

To ensure that your services (shared hosting **and** database) are not undergoing maintenance or an incident, retrieve the cluster and filer information of your web hosting as well as the general information relating to your database. You can then check their status at [status.ovhcloud.com](https://web-cloud.status-ovhcloud.com/).

o find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.
To find out the cluster and filer of your hosting, log in to your [OVHcloud Control Panel](/links/manager), go to the `Web Cloud`{.action} section, click on `Hosting plans`{.action} then select the web hosting plan concerned. In the `General information`{.action} tab you can see the `Datacenter` and `Filer` of your web hosting.

![Retrieve Filer](/pages/assets/screens/control_panel/product-selection/web-cloud/web-hosting/general-information/find-filer.png){.thumbnail}

Expand Down
Loading