

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.

# Politiques basées sur les ressources
<a name="auth-and-access_resource-policies"></a>

Dans la stratégie basée sur une ressource, vous spécifiez les personnes qui peuvent accéder au secret et les actions qu'elles peuvent exécuter sur celui-ci. Vous pouvez utiliser des stratégies basées sur une ressource pour :
+ Accorder l'accès à un seul secret.à plusieurs utilisateurs ou rôles. 
+ Accordez l'accès à des utilisateurs ou à des rôles dans d'autres AWS comptes.

Lorsque vous attachez une stratégie basée sur une ressource à un secret dans la console, Secrets Manager utilise le moteur de raisonnement automatisé [Zelkova](https://aws.amazon.com/blogs/security/protect-sensitive-data-in-the-cloud-with-automated-reasoning-zelkova/) et l'API `ValidateResourcePolicy` pour éviter que vous n'accordiez un accès à vos secrets à un grand nombre de mandataires IAM. Vous pouvez également appeler l'API `PutResourcePolicy` avec le paramètre `BlockPublicPolicy` à partir de l'interface de ligne de commande CLI ou SDK. 

**Important**  
La validation des politiques de ressources et le `BlockPublicPolicy` paramètre aident à protéger vos ressources en empêchant l'accès public par le biais des politiques de ressources directement associées à vos secrets. Outre l'utilisation de ces fonctionnalités, examinez attentivement les politiques suivantes pour vous assurer qu'elles n'accordent pas d'accès public :  
Politiques basées sur l'identité associées aux AWS principaux associés (par exemple, rôles IAM) 
Politiques basées sur les AWS ressources associées (par exemple, AWS Key Management Service (AWS KMS) clés) 
Pour vérifier les autorisations relatives à vos secrets, consultez[Déterminer qui a les autorisations pour vos secrets ](determine-acccess_examine-iam-policies.md).

**Pour afficher, modifier ou supprimer la stratégie de ressources d'un secret (console)**

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Dans la liste des secrets, choisissez le secret.

1. Sur la page des détails secrets, sous l'onglet **Présentation**, dans la section **Autorisations d'accès aux ressources**, choisissez **Modifier des autorisations**.

1. Dans le champ de code, suivez une de ces procédures, puis sélectionnez **Enregistrer** :
   + Pour attacher ou modifier une stratégie de ressource, entrez la stratégie. 
   + Pour supprimer la stratégie, désactivez le champ de code.

## AWS CLI
<a name="auth-and-access_resource_cli"></a>

**Example Récupérer une politique de ressources**  
L'exemple suivant [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-resource-policy.html) récupère la politique basée sur les ressources associée à un secret.  

```
aws secretsmanager get-resource-policy \
    --secret-id MyTestSecret
```

**Example Supprimer une politique de ressources**  
L'exemple suivant [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-resource-policy.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-resource-policy.html) supprime la politique basée sur les ressources associée à un secret.  

```
aws secretsmanager delete-resource-policy \
    --secret-id MyTestSecret
```

**Example Ajouter une politique de ressources**  
L'exemple suivant [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-resource-policy.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-resource-policy.html) ajoute une politique d'autorisations à un secret, en vérifiant d'abord que la politique ne fournit pas un accès étendu au secret. La politique est lue à partir d’un fichier. Pour plus d'informations, consultez la section [Chargement de AWS CLI paramètres depuis un fichier](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-file.html) dans le Guide de AWS CLI l'utilisateur.  

```
aws secretsmanager put-resource-policy \
    --secret-id MyTestSecret \
    --resource-policy file://mypolicy.json \
    --block-public-policy
```
Contenu de `mypolicy.json` :    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:role/MyRole"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        }
    ]
}
```

## AWS SDK
<a name="auth-and-access_resource_sdk"></a>

Pour récupérer la stratégie attachée au secret, utilisez [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html) .

Pour supprimer une stratégie attachée à un secret, utilisez [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html).

Pour attacher une stratégie à un secret, utilisez [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html). Si une stratégie est déjà attachée, la commande la remplace par la nouvelle stratégie. La stratégie doit avoir le format de texte structuré JSON. Consultez [Structure d'un document de stratégie JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies-introduction).

Pour de plus amples informations, veuillez consulter [AWS SDKs](asm_access.md#asm-sdks).

## Exemples
<a name="auth-and-access_resource-policy-examples"></a>

**Topics**
+ [Exemple : Autorisation pour récupérer des valeurs de secrets individuels](#auth-and-access_examples_read)
+ [Exemple : autorisations et VPCs](#auth-and-access_examples_vpc)
+ [Exemple : Principal du service](#auth-and-access_service)

### Exemple : Autorisation pour récupérer des valeurs de secrets individuels
<a name="auth-and-access_examples_read"></a>

Pour accorder l'autorisation de récupérer des valeurs de secrets, vous pouvez attacher des stratégies à des secrets ou des identités. Pour savoir comment déterminer le type de stratégie à utiliser, consultez [Stratégies basées sur l'identité et Stratégies basées sur une ressource](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html). Pour plus d'informations sur la façon d'attacher une stratégie, consultez [Politiques basées sur les ressources](#auth-and-access_resource-policies) et [Politiques basées sur l’identité](auth-and-access_iam-policies.md).

Cet exemple est utile lorsque vous souhaitez accorder à plusieurs utilisateurs ou rôles l'accès à un secret unique. Pour autoriser la récupération d'un groupe de secrets lors d'un appel d'API par lots, consultez [Exemple : autorisation de récupérer un groupe de valeurs secrètes dans un lot](auth-and-access_iam-policies.md#auth-and-access_examples_batch).

**Example Lisez un secret**  
Vous pouvez accorder à un secret l'accès en attachant la stratégie suivante au secret.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/EC2RoleToAccessSecrets"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        }
    ]
}
```

### Exemple : autorisations et VPCs
<a name="auth-and-access_examples_vpc"></a>

Si vous devez accéder à Secrets Manager à partir d'un VPC, vous devez vérifier que les demandes adressées à Secrets Manager proviennent du VPC en incluant une condition dans vos stratégies d'autorisations. Pour de plus amples informations, consultez [Limitez les demandes en fonction des conditions du point de terminaison VPC](best-practices.md#iam-contextkeys-vpcendpoint) et [Utilisation d'un point de AWS Secrets Manager terminaison VPC](vpc-endpoint-overview.md).

Assurez-vous que les demandes d'accès au secret provenant d'autres AWS services proviennent également du VPC, sinon cette politique leur refusera l'accès.

**Example Exiger que les demandes passent par un point de terminaison VPC**  
La stratégie de secret suivante autorise un utilisateur à effectuer des opérations dans Secrets Manager uniquement lorsque la requête provient du point de terminaison d'un VPC spécifié *`vpce-1234a5678b9012c`*.    
****  

```
{
"Id": "example-policy-1",
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "RestrictGetSecretValueoperation",
  "Effect": "Deny",
  "Principal": "*",
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpce": "vpce-12345678"
    }
  }
}
]
}
```

**Example Exiger que les demandes proviennent d'un VPC**  
La stratégie de secret suivante autorise les commandes à créer et gérer les secrets uniquement lorsqu'ils proviennent de *`vpc-12345678`*. En outre, la stratégie autorise les opérations qui utilisent l'accès à la valeur chiffrée du secret uniquement lorsque les demandes proviennent de `vpc-2b2b2b2b`. Vous pouvez utiliser une stratégie comme celle-ci si vous exécutez une application dans un VPC, mais que vous utilisez un second VPC isolé pour les fonctions de gestion.     
****  

```
{
"Id": "example-policy-2",
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowAdministrativeActionsfromONLYvpc-12345678",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "secretsmanager:Create*",
    "secretsmanager:Put*",
    "secretsmanager:Update*",
    "secretsmanager:Delete*",
    "secretsmanager:Restore*",
    "secretsmanager:RotateSecret",
    "secretsmanager:CancelRotate*",
    "secretsmanager:TagResource",
    "secretsmanager:UntagResource"
  ],
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpc": "vpc-12345678"
    }
  }
},
{
  "Sid": "AllowSecretValueAccessfromONLYvpc-2b2b2b2b",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "secretsmanager:GetSecretValue"
  ],
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpc": "vpc-2b2b2b2b"
    }
  }
}
]
}
```

### Exemple : Principal du service
<a name="auth-and-access_service"></a>

Si la politique de ressources attachée à votre secret inclut un [principal de AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), nous vous recommandons d'utiliser les clés de condition SourceAccount globales [aws : SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [et aws :](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount). Les valeurs ARN et compte sont incluses dans le contexte d'autorisation uniquement lorsqu'une demande arrive à Secrets Manager depuis un autre service AWS . Cette combinaison de conditions permet d'éviter un possible [scénario du député confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). 

Si un ARN de ressources inclut des caractères non autorisés dans une politique de ressource, vous ne pouvez pas utiliser cet ARN de ressource dans la valeur de la clé de condition `aws:SourceArn`. Utilisez à la place la clé de condition `aws:SourceAccount`. Pour plus d'informations, consultez les [conditions IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-names).

Les principaux de service ne sont généralement pas utilisés comme principes dans une politique attachée à un secret, mais certains AWS services l'exigent. Pour plus d'informations sur les politiques de ressources qu'un service vous demande d'attacher à un secret, consultez la documentation du service.

**Example Autoriser un service à accéder à un secret à l'aide d'un principal de service**    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "s3.amazonaws.com"
    ]
  },
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*",
  "Condition": {
    "ArnLike": {
      "aws:sourceArn": "arn:aws:s3::123456789012:*"
    },
    "StringEquals": {
      "aws:sourceAccount": "123456789012"
    }
  }

}
]
}
```