

# Contrôles d’accès aux données
<a name="data-access-controls"></a>

L'article 25 du RGPD stipule que le responsable du traitement « doit mettre en œuvre les mesures techniques et organisationnelles appropriées pour garantir que, par défaut, seules les données à caractère personnel qui sont nécessaires au regard de chaque finalité spécifique du traitement sont traitées. » Les mécanismes de contrôle d'accès AWS ci-dessous peuvent aider les clients à se conformer à cette exigence en autorisant seulement les administrateurs, utilisateurs et applications autorisés à accéder aux ressources AWS et aux données clients. 

# Gestion des identités et des accès AWS
<a name="aws-identity-and-access-management"></a>

Lorsque vous créez un compte AWS, un compte utilisateur *racine* est automatiquement créé pour ce compte. Ce compte utilisateur dispose d'un accès complet à tous les services et ressources AWS de votre compte AWS. Au lieu d'utiliser ce compte pour les tâches quotidiennes, vous devez l'utiliser uniquement pour créer initialement des rôles et des comptes d'utilisateurs supplémentaires, ainsi que pour les activités administratives qui l'exigent. AWS recommande d'appliquer le principe du moindre privilège dès le début, c'est-à-dire de définir différents rôles et comptes d'utilisateurs pour différentes tâches, et de spécifier l'ensemble minimum d'autorisations requises pour effectuer chaque tâche. Cette approche est un mécanisme permettant de régler un concept clé introduit dans le RGPD : la protection des données dès la conception. Le service web [Gestion des identités et des accès AWS](https://aws.amazon.com/iam/) (IAM) peut être utilisé pour contrôler en toute sécurité l'accès à vos ressources AWS. 

Les utilisateurs et les rôles définissent les identités IAM avec des autorisations spécifiques. Un utilisateur autorisé peut assumer un rôle IAM pour effectuer certaines tâches. Des informations d'identification temporaires sont créées lorsque le rôle est assumé. Par exemple, vous pouvez utiliser des rôles IAM pour fournir en toute sécurité des applications qui s'exécutent dans [Amazon Elastic Compute Cloud](https://aws.amazon.com/ec2) (Amazon EC2) avec les informations d'identification temporaires requises pour accéder à d'autres ressources AWS, telles que les compartiments Amazon S3 et les bases de données [Amazon Relational Database Service](https://aws.amazon.com/rds/) (Amazon RDS) ou [Amazon DynamoDB](https://aws.amazon.com/dynamodb). De même, les [rôles d'exécution](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html) fournissent des fonctions [AWS Lambda](https://aws.amazon.com/lambda/) avec les autorisations nécessaires pour accéder à d'autres services et ressources AWS, tels qu'[Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) pour la diffusion de journaux ou la lecture d'un message à partir d'une file d'attente [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) (Amazon SQS). Lorsque vous créez un rôle, vous y ajoutez des stratégies afin de définir des autorisations.

Pour aider les clients à surveiller les stratégies de ressources et à identifier les ressources dont l'accès public ou entre comptes n'est pas prévu, [IAM Access Analyzer](https://aws.amazon.com/iam) peut être activé afin de générer des résultats exhaustifs qui identifient les ressources accessibles depuis l'extérieur d'un compte AWS. IAM Access Analyzer évalue les stratégies de ressources en appliquant une inférence et une logique mathématique pour déterminer les chemins d'accès possibles autorisés par les stratégies. IAM Access Analyzer surveille en continu les stratégies mises à jour ou nouvelles, et analyse les autorisations octroyées à l'aide des stratégies pour les rôles IAM, mais aussi pour les ressources de services telles que les compartiments Amazon S3, les clés [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS KMS), les files d'attente Amazon SQS, ainsi que les fonctions Lambda.

[Access Analyzer pour S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/access-analyzer.html) vous avertit au sujet des compartiments configurés pour autoriser l'accès à toute personne sur Internet ou à d'autres comptes AWS, y compris les comptes AWS en dehors de votre organisation. Lorsque vous examinez un compartiment à risque dans Access Analyzer pour S3, vous pouvez bloquer tout accès public au compartiment en un seul clic. AWS recommande de bloquer tous les accès aux compartiments, sauf si vous avez besoin d'un accès public pour prendre en charge un cas d'utilisation précis. Avant de bloquer tout accès public, assurez-vous que vos applications continueront à fonctionner correctement sans accès public. Pour en savoir plus, consultez la section [Utilisation d'Amazon S3 pour bloquer l'accès public](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html).

IAM présente également les dernières informations consultées afin de vous aider à identifier les autorisations inutilisées, pour que vous puissiez les supprimer des entités associées. À l'aide des dernières informations consultées, il est possible d'affiner vos stratégies et d'autoriser l'accès uniquement aux services et aux actions nécessaires. Vous êtes ainsi mieux à même de vous conformer à la [bonne pratique relative au principe du moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) et de l'appliquer. Vous pouvez afficher les dernières informations consultées pour les entités ou les stratégies qui existent dans IAM ou dans l'ensemble d'un environnement [AWS Organizations](https://aws.amazon.com/organizations/).

# Jetons d'accès temporaires via AWS STS
<a name="temporary-access-tokens-through-aws-sts"></a>

 Vous pouvez utiliser [AWS Security Token Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) (AWS STS) pour créer et fournir aux utilisateurs des informations d'identification de sécurité temporaires permettant de contrôler l'accès à vos ressources AWS. Les informations d'identification de sécurité temporaires ont un fonctionnement presque identique à celui des informations d'identification des clés d'accès à long terme que vous fournissez aux utilisateurs IAM, à quelques différences près : 
+  Les informations d'identification de sécurité temporaires sont réservées à une utilisation à court terme. Vous pouvez configurer leur durée de validité (de 15 minutes à 12 heures maximum). Quand les informations d'identification temporaires arrivent à expiration, AWS ne les reconnaît plus ou n'autorise plus aucun type d'accès à partir des demandes d'API effectuées avec elles.
+  Les informations d'identification de sécurité temporaires ne sont pas stockées avec le compte d'utilisateur. Au lieu de cela, elles sont générées dynamiquement et fournies à l'utilisateur sur demande. Lorsque les informations d'identification de sécurité temporaires arrivent à expiration (ou avant), un utilisateur peut demander de nouvelles informations d'identification, s'il est autorisé à le faire. 

 Ces différences présentent les avantages ci-dessous lorsque vous utilisez des informations d'identification temporaires : 
+  Vous n'avez pas besoin de distribuer ni d'intégrer des informations d'identification de sécurité AWS à long terme avec une application. 
+  Les informations d'identification temporaires servent de base aux rôles et à la fédération d'identité. Vous pouvez fournir l'accès à vos ressources AWS aux utilisateurs en définissant une identité AWS temporaire pour eux. 
+  Les informations d'identification de sécurité temporaires ont une durée de vie personnalisable limitée. Pour cette raison, vous n'avez pas besoin de les renouveler ni de les révoquer explicitement lorsqu'elles ne sont plus nécessaires. Quand les informations d'identification de sécurité temporaires arrivent à expiration, elles ne peuvent pas être réutilisées. Vous pouvez spécifier la durée maximale pendant laquelle les informations d'identification sont valides. 

# Authentification multifacteur
<a name="multi-factor-authentication"></a>

Afin de renforcer la sécurité, vous pouvez ajouter une authentification à deux facteurs à votre compte AWS et aux utilisateurs IAM. SI l'authentification multifacteur (MFA) est activée, lorsque vous vous connectez à la [console de gestion AWS](https://aws.amazon.com/console/), vous devez entrer votre nom d'utilisateur et votre mot de passe (le premier facteur), ainsi qu'une réponse d'authentification de votre dispositif MFA AWS (le deuxième facteur). Vous pouvez activer la MFA pour votre compte AWS et pour les utilisateurs IAM individuels que vous avez créés dans votre compte. Vous pouvez également utiliser la MFA pour contrôler l'accès aux API de service AWS.

 Par exemple, vous pouvez définir une stratégie qui autorise un accès complet à toutes les opérations d'API AWS dans Amazon EC2, mais refuse explicitement l'accès à des opérations d'API spécifiques, telles que `StopInstances` et `TerminateInstances`, si l'utilisateur n'est pas authentifié par MFA. 

```
        {
         “Version”: “2012-10-17”,
         “Statement”: [
             {
                “Sid”: “AllowAllActionsForEC2”,
                “Effect”: “Allow”,
                “Action”: “ec2:*”,
                “Resource”: “*”
             },
            {
                “Sid”: “DenyStopAndTerminateWhenMFAIsNotPResent”,
                “Effect”: “Deny”,
                “Action”: [
                    “ec2:StopInstances”,
                    “ec2:TerminateInstances”
               ],
               “Resource”: “*”,
               “Conditions”: {
                   “BoolIfExists”: {“aws:MultiFactorAuthPresent”:false}
                }
            }
       }
}
```

Pour ajouter une couche de sécurité supplémentaire à vos compartiments Amazon S3, vous pouvez configurer la fonction [Supprimer MFA](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html), qui nécessite une authentification supplémentaire pour modifier l'état de gestion des versions d'un compartiment et supprimer définitivement une version d'objet. La fonction Supprimer MFA renforce la sécurité en cas de mise en danger des informations d'identification de sécurité.

Pour utiliser la fonction Supprimer MFA, vous pouvez utiliser un dispositif MFA matériel ou virtuel afin de générer un code d'authentification. Consultez la [page Authentification multifacteur](https://aws.amazon.com/iam/features/mfa/) pour obtenir la liste des dispositifs MFA matériels ou virtuels pris en charge.

# Accès aux ressources AWS
<a name="access-to-aws-objects-resources"></a>

Afin de mettre en œuvre un accès détaillé à vos ressources AWS, vous pouvez accorder différents niveaux d'autorisations à différentes personnes pour différentes ressources. Par exemple, vous pouvez accorder uniquement à certains utilisateurs un accès complet à Amazon EC2, Amazon S3, DynamoDB, [Amazon Redshift](https://aws.amazon.com/redshift/) et à d'autres services AWS. 

Pour d'autres utilisateurs, vous pouvez accorder un accès en lecture seule à certains compartiments Amazon S3 uniquement, l'autorisation d'administrer uniquement certaines instances Amazon EC2 ou un accès uniquement à vos informations de facturation. 

 La stratégie ci-dessous est un exemple de méthode à appliquer pour autoriser toutes les actions sur un compartiment Amazon S3 spécifique et refuser explicitement l'accès à chaque service AWS qui n'est pas un service Amazon S3. 

```
      {
         “Version”: “2012-10-17”,
         “Statement”: [
             {
                “Effect”: “Allow”,
                “Action”: “s3:*”,
                “Resource”: [
                     “arn:aws:s3:::bucket-name”,
                     “arn:aws:s3:::bucket-name/*”
                 ],
              },
              {
                “Effect”: “Deny”,
                “NotAction”: “s3:*”,
                “NotResource”: [
                     “arn:aws:s3:::bucket-name”,
                     “arn:aws:s3:::bucket-name/*”
                 ] 
               }
            ]
}
```

 Vous pouvez attacher une stratégie à un compte utilisateur ou à un rôle. Pour obtenir d'autres exemples de stratégies IAM, consultez la section [Exemples de stratégies basées sur l'identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html). 

# Définition des limites pour l'accès aux services régionaux
<a name="defining-boundaries-for-regional-services-access"></a>

En tant que client, vous restez propriétaire de votre contenu et vous sélectionnez quels services AWS peuvent traiter, stocker et héberger votre contenu. AWS ne consulte ni n'utilise votre contenu à quelque fin que ce soit sans votre consentement. Sur la base du modèle de responsabilité partagée, vous choisissez les régions AWS dans lesquelles votre contenu est stocké et pouvez ainsi déployer les services AWS dans les emplacements de votre choix, conformément à vos exigences géographiques spécifiques. Par exemple, si vous souhaitez vous assurer que votre contenu se trouve uniquement en Europe, vous pouvez choisir de déployer les services AWS exclusivement dans l'une des régions AWS européennes. 

Les stratégies IAM fournissent un mécanisme simple de limitation de l'accès aux services dans certaines régions. Vous pouvez ajouter une condition globale (`[aws:RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion)`) aux stratégies IAM attachées à vos entités IAM afin de l'appliquer à tous les services AWS. Par exemple, [la stratégie ci-dessous](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-requested-region.html) utilise l'élément `NotAction` avec l'effet `Deny`, qui refuse explicitement l'accès à toutes les actions non répertoriées dans l'instruction si la région demandée n'est pas européenne. Les actions dans les services CloudFront, IAM, [Amazon Route 53](https://aws.amazon.com/route53/) et [AWS Support](https://aws.amazon.com/premiumsupport/) ne doivent pas être refusées car il s'agit de services AWS de niveau international fréquemment utilisés. 

```
      {
         “Version”: “2012-10-17”,
         “Statement”: [
             {
                “Sid”: “DenyAllOutsideRequestedRegions”,
                “Effect”: “Deny”,
                “NotAction”: [
                     “cloudfront:*”,
                     “iam:*”,
                     ”route53:*”,
                     “support:*”
                 ],
                 “Resource”: “*”,
                 “Condition”: {
                    “StringNotLike”: {
                        “aws:RequestedRegion”: [
                              “eu-*”
                        ]
                     } 
                  }
            }    
          ]           
}
```

Cet exemple de stratégie IAM peut également être implémenté en tant que stratégie de contrôle de service dans AWS Organizations, qui définit les limites d'autorisations appliquées à des comptes AWS ou à des unités d'organisation (UO) spécifiques au sein d'une organisation. Vous pouvez ainsi contrôler l'accès des utilisateurs aux services régionaux dans des environnements complexes à plusieurs comptes.

Il existe des fonctionnalités de géolimitation pour les régions récemment lancées. [Les régions introduites après le 20 mars 2019](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) sont désactivées par défaut. Vous devez activer ces régions avant de pouvoir les utiliser. Si une région AWS est désactivée par défaut, vous pouvez l'activer et la désactiver à l'aide de la console de gestion AWS. Quand vous activez et désactivez des régions AWS, vous pouvez contrôler si les utilisateurs de votre compte AWS peuvent accéder aux ressources dans cette région. Pour en savoir plus, consultez [Gestion des régions AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html).

# Contrôle de l'accès aux applications web et mobiles
<a name="control-access-to-web-applications-and-mobile-apps"></a>

AWS fournit des services permettant de gérer le contrôle d'accès aux données au sein des applications des clients. Si vous devez ajouter des fonctions de connexion utilisateur et de contrôle d'accès à vos applications web et mobiles, vous pouvez utiliser [Amazon Cognito](https://aws.amazon.com/cognito/). Les [groupes d'utilisateurs d'Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) fournissent un répertoire d'utilisateurs sécurisé qui s'étend à des centaines de millions d'utilisateurs. Vous pouvez ajouter l'authentification multifacteur (MFA) à un groupe d'utilisateurs pour protéger l'identité de ces utilisateurs. Vous pouvez également utiliser l'authentification adaptative avec son modèle basé sur le risque pour prévoir quand un autre facteur d'authentification sera nécessaire. 

Grâce aux [groupes d'identités Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.html) (identités fédérées), vous pouvez voir qui a accédé à vos ressources et d'où provient l'accès (application mobile ou web). Vous pouvez utiliser ces informations pour créer des rôles et des stratégies IAM qui autorisent ou refusent l'accès à une ressource en fonction du type d'origine d'accès (application mobile ou web) et du fournisseur d'identité.