

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# AWS Secrets Manager meilleures pratiques
<a name="best-practices"></a>

Secrets Manager fournit un certain nombre de fonctionnalités de sécurité à prendre en compte lors de l'élaboration et de la mise en œuvre de vos propres politiques de sécurité. Les bonnes pratiques suivantes doivent être considérées comme des instructions générales et ne représentent pas une solution de sécurité complète. Étant donné que ces bonnes pratiques peuvent ne pas être appropriées ou suffisantes pour votre environnement, considérez-les comme des remarques utiles plutôt que comme des recommandations.

**Topics**
+ [Stockez les informations d'identification et autres informations sensibles dans AWS Secrets Manager](#best-practices-store-secrets-safely)
+ [Trouvez des secrets non protégés dans votre code](#w2aab9b9)
+ [Choisissez une clé de chiffrement pour votre secret](#w2aab9c11)
+ [Utiliser la mise en cache pour récupérer des secrets](#w2aab9c13)
+ [Rotation de vos secrets](#w2aab9c15)
+ [Atténuer les risques liés à l'utilisation de la CLI](#w2aab9c17)
+ [Limitez l'accès aux secrets](#w2aab9c19)
+ [Répliquez les secrets](#w2aab9c21)
+ [Surveillance des secrets](#w2aab9c23)
+ [Gérez votre infrastructure sur des réseaux privés](#w2aab9c25)

## Stockez les informations d'identification et autres informations sensibles dans AWS Secrets Manager
<a name="best-practices-store-secrets-safely"></a>

Secrets Manager peut vous aider à améliorer votre niveau de sécurité et votre conformité, et à réduire le risque d'accès non autorisé à vos informations sensibles. Secrets Manager chiffre les secrets au repos à l'aide des clés de chiffrement que vous possédez et dans lesquelles vous les stockez AWS Key Management Service (AWS KMS). Lorsque vous récupérez un secret, Secrets Manager le déchiffre et le transmet de manière sécurisée via TLS à votre environnement local. Pour de plus amples informations, veuillez consulter [Créez un AWS Secrets Manager secret](create_secret.md).

## Trouvez des secrets non protégés dans votre code
<a name="w2aab9b9"></a>

CodeGuru Reviewer s'intègre à Secrets Manager pour utiliser un détecteur de secrets qui détecte les secrets non protégés dans votre code. Le détecteur de secrets recherche les mots de passe codés en dur, les chaînes de connexion à la base de données, les noms d'utilisateur, etc. Pour de plus amples informations, veuillez consulter [Trouvez des secrets non protégés dans votre code avec Amazon Reviewer CodeGuru](integrating-codeguru.md).

Amazon Q peut analyser votre base de code pour détecter les failles de sécurité et les problèmes de qualité du code afin d'améliorer la posture de vos applications tout au long du cycle de développement. Pour plus d'informations, consultez la section [Numérisation de votre code avec Amazon Q](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security-scans.html) dans le manuel *Amazon Q Developer User Guide*.

## Choisissez une clé de chiffrement pour votre secret
<a name="w2aab9c11"></a>

Dans la plupart des cas, nous recommandons d'utiliser la clé `aws/secretsmanager` AWS gérée pour chiffrer les secrets. Son utilisation est gratuite.

Pour accéder à un secret depuis un autre compte ou pour appliquer une politique de clé à la clé de chiffrement, utilisez une clé gérée par le client pour chiffrer le secret.
+ Dans la politique clé, attribuez la valeur `secretsmanager.<region>.amazonaws.com` à la clé de [https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service)condition. Cela limite l'utilisation de la clé aux seules demandes provenant de Secrets Manager.
+ Pour limiter davantage l'utilisation de la clé aux seules demandes émanant de Secrets Manager présentant le contexte approprié, utilisez des clés ou des valeurs dans le [contexte de chiffrement de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-encryption-context) comme condition d'utilisation de la clé KMS en créant :
  + Un [opérateur de condition de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String) dans une politique IAM ou une politique clé
  + Une [contrainte d'octroi](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) dans un octroi

Pour de plus amples informations, veuillez consulter [Chiffrement et déchiffrement secrets dans AWS Secrets Manager](security-encryption.md).

## Utiliser la mise en cache pour récupérer des secrets
<a name="w2aab9c13"></a>

Pour utiliser vos secrets le plus efficacement possible, nous vous recommandons d'utiliser l'un des composants de mise en cache pris en charge par Secrets Manager suivants pour les mettre en cache et les mettre à jour uniquement lorsque cela est nécessaire :
+ [Java avec mise en cache côté client](retrieving-secrets_cache-java.md)
+ [Python avec mise en cache côté client](retrieving-secrets_cache-python.md)
+ [.NET avec mise en cache côté client](retrieving-secrets_cache-net.md)
+ [Optez pour la mise en cache côté client](retrieving-secrets_cache-go.md)
+ [Rust avec mise en cache côté client](retrieving-secrets_cache-rust.md)
+ [AWS Paramètres et secrets de l'extension Lambda](retrieving-secrets_lambda.md)
+ [Utiliser des AWS Secrets Manager secrets dans Amazon Elastic Kubernetes Service](integrate_eks.md)
+ [Utilisation de l' AWS Secrets Manager agent](secrets-manager-agent.md)À utiliser pour standardiser la consommation des secrets issus de Secrets Manager dans des environnements tels qu' AWS Lambda Amazon Elastic Container Service, Amazon Elastic Kubernetes Service et Amazon Elastic Compute Cloud. 

## Rotation de vos secrets
<a name="w2aab9c15"></a>

Si vous ne modifiez pas vos secrets pendant une longue période, ceux-ci risquent davantage d'être compromis. Avec Secrets Manager, vous pouvez configurer une rotation automatique toutes les quatre heures. Secrets Manager propose deux stratégies de rotation : [Utilisateur unique](rotation-strategy.md#rotating-secrets-one-user-one-password) et[Utilisateurs en alternance](rotation-strategy.md#rotating-secrets-two-users). Pour de plus amples informations, veuillez consulter [Faire pivoter AWS Secrets Manager les secrets](rotating-secrets.md).

## Atténuer les risques liés à l'utilisation de la CLI
<a name="w2aab9c17"></a>

Lorsque vous utilisez les AWS opérations AWS CLI pour appeler, vous entrez ces commandes dans un interpréteur de commandes. La plupart des interfaces de commande proposent des fonctionnalités susceptibles de compromettre vos secrets, telles que la journalisation et la possibilité de voir la dernière commande saisie. Avant d'utiliser le AWS CLI pour saisir des informations sensibles, assurez-vous de le faire[Réduisez les risques liés AWS CLI à l'utilisation du pour stocker vos AWS Secrets Manager secrets](security_cli-exposure-risks.md).

## Limitez l'accès aux secrets
<a name="w2aab9c19"></a>

Dans les déclarations de politique IAM qui contrôlent l'accès à vos secrets, utilisez le principe de l'[accès le moins privilégié](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Vous pouvez utiliser les [rôles et politiques IAM, les politiques](auth-and-access_iam-policies.md) de [ressources](auth-and-access_resource-policies.md) et le [contrôle d'accès basé sur les attributs (](auth-and-access-abac.md)ABAC). Pour de plus amples informations, veuillez consulter [Authentification et contrôle d'accès pour AWS Secrets Manager](auth-and-access.md).

**Topics**
+ [Bloquez l'accès généralisé aux secrets](#iam-contextkeys-blockpublicpolicy)
+ [Faites preuve de prudence en ce qui concerne les conditions d'adresse IP dans les politiques](#iam-contextkeys-ipaddress)
+ [Limitez les demandes en fonction des conditions du point de terminaison VPC](#iam-contextkeys-vpcendpoint)

### Bloquez l'accès généralisé aux secrets
<a name="iam-contextkeys-blockpublicpolicy"></a>

Dans les politiques d'identité qui autorisent l'action `PutResourcePolicy`, nous vous recommandons d'utiliser `BlockPublicPolicy: true`. Cette condition signifie que les utilisateurs ne peuvent attacher une politique de ressource à un secret que si la politique n'autorise pas un accès étendu. 

Secrets Manager utilise le raisonnement automatisé Zelkova pour analyser les politiques de ressources en vue d'un large accès. Pour plus d'informations sur Zelkova, consultez l'article [Comment AWS utilise le raisonnement automatique pour vous aider à renforcer la sécurité à grande échelle](https://aws.amazon.com/blogs/security/protect-sensitive-data-in-the-cloud-with-automated-reasoning-zelkova/) sur le blog sur la AWS sécurité.

L'exemple suivant montre comment utiliser `BlockPublicPolicy`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "secretsmanager:PutResourcePolicy",
        "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf",
    "Condition": {
            "Bool": {
                "secretsmanager:BlockPublicPolicy": "true"
            }
        }
    }
}
```

------

### Faites preuve de prudence en ce qui concerne les conditions d'adresse IP dans les politiques
<a name="iam-contextkeys-ipaddress"></a>

Cependant, soyez prudent lorsque vous indiquez les [opérateurs de condition d'adresse IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) ou la clé de condition `aws:SourceIp` dans cette déclaration de politique qui autorise ou refuse l'accès à Secrets Manager. Par exemple, si vous associez une politique qui restreint les AWS actions aux demandes provenant de la plage d'adresses IP de votre réseau d'entreprise à un secret, vos demandes en tant qu'utilisateur IAM invoquant la demande depuis le réseau d'entreprise fonctionnent comme prévu. Toutefois, si vous autorisez d'autres services à accéder au secret en votre nom, par exemple lorsque vous activez la rotation avec une fonction Lambda, cette fonction appelle les opérations du Secrets Manager depuis un espace d' AWS adressage interne. Les demandes affectées par la politique avec le filtre d'adresses IP échouent.

Par ailleurs, la clé de condition `aws:sourceIP` devient moins efficace lorsque la demande provient d'un point de terminaison d'un VPC Amazon. Pour restreindre les demandes à un point de terminaison d'un VPC spécifique, utilisez [Limitez les demandes en fonction des conditions du point de terminaison VPC](#iam-contextkeys-vpcendpoint).

### Limitez les demandes en fonction des conditions du point de terminaison VPC
<a name="iam-contextkeys-vpcendpoint"></a>

Pour accorder ou refuser l'accès à des requêtes à partir d'un VPC ou d'un point de terminaison d'un VPC particulier, utilisez `aws:SourceVpc` pour limiter l'accès aux requêtes à partir du VPC spécifié ou `aws:SourceVpce` pour limiter l'accès aux requêtes à partir du point de terminaison d'un VPC spécifié. Consultez [Exemple : autorisations et VPCs](auth-and-access_resource-policies.md#auth-and-access_examples_vpc).
+ `aws:SourceVpc` limite l'accès aux requêtes à partir du VPC spécifié.
+ `aws:SourceVpce` limite l'accès aux requêtes à partir du point de terminaison d'un VPC spécifié.

Si vous utilisez ces clés de condition dans une déclaration de politique de ressource qui autorise ou interdit l'accès aux secrets de Secrets Manager, vous risquez de refuser l'accès aux services qui utilisent Secrets Manager pour accéder aux secrets en votre nom. Seuls certains AWS services peuvent être exécutés avec un point de terminaison au sein de votre VPC. Si vous limitez les demandes de secret à un point de terminaison d'un VPC ou à un VPC, les appels à Secrets Manager à partir d'un service non configuré pour ce service peuvent échouer.

Consultez [Utilisation d'un point de AWS Secrets Manager terminaison VPC](vpc-endpoint-overview.md).

## Répliquez les secrets
<a name="w2aab9c21"></a>

Secrets Manager peut automatiquement répliquer vos secrets AWS dans plusieurs régions afin de répondre à vos exigences en matière de résilience ou de reprise après sinistre. Pour de plus amples informations, veuillez consulter [Reproduisez les AWS Secrets Manager secrets d'une région à l'autre](replicate-secrets.md).

## Surveillance des secrets
<a name="w2aab9c23"></a>

Secrets Manager vous permet d'auditer et de surveiller les secrets grâce à l'intégration aux services de AWS journalisation, de surveillance et de notification. Pour en savoir plus, consultez :
+ [Enregistrez AWS Secrets Manager les événements avec AWS CloudTrail](monitoring-cloudtrail.md)
+ [Surveillez AWS Secrets Manager avec Amazon CloudWatch](monitoring-cloudwatch.md)
+ [Surveillez AWS Secrets Manager les secrets pour garantir la conformité en utilisant AWS Config](configuring-awsconfig-rules.md)
+ [Surveillez les coûts de Secrets Manager](monitor-secretsmanager-costs.md)
+ [Détectez les menaces avec Amazon GuardDuty](monitoring-guardduty.md)

## Gérez votre infrastructure sur des réseaux privés
<a name="w2aab9c25"></a>

Nous recommandons d'exécuter la majeure partie de votre infrastructure sur des réseaux privés non accessibles à partir de l'Internet public. Vous pouvez établir une connexion privée entre votre VPC et Secrets Manager en créant un *point de terminaison d'un VPC d'interface*. Pour de plus amples informations, veuillez consulter [Utilisation d'un point de AWS Secrets Manager terminaison VPC](vpc-endpoint-overview.md).