doc-locale/fr-fr/administration/dedicated/encryption.md
{{< details >}}
{{< /details >}}
GitLab Dedicated chiffre toutes les données au repos et en transit en utilisant le standard de chiffrement avancé (AES) avec un chiffrement 256 bits via le service de gestion de clés AWS (KMS).
Toutes les données au repos utilisent le chiffrement en enveloppe, où vos données sont protégées par plusieurs couches de clés de chiffrement.
Chaque service implémente le chiffrement différemment :
| Service | Méthode de chiffrement |
|---|---|
| Amazon S3 (SSE-S3) | Utilise le chiffrement par objet, où chaque objet est chiffré avec sa propre clé unique, qui est ensuite chiffrée par une clé racine gérée par AWS. |
| Amazon EBS | Utilise le chiffrement au niveau du volume avec une clé de chiffrement de données (DEK) générée par KMS. |
| Amazon RDS (PostgreSQL) | Utilise le chiffrement au niveau du stockage avec une DEK générée par KMS. |
| KMS | Gère les clés de chiffrement dans une hiérarchie de clés gérée par AWS, protégée par un module de sécurité matérielle (HSM). |
Dans ce système de chiffrement en enveloppe :
Ce processus de chiffrement en enveloppe fonctionne en faisant dériver à KMS les clés de chiffrement de données spécifiquement pour chaque opération de chiffrement. La clé de chiffrement de données (DEK) chiffre directement vos données, tandis que la DEK elle-même est chiffrée par la clé de chiffrement, créant ainsi une enveloppe sécurisée autour de vos données.
Toutes les données en transit utilisent le protocole TLS (Transport Layer Security) avec des suites de chiffrement robustes pour protéger les données lors de leur déplacement entre les services et les connexions réseau.
Chaque service utilise TLS :
| Service | Méthode de chiffrement |
|---|---|
| Application web | TLS 1.2/1.3 pour la communication client-serveur |
| Amazon S3 | TLS 1.2/1.3 pour l'accès HTTPS |
| Amazon EBS | TLS pour la réplication des données entre les centres de données AWS |
| Amazon RDS (PostgreSQL) | Secure Sockets Layer (SSL)/TLS (TLS 1.2 minimum) pour les connexions aux bases de données |
| AWS KMS | TLS pour les requêtes API |
Les certificats TLS sont générés et gérés par défaut. Vous pouvez éventuellement configurer des certificats TLS personnalisés pour utiliser les certificats de votre organisation à la place. Pour plus d'informations, consultez les autorités de certification personnalisées pour les services externes.
Les options de chiffrement suivantes sont disponibles :
Par défaut, GitLab gère toute la configuration du chiffrement pour votre instance. Aucune configuration n'est requise et GitLab configure le chiffrement sur tous les services automatiquement.
Les clés sont protégées par des contrôles de sécurité basés sur le module de sécurité matérielle (HSM) AWS qui empêchent tout accès non autorisé à vos clés de chiffrement et garantissent que vos données restent chiffrées.
[!warning] Les clés de chiffrement gérées par le client doivent être configurées lors de l'intégration de l'instance. Une fois activées, elles ne peuvent pas être désactivées ou modifiées après le provisionnement.
Les clés de chiffrement gérées par le client vous donnent un contrôle direct sur les clés qui protègent vos données au repos.
Vous créez et gérez des clés AWS KMS dans votre propre compte AWS, puis vous les configurez lorsque vous créez votre instance. GitLab utilise vos clés pour chiffrer les données, mais vous conservez le contrôle total sur les politiques d'accès aux clés, la rotation et la gestion du cycle de vie via votre compte AWS.
Vous pouvez configurer des clés à différents niveaux :
En raison des exigences de rotation des clés, votre instance ne prend en charge que les clés pour lesquelles AWS génère le matériel de clé cryptographique (le type d'origine AWS_KMS), plutôt que les clés pour lesquelles vous importez votre propre matériel de clé. Pour plus d'informations, consultez créer des clés primaires multi-régions.
Prérequis :
Pour créer vos propres clés de chiffrement :
Connectez-vous à la console de gestion AWS et accédez au service KMS.
Sélectionnez la région dans laquelle vous souhaitez créer une clé.
Sélectionnez Create key.
Dans la section Configure key :
Saisissez un alias, une description et des balises pour votre clé.
Sélectionnez les utilisateurs et rôles IAM pouvant administrer la clé.
Facultatif. Décochez Allow key administrators to delete this key pour éviter toute suppression accidentelle.
Sur la page Define key usage permissions, dans la section Other AWS accounts, saisissez l'identifiant de compte GitLab AWS fourni par votre équipe de compte.
Vérifiez que la politique de clé KMS correspond à l'exemple suivant. Remplacez les valeurs de remplacement par vos identifiants de compte et noms d'utilisateur. Les restrictions supplémentaires au-delà de cette politique ne sont pas prises en charge.
[!note] Supprimez toutes les conditions ou restrictions supplémentaires, y compris celles qu'AWS pourrait générer automatiquement comme
kms:GrantIsForAWSResource.
{
"Version": "2012-10-17",
"Id": "byok-key-policy",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<CUSTOMER-ACCOUNT-ID>:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::<CUSTOMER-ACCOUNT-ID>:user/<CUSTOMER-USER>"
]
},
"Action": [
"kms:Create*",
"kms:Describe*",
"kms:Enable*",
"kms:List*",
"kms:Put*",
"kms:Update*",
"kms:Revoke*",
"kms:Disable*",
"kms:Get*",
"kms:Delete*",
"kms:TagResource",
"kms:UntagResource",
"kms:ScheduleKeyDeletion",
"kms:CancelKeyDeletion",
"kms:ReplicateKey",
"kms:UpdatePrimaryRegion"
],
"Resource": "*"
},
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::<GITLAB-ACCOUNT-ID>:root"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::<GITLAB-ACCOUNT-ID>:root"
]
},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*"
}
]
}
Créez des clés de réplica lorsque vous souhaitez utiliser la même clé de chiffrement sur plusieurs instances Geo dans différentes régions. Pour plus d'informations, consultez créer des clés de réplica multi-régions.
Prérequis :
Pour créer des clés de réplica :