

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.

# Charges de travail liées à la résidence des données
<a name="directory-bucket-data-residency"></a>

AWS Les zones locales dédiées (zones locales dédiées) sont un type d' AWS infrastructure entièrement géré par vous ou votre communauté AWS, conçu pour un usage exclusif par vous ou votre communauté, et placé dans un emplacement ou un centre de données que vous avez spécifié pour vous aider à vous conformer aux exigences réglementaires. Les zones locales dédiées sont un type d'offre de zones AWS locales (zones locales). Pour plus d’informations, consultez [Zones locales dédiées AWS](https://aws.amazon.com/dedicatedlocalzones/).

Dans les zones locales dédiées, vous pouvez créer des compartiments de répertoires S3 pour stocker des données dans un périmètre spécifique de sécurisation des données, afin de répondre à vos cas d’utilisation nécessitant une résidence et un isolement des données. Les compartiments de répertoires des zones locales dédiées peuvent prendre en charge les classes de stockage S3 Express One Zone et S3 One Zone-Infrequent Access (S3 One Zone-IA ; Z-IA). Les compartiments de répertoires ne sont actuellement pas disponibles dans les autres [emplacements des zones locales AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/). 

Vous pouvez utiliser l' AWS Management Console API REST AWS Command Line Interface (AWS CLI) et AWS SDKs dans des Zones Locales dédiées. 



Pour plus d’informations sur l’utilisation des compartiments de répertoires dans les zones locales, consultez les rubriques suivantes :

**Topics**
+ [Concepts relatifs aux compartiments de répertoires dans les zones locales](s3-lzs-for-directory-buckets.md)
+ [Activation de comptes de zones locales](opt-in-directory-bucket-lz.md)
+ [Connectivité privée depuis votre VPC](connectivity-lz-directory-buckets.md)
+ [Création d’un compartiment de répertoires dans une zone locale](create-directory-bucket-LZ.md)
+ [Authentification et autorisation des compartiments de répertoires dans les zones locales](iam-directory-bucket-LZ.md)

# Concepts relatifs aux compartiments de répertoires dans les zones locales
<a name="s3-lzs-for-directory-buckets"></a>

Avant de créer un compartiment de répertoires dans une zone locale, vous devez connaître l’ID de la zone locale dans laquelle vous souhaitez créer un compartiment. Vous pouvez trouver toutes les informations de la zone locale à l'aide de l'opération [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)API. Cette opération d'API répertorie des informations sur les zones locales, notamment leur zone locale IDs, les noms des régions parentes, les groupes de frontières du réseau et le statut d'inscription. Une fois l’ID de votre zone locale récupéré et votre inscription effectuée, vous pouvez créer un compartiment de répertoires dans cette zone locale. Le nom d’un compartiment de répertoires se compose d’un nom de base que vous fournissez et d’un suffixe contenant l’ID de la zone dans laquelle se trouve votre compartiment, suivi de `--x-s3`. 

Une zone locale est connectée à la **région parent** via le réseau privé redondant et à très haut débit Amazon. Cela donne aux applications exécutées dans la zone locale un accès rapide, sécurisé et fluide au reste de la Services AWS région parent. L’**ID de la zone parent** est l’ID de la zone qui gère les opérations du plan de contrôle de la zone locale. **Network Border Group** est un groupe unique à partir duquel sont AWS publiées des adresses IP publiques. Pour plus d'informations sur les zones locales, la région parente et l'ID de zone parent, consultez la section [Concepts des zones AWS locales](https://docs.aws.amazon.com/local-zones/latest/ug/concepts-local-zones.html) dans le *Guide de l'utilisateur* des zones AWS locales.

Tous les compartiments de répertoires utilisent l’espace de noms `s3express`, qui est différent de l’espace de noms `s3` des compartiments à usage général. Pour les compartiments de répertoires, les demandes sont acheminées vers un **point de terminaison régional** ou un **point de terminaison zonal**. Le routage est géré automatiquement pour vous si vous utilisez le AWS Management Console AWS CLI, ou AWS SDKs. 

La plupart des opérations d’API effectuées au niveau des compartiments (comme `CreateBucket` et `DeleteBucket`) sont acheminées vers des points de terminaison régionaux et sont appelées opérations d’API de point de terminaison régional. Les points de terminaison régionaux sont au format `s3express-control.ParentRegionCode.amazonaws.com`. Toutes les opérations d’API au niveau de l’objet (telles que `PutObject`) et deux opérations d’API au niveau du compartiment (`CreateSession` et `HeadBucket`) sont acheminées vers des points de terminaison zonaux et sont appelées opérations d’API de point de terminaison zonal. Les points de terminaison zonaux sont au format `s3express-LocalZoneID.ParentRegionCode.amazonaws.com`. Pour obtenir la liste complète des opérations d’API par type de point de terminaison, consultez [Opérations d’API des compartiments de répertoires](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations).

Pour accéder aux compartiments de répertoires dans les zones locales à partir de votre cloud privé virtuel (VPC), vous pouvez utiliser des points de terminaison de VPC de passerelle. Il n’y a pas de frais supplémentaires pour l’utilisation de points de terminaison de passerelle. Pour configurer les points de terminaison de VPC de passerelle afin d’accéder aux compartiments de répertoires et aux objets dans les zones locales, consultez [Connectivité privée depuis votre VPC](connectivity-lz-directory-buckets.md). 

# Activation de comptes de zones locales
<a name="opt-in-directory-bucket-lz"></a>

La rubrique suivante décrit comment les comptes sont activés pour les zones locales dédiées.

Pour tous les services des zones locales AWS dédiées (zones locales dédiées), y compris Amazon S3, votre administrateur doit les activer Compte AWS avant que vous puissiez créer une ressource dans la zone locale dédiée ou y accéder. Vous pouvez utiliser l'opération [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)API pour confirmer l'accès de votre identifiant de compte à une zone locale.

Pour mieux protéger vos données dans Amazon S3, par défaut, vous n’avez accès qu’aux ressources S3 que vous créez. Les compartiments dans les zones locales ont tous les paramètres de blocage de l’accès public S3 activés, et la propriété des objets S3 est défini sur Propriétaire du compartiment appliqué. Ces paramètres ne peuvent pas être modifiés. Vous pouvez utiliser la clé de condition `s3express:AllAccessRestrictedToLocalZoneGroup` dans vos politiques IAM pour que l’accès n’ait lieu qu’au sein des groupes de bordure réseau des zones locales. Pour de plus amples informations, veuillez consulter [Authentification et autorisation des compartiments de répertoires dans les zones locales](iam-directory-bucket-LZ.md).

# Connectivité privée depuis votre VPC
<a name="connectivity-lz-directory-buckets"></a>

Pour réduire le temps que vos paquets passent sur le réseau, configurez votre cloud privé virtuel (VPC) avec un point de terminaison de passerelle pour accéder aux compartiments de répertoire dans les zones de disponibilité tout en maintenant le trafic sur le AWS réseau, sans frais supplémentaires.

**Pour configurer un point de terminaison de VPC de passerelle**

1. Ouvrez la [console Amazon VPC](https://console.aws.amazon.com/vpc/). 

1. Dans le panneau de navigation, choisissez **Points de terminaison**.

1. Choisissez **Créer un point de terminaison**.

1. Créez un nom pour votre point de terminaison.

1. Pour **Service category** (Catégorie de service), choisissez **Services AWS**. 

1. **Pour les **services**, ajoutez le filtre **Type=Gateway**, puis cliquez sur le bouton d'option à côté de com.amazonaws. *region*.s3 express**. 

1. Pour **VPC**, choisissez le VPC dans lequel créer le point de terminaison.

1. Pour les **tables de routage**, choisissez la table de routage de votre VPC à utiliser par le point de terminaison. Une fois le point de terminaison créé, un enregistrement de l’acheminement est ajouté à la table de routage que vous avez sélectionnée à cette étape.

1. Pour **Politique**, choisissez **Accès complet** afin d’autoriser toutes les opérations de tous les principaux sur toutes les ressources via le point de terminaison de VPC. Sinon, choisissez **Personnalisé** pour attacher une politique de point de terminaison de VPC qui contrôle les autorisations dont disposent les principaux pour effectuer des actions au niveau des ressources via le point de terminaison de VPC. 

1. Pour **IP address type** (Type d'adresse IP), choisissez l'une des options suivantes :
   +  **IPv4**— Attribuez IPv4 des adresses aux interfaces réseau des terminaux. Cette option n'est prise en charge que si tous les sous-réseaux sélectionnés possèdent des plages d' IPv4 adresses et si le service accepte les IPv4 demandes. 
   +  **IPv6**— Attribuez IPv6 des adresses aux interfaces réseau des terminaux. Cette option n'est prise en charge que si tous les sous-réseaux sélectionnés IPv6 ne sont que des sous-réseaux et que le service accepte IPv6 les demandes.
   +  **Dualstack** — Attribuez à la fois des IPv6 adresses IPv4 et des adresses aux interfaces réseau des terminaux. Cette option n'est prise en charge que si tous les sous-réseaux sélectionnés possèdent à la fois des plages d' IPv6 adresses IPv4 et si le service accepte à la fois les IPv6 demandes IPv4 et les demandes.

1. (Facultatif) Pour ajouter une balise, choisissez **Ajouter une nouvelle balise** et entrez la clé et la valeur de la balise.

1. Choisissez **Créer un point de terminaison**.

Pour en savoir plus sur les points de terminaison d’un VPC de passerelle, consultez [Points de terminaison de VPC de passerelle](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html) dans le *Guide AWS PrivateLink *. Pour les cas d’utilisation de la résidence des données, nous vous recommandons de n’autoriser l’accès à vos compartiments qu’à partir de votre VPC à l’aide de points de terminaison de VPC de passerelle. Lorsque l'accès est limité à un VPC ou à un point de terminaison VPC, vous pouvez accéder aux objets via l' AWS Management Console API REST et. AWS CLI AWS SDKs

**Note**  
Pour restreindre l'accès à un VPC ou à un point de terminaison VPC à l'aide du AWS Management Console, vous devez utiliser l'accès privé. AWS Management Console Pour plus d’informations, consultez [Accès privé de la AWS Management Console](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/console-private-access.html) dans le *Guide de l’utilisateur de la AWS Management Console *.

# Création d’un compartiment de répertoires dans une zone locale
<a name="create-directory-bucket-LZ"></a>

Dans les zones locales dédiées, vous pouvez créer des compartiments de répertoires pour stocker et récupérer des objets dans un périmètre de données spécifique afin de répondre à vos cas d’utilisation liés à la résidence et à l’isolement des données. Les compartiments de répertoires S3 sont le seul type de compartiment pris en charge dans les zones locales et contiennent un type d’emplacement de compartiment appelé `LocalZone`. Le nom d’un compartiment de répertoires se compose d’un nom de base que vous fournissez et d’un suffixe contenant l’ID de la zone dans laquelle se trouve votre compartiment, et `--x-s3`. Vous pouvez obtenir une liste des zones locales à IDs l'aide de l'opération [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)API. Pour de plus amples informations, veuillez consulter [Règles de dénomination des compartiments de répertoires](directory-bucket-naming-rules.md).

**Note**  
Pour tous les services des zones locales AWS dédiées (zones locales dédiées), y compris S3, votre administrateur doit les activer Compte AWS avant que vous puissiez créer une ressource dans la zone locale dédiée ou y accéder. Pour de plus amples informations, veuillez consulter [Activation de comptes de zones locales](opt-in-directory-bucket-lz.md).
Pour les exigences relatives à la résidence des données, nous vous recommandons de n’autoriser l’accès à vos compartiments qu’à partir des points de terminaison de VPC de passerelle. Pour de plus amples informations, veuillez consulter [Connectivité privée depuis votre VPC](connectivity-lz-directory-buckets.md).
Vous pouvez aussi utiliser la clé de condition `s3express:AllAccessRestrictedToLocalZoneGroup` dans vos politiques IAM pour que l’accès n’ait lieu qu’au sein des groupes de bordure réseau des zones locales. Pour de plus amples informations, veuillez consulter [Authentification et autorisation des compartiments de répertoires dans les zones locales](iam-directory-bucket-LZ.md).

Ce qui suit décrit les méthodes de création d'un bucket de répertoire dans une seule zone locale avec le AWS Management Console AWS CLI, et AWS SDKs. 

## Utilisation de la console S3
<a name="create-directory-bucket-lz-console"></a>

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la barre de navigation en haut de la page, choisissez le nom du fichier actuellement affiché Région AWS. Choisissez ensuite la région parent d’une zone locale dans laquelle vous souhaitez créer un compartiment de répertoires. 
**Note**  
Pour plus d’informations sur les régions parents, consultez [Concepts relatifs aux compartiments de répertoires dans les zones locales](s3-lzs-for-directory-buckets.md).

1. Dans le panneau de navigation de gauche, choisissez **Compartiments**.

1. Choisissez **Créer un compartiment**.

   La page **Créer un compartiment** s’ouvre.

1. Sous **Configuration générale**, consultez la Région AWS dans laquelle votre compartiment sera créé. 

1.  Sous **Type de compartiment**, choisissez **Répertoire**.
**Note**  
Si vous avez choisi une région qui ne prend pas en charge les compartiments de répertoires, le type de compartiment est défini par défaut sur un compartiment à usage général. Pour créer un compartiment de répertoires, vous devez choisir une région prise en charge. Pour obtenir la liste des régions prises en charge par les compartiments de répertoires, consultez [Points de terminaison d’API régionaux et zonaux des compartiments de répertoires](s3-express-Regions-and-Zones.md).
Une fois que vous avez créé le compartiment, vous ne pouvez pas modifier son type.

1. Sous **Emplacement du compartiment**, choisissez la zone locale que vous souhaitez utiliser. 
**Note**  
La zone locale ne peut pas être modifiée une fois le compartiment créé. 

1. Sous **Emplacement du compartiment**, cochez la case pour reconnaître qu’en cas de panne de la zone locale, vos données pourraient être indisponibles ou perdues. 
**Important**  
Les compartiments de répertoires sont stockés sur plusieurs appareils au sein d’une même zone locale, mais ne stockent pas les données de manière redondante entre les zones locales.

1. Pour **Nom du compartiment**, entrez un nom pour votre compartiment de répertoires.

   Pour plus d’informations sur les règles de dénomination des compartiments de répertoires, consultez [Règles de dénomination des compartiments à usage général](bucketnamingrules.md). Un suffixe est automatiquement ajouté au nom de base que vous fournissez lorsque vous créez un compartiment de répertoires à l’aide de la console. Ce suffixe inclut l’ID de la zone locale que vous avez choisie.

   Une fois le compartiment créé, vous ne pouvez pas changer son nom. 
**Important**  
N’ajoutez pas d’informations sensibles, notamment des numéros de compte, dans le nom du compartiment. Le nom du bucket est visible URLs là où pointent les objets du bucket.

1. Sous **Propriété de l'objet**, le paramètre **imposé au propriétaire du compartiment** est automatiquement activé et toutes les listes de contrôle d'accès (ACLs) sont désactivées. Pour les compartiments de répertoire, ACLs ils sont désactivés et ne peuvent pas être activés.

   Lorsque le paramètre « **propriétaire du compartiment forcé** » est activé, le propriétaire du compartiment possède automatiquement tous les objets du compartiment et en a le contrôle total. ACLs n'affecte plus les autorisations d'accès aux données du compartiment S3. Le compartiment utilise des stratégies exclusivement pour définir le contrôle des accès. La majorité des cas d'utilisation modernes d'Amazon S3 ne nécessitent plus l'utilisation de ACLs. Pour de plus amples informations, veuillez consulter [Contrôle de la propriété des objets et désactivation ACLs pour votre compartiment](about-object-ownership.md).

1. Sous **Paramètres de blocage de l’accès public pour ce compartiment**, notez que les paramètres de blocage de l’accès public pour votre compartiment de répertoires sont automatiquement activés. Ces paramètres ne peuvent pas être modifiés pour les compartiments de répertoires. Pour en savoir plus sur le blocage de l’accès public, consultez [Blocage de l’accès public à votre stockage Amazon S3](access-control-block-public-access.md).

1. Dans **Chiffrement par défaut**, les compartiments de répertoires utilisent le **chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3)** pour chiffrer les données par défaut. Vous avez également la possibilité de chiffrer les données dans des compartiments d'annuaire grâce au **chiffrement côté serveur à l'aide de AWS Key Management Service clés (SSE-KMS**).

1. Choisissez **Créer un compartiment**.

   Après avoir créé le compartiment, vous pouvez y ajouter des fichiers et des dossiers. Pour de plus amples informations, veuillez consulter [Utilisation d’objets dans un compartiment de répertoires](directory-buckets-objects.md).

## En utilisant le AWS CLI
<a name="create-directory-bucket-lz-cli"></a>

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ AWS CLI. Pour utiliser ces commandes, remplacez les *user input placeholders* par vos propres informations.

Lorsque vous créez un compartiment de répertoires, vous devez fournir les détails de configuration et utiliser la convention de dénomination suivante : `bucket-base-name--zone-id--x-s3`.

```
aws s3api create-bucket
--bucket bucket-base-name--zone-id--x-s3
--create-bucket-configuration 'Location={Type=LocalZone,Name=local-zone-id},Bucket={DataRedundancy=SingleLocalZone,Type=Directory}'
--region parent-region-code
```

Pour plus d’informations sur l’ID de zone locale et le code de la région parent, consultez [Concepts relatifs aux compartiments de répertoires dans les zones locales](s3-lzs-for-directory-buckets.md). Pour plus d’informations sur la commande AWS CLI , consultez [create-bucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) dans la *Référence des commandes de l’AWS CLI *.

## À l'aide du AWS SDKs
<a name="create-directory-bucket-lz-sdks"></a>

------
#### [ SDK for Go ]

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ AWS SDK pour Go. 

**Example**  

```
var bucket = "bucket-base-name--zone-id--x-s3" // The full directory bucket name

func runCreateBucket(c *s3.Client) {
    resp, err := c.CreateBucket(context.Background(), &s3.CreateBucketInput{
        Bucket: &bucket,
        CreateBucketConfiguration: &types.CreateBucketConfiguration{
            Location: &types.LocationInfo{
                Name: aws.String("local-zone-id"),
                Type: types.LocationTypeLocalZone,
            },  
            Bucket: &types.BucketInfo{
                DataRedundancy: types.DataRedundancySingleLocalZone,
                Type:           types.BucketTypeDirectory,
            },  
        },  
    })  
    var terr *types.BucketAlreadyOwnedByYou
    if errors.As(err, &terr) {
        fmt.Printf("BucketAlreadyOwnedByYou: %s\n", aws.ToString(terr.Message))
        fmt.Printf("noop...\n") // No operation performed, just printing a message
        return
    }   
    if err != nil {
        log.Fatal(err)
    }   

    fmt.Printf("bucket created at %s\n", aws.ToString(resp.Location))
}
```

------
#### [ SDK for Java 2.x ]

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ AWS SDK for Java 2.x. 

**Example**  

```
public static void createBucket(S3Client s3Client, String bucketName) {

    //Bucket name format is {base-bucket-name}--{local-zone-id}--x-s3
    //example: doc-example-bucket--local-zone-id--x-s3 is a valid name for a directory bucket created in a Local Zone.

    CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder()
             .location(LocationInfo.builder()
                     .type(LocationType.LOCAL_ZONE)
                     .name("local-zone-id").build()) //this must match the Local Zone ID in your bucket name
             .bucket(BucketInfo.builder()
                    .type(BucketType.DIRECTORY)
                    .dataRedundancy(DataRedundancy.SINGLE_LOCAL_ZONE)
                    .build()).build();
    try {
    
             CreateBucketRequest bucketRequest = CreateBucketRequest.builder().bucket(bucketName).createBucketConfiguration(bucketConfiguration).build();
             CreateBucketResponse response = s3Client.createBucket(bucketRequest);
             System.out.println(response);
    } 
    
    catch (S3Exception e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
         }
    }
```

------
#### [ AWS SDK pour JavaScript ]

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ AWS SDK pour JavaScript. 

**Example**  

```
// file.mjs, run with Node.js v16 or higher
// To use with the preview build, place this in a folder 
// inside the preview build directory, such as /aws-sdk-js-v3/workspace/

import { S3 } from "@aws-sdk/client-s3";

const region = "parent-region-code";
const zone = "local-zone-id";
const suffix = `${zone}--x-s3`;

const s3 = new S3({ region });

const bucketName = `bucket-base-name--${suffix}`; // Full directory bucket name

const createResponse = await s3.createBucket( 
    { Bucket: bucketName, 
      CreateBucketConfiguration: {Location: {Type: "LocalZone", Name: "local-zone-id"},
      Bucket: { Type: "Directory", DataRedundancy: "SingleLocalZone" }}
    } 
   );
```

------
#### [ SDK pour .NET ]

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ SDK pour .NET. 

**Example**  

```
using (var amazonS3Client = new AmazonS3Client())
{
    var putBucketResponse = await amazonS3Client.PutBucketAsync(new PutBucketRequest
    {

       BucketName = "bucket-base-name--local-zone-id--x-s3",
       PutBucketConfiguration = new PutBucketConfiguration
       {
         BucketInfo = new BucketInfo { DataRedundancy = DataRedundancy.SingleLocalZone, Type = BucketType.Directory },
         Location = new LocationInfo { Name = "local-zone-id", Type = LocationType.LocalZone }
       }
     }).ConfigureAwait(false);
}
```

------
#### [ SDK for PHP ]

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ AWS SDK for PHP. 

**Example**  

```
require 'vendor/autoload.php';

$s3Client = new S3Client([

    'region'      => 'parent-region-code',
]);


$result = $s3Client->createBucket([
    'Bucket' => 'bucket-base-name--local-zone-id--x-s3',
    'CreateBucketConfiguration' => [
        'Location' => ['Name'=> 'local-zone-id', 'Type'=> 'LocalZone'],
        'Bucket' => ["DataRedundancy" => "SingleLocalZone" ,"Type" => "Directory"]   ],
]);
```

------
#### [ SDK for Python ]

Cet exemple montre comment créer un compartiment de répertoires à l’aide de l’ AWS SDK pour Python (Boto3). 

**Example**  

```
import logging
import boto3
from botocore.exceptions import ClientError

def create_bucket(s3_client, bucket_name, local_zone):
    '''
    Create a directory bucket in a specified Local Zone

    :param s3_client: boto3 S3 client
    :param bucket_name: Bucket to create; for example, 'bucket-base-name--local-zone-id--x-s3'
    :param local_zone: String; Local Zone ID to create the bucket in
    :return: True if bucket is created, else False
    '''

    try:
        bucket_config = {
                'Location': {
                    'Type': 'LocalZone',
                    'Name': local_zone
                },
                'Bucket': {
                    'Type': 'Directory', 
                    'DataRedundancy': 'SingleLocalZone'
                }
            }
        s3_client.create_bucket(
            Bucket = bucket_name,
            CreateBucketConfiguration = bucket_config
        )
    except ClientError as e:
        logging.error(e)
        return False
    return True


if __name__ == '__main__':
    bucket_name = 'BUCKET_NAME'
    region = 'parent-region-code'
    local_zone = 'local-zone-id'
    s3_client = boto3.client('s3', region_name = region)
    create_bucket(s3_client, bucket_name, local_zone)
```

------
#### [ SDK for Ruby ]

Cet exemple montre comment créer un compartiment de répertoires dans une zone locale à l’aide du kit AWS SDK pour Ruby. 

**Example**  

```
s3 = Aws::S3::Client.new(region:'parent-region-code')
s3.create_bucket(
  bucket: "bucket-base-name--local-zone-id--x-s3",
  create_bucket_configuration: {
    location: { name: 'local-zone-id', type: 'LocalZone' },
    bucket: { data_redundancy: 'SingleLocalZone', type: 'Directory' }
  }
)
```

------

# Authentification et autorisation des compartiments de répertoires dans les zones locales
<a name="iam-directory-bucket-LZ"></a>

Les compartiments d'annuaire des Zones Locales prennent en charge à la fois l'autorisation Gestion des identités et des accès AWS (IAM) et l'autorisation basée sur les sessions. Pour plus d’informations sur l’authentification et l’autorisation des compartiments de répertoires, consultez [Authentification et autorisation des demandes](s3-express-authenticating-authorizing.md).

## Ressources
<a name="directory-bucket-lz-resources"></a>

Amazon Resource Names (ARNs) pour les compartiments de répertoire contient l'`s3express`espace de noms, la région AWS parent, l' Compte AWS ID et le nom du compartiment de répertoire qui inclut l'ID de zone. Pour accéder à votre compartiment de répertoires et y effectuer des actions, vous devez utiliser le format d’ARN suivant :

```
arn:aws:s3express:region-code:account-id:bucket/bucket-base-name--ZoneID--x-s3
```

Pour les compartiments de répertoires d’une zone locale, l’ID de zone est l’ID de la zone locale. Pour plus d’informations sur les compartiments de répertoires dans les zones locales, consultez [Concepts relatifs aux compartiments de répertoires dans les zones locales](s3-lzs-for-directory-buckets.md). Pour plus d'informations ARNs, consultez [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) dans le *guide de l'utilisateur IAM*. Pour plus d’informations sur les ressources, consultez [Éléments de politique JSON IAM : Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) dans le *Guide de l’utilisateur IAM*.

## Clés de condition des compartiments de répertoires dans les zones locales
<a name="condition-key-db-lz"></a>

Dans les zones locales, vous pouvez utiliser toutes les [clés de condition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3express.html#amazons3express-policy-keys) de vos politiques IAM. En outre, pour créer un périmètre de données autour des groupes de bordure réseau de votre zone locale, vous pouvez utiliser la clé de condition `s3express:AllAccessRestrictedToLocalZoneGroup` afin de refuser toutes les demandes provenant d’en dehors de ces groupes. 

La clé de condition suivante peut être utilisée pour affiner les conditions d’application d’une déclaration de politique IAM. Pour obtenir la liste complète des opérations d’API, des actions de politique et des clés de condition prises en charge par les compartiments de répertoires, consultez [Actions de politique pour les compartiments de répertoires](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html#s3-express-security-iam-actions).

**Note**  
La clé de condition suivante s’applique uniquement aux zones locales et n’est pas prise en charge dans les zones de disponibilité ni dans les Régions AWS.


| opérations d’API | Actions de politique | Description | Clé de condition | Description | Type | 
| --- | --- | --- | --- | --- | --- | 
|  [Opérations d’API de point de terminaison zonal](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html)  |  s3express:CreateSession  |  Accorde l’autorisation de créer un jeton de session, qui est utilisé pour accorder l’accès à toutes les opérations d’API de point de terminaison zonal, telles que `CreateSession`, `HeadBucket`, `CopyObject`, `PutObject` et `GetObject`.  |  s3express:AllAccessRestrictedToLocalZoneGroup  | Filtre tous les accès au bucket, sauf si la demande provient des groupes frontaliers du réseau de zones AWS locales fournis dans cette clé de condition.  **Valeurs :** valeur du groupe de bordure réseau des zones locales   |  String  | 

## Exemples de politiques
<a name="directory-bucket-lz-policies"></a>

Pour restreindre l’accès aux objets aux demandes provenant d’une limite de résidence des données que vous définissez (en particulier, un groupe de zones locales qui est un ensemble de zones locales apparentées à la même Région AWS), vous pouvez définir l’une des politiques suivantes :
+ Politique de contrôle des services (SCP). Pour plus d'informations SCPs, voir [Politiques de contrôle des services (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dans le *Guide de AWS Organizations l'utilisateur*.
+ Politique basée sur l’identité IAM pour le rôle IAM.
+ Politique de point de terminaison d’un VPC. Pour obtenir des informations sur les politiques de point de terminaison d’un VPC, consultez [Contrôle de l’accès aux points de terminaison d’un VPC à l’aide de politiques de point de terminaison](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) dans le *Guide AWS PrivateLink *.
+ Politique de compartiment S3.

**Note**  
La clé de condition `s3express:AllAccessRestrictedToLocalZoneGroup` ne prend pas en charge l’accès depuis un environnement sur site. Pour prendre en charge l’accès depuis un environnement sur site, vous devez ajouter l’adresse IP source aux politiques. Pour plus d'informations, consultez [aws : SourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip) dans le guide de l'utilisateur IAM. 

**Example — Politique SCP**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Access-to-specific-LocalZones-only",
            "Effect": "Deny",
            "Action": [
                "s3express:*",
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "s3express:AllAccessRestrictedToLocalZoneGroup": [
                        "local-zone-network-border-group-value"
                    ]
                }
            }
        }
    ]
}
```

**Example — Politique basée sur l’identité IAM (attachée au rôle IAM)**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Deny",
        "Action": "s3express:CreateSession",
        "Resource": "*",
        "Condition": {
            "StringNotEqualsIfExists": {
                "s3express:AllAccessRestrictedToLocalZoneGroup": [
                    "local-zone-network-border-group-value"
                ]              
            }
        }
    }
}
```

**Example – politique de point de terminaison de VPC**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {       
            "Sid": "Access-to-specific-LocalZones-only",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                 "StringNotEqualsIfExists": {
                     "s3express:AllAccessRestrictedToLocalZoneGroup": [
                         "local-zone-network-border-group-value"
                     ]
                 }   
            }
        }
    ]
}
```

**Example – stratégie de compartiment**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {       
            "Sid": "Access-to-specific-LocalZones-only",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                 "StringNotEqualsIfExists": {
                     "s3express:AllAccessRestrictedToLocalZoneGroup": [
                         "local-zone-network-border-group-value"
                     ]
                 }   
            }
        }
    ]
}
```