Authentification et autorisation des demandes
Par défaut, les compartiments de répertoires sont privés et sont accessibles uniquement par les utilisateurs auxquels l’accès a été explicitement accordé. La limite de contrôle d’accès pour les compartiments de répertoires est définie uniquement au niveau compartiment. En revanche, la limite de contrôle d’accès pour les compartiments à usage général peut être définie au niveau des compartiments, du préfixe ou de la balise d’objet. Cette différence signifie que les compartiments de répertoires sont la seule ressource que vous pouvez inclure dans les stratégies de compartiment ou les politiques d’identité IAM pour accéder à S3 Express One Zone.
Amazon S3 Express One Zone prend en charge à la fois l’autorisation Gestion des identités et des accès AWS (AWS IAM) et l’autorisation basée sur les sessions :
-
Pour utiliser les opérations d’API de point de terminaison régional (opérations au niveau des compartiments ou du plan de contrôle) avec S3 Express One Zone, vous utilisez le modèle d’autorisation IAM, qui n’implique aucune gestion des sessions. Les autorisations sont accordées pour les actions, de façon individuelle. Pour plus d’informations, consultez Autorisation des opérations d’API de point de terminaison régional avec IAM.
-
Pour utiliser les opérations d’API de point de terminaison zonal (opérations de niveau objet ou plan de données), à l’exception de
CopyObjectet deHeadBucket, utilisez l’opération d’APICreateSessionpour créer et gérer des sessions optimisées afin d’autoriser les demandes de données à faible latence. Pour récupérer et utiliser un jeton de session, vous devez autoriser l’actions3express:CreateSessionpour votre compartiment de répertoires dans une politique basée sur l’identité ou une stratégie de compartiment. Pour plus d’informations, consultez Autorisation des opérations d’API de point de terminaison régional avec IAM. Si vous accédez à S3 Express One Zone dans la console Amazon S3, via l’AWS Command Line Interface (AWS CLI) ou à l’aide des kits AWS SDK, S3 Express One Zone crée une session en votre nom.
L’opération d’API CreateSessionvous permet d’authentifier et d’autoriser les demandes par le biais d’un nouveau mécanisme basé sur les sessions. Vous pouvez utiliser CreateSession pour demander des informations d’identification temporaires afin de bénéficier d’un accès à faible latence à votre compartiment. Ces informations d’identification temporaires sont limitées à un compartiment de répertoires spécifique.
Pour utiliser CreateSession, nous vous recommandons d’utiliser la dernière version des kits AWS SDK ou l’AWS Command Line Interface (AWS CLI). Les kits AWS SDK pris en charge et AWS CLI gèrent l’établissement, l’actualisation et la résiliation des sessions en votre nom.
Vous utilisez des jetons de session avec uniquement des opérations zonales (niveau objet) (à l’exception de CopyObject et HeadBucket) pour répartir la latence associée à l’autorisation sur un certain nombre de demandes dans une session. Pour les opérations d’API de point de terminaison régional (opérations de niveau compartiment), vous utilisez l’autorisation IAM, qui n’implique pas la gestion d’une session. Pour plus d’informations, consultez Autorisation des opérations d’API de point de terminaison régional avec IAM et Autorisation des opérations d’API de point de terminaison zonal avec CreateSession.
Comment les opérations d’API sont autorisées et authentifiées
Le tableau suivant répertorie les informations d’autorisation et d’authentification pour les opérations d’API des compartiments de répertoires. Pour chaque opération d’API, le tableau indique le nom de l’opération d’API, l’action de politique IAM, le type de point de terminaison (régional ou zonal) et le mécanisme d’autorisation (IAM ou basé sur une session). Ce tableau indique également les endroits où l’accès intercompte est pris en charge. L’accès aux actions de niveau compartiment peut être accordé uniquement dans des politiques basées sur l’identité IAM (utilisateur ou rôle), et non pas dans des stratégies de compartiment.
| « Hello, World! » | Type de point de terminaison | Action IAM | Accès intercomptes |
|---|---|---|---|
CreateBucket |
régional | s3express:CreateBucket |
Non |
DeleteBucket |
régional | s3express:DeleteBucket |
Non |
ListDirectoryBuckets |
régional | s3express:ListAllMyDirectoryBuckets |
Non |
PutBucketPolicy |
régional | s3express:PutBucketPolicy |
Non |
GetBucketPolicy |
régional | s3express:GetBucketPolicy |
Non |
DeleteBucketPolicy |
régional | s3express:DeleteBucketPolicy |
Non |
CreateSession |
Zonal | s3express:CreateSession |
Oui |
CopyObject |
Zonal | s3express:CreateSession |
Oui |
DeleteObject |
Zonal | s3express:CreateSession |
Oui |
DeleteObjects |
Zonal | s3express:CreateSession |
Oui |
HeadObject |
Zonal | s3express:CreateSession |
Oui |
PutObject |
Zonal | s3express:CreateSession |
Oui |
RenameObject |
Zonal | s3express:CreateSession |
Non |
GetObjectAttributes |
Zonal | s3express:CreateSession |
Oui |
ListObjectsV2 |
Zonal | s3express:CreateSession |
Oui |
HeadBucket |
Zonal | s3express:CreateSession |
Oui |
CreateMultipartUpload |
Zonal | s3express:CreateSession |
Oui |
UploadPart |
Zonal | s3express:CreateSession |
Oui |
UploadPartCopy |
Zonal | s3express:CreateSession |
Oui |
CompleteMultipartUpload |
Zonal | s3express:CreateSession |
Oui |
AbortMultipartUpload |
Zonal | s3express:CreateSession |
Oui |
ListParts |
Zonal | s3express:CreateSession |
Oui |
ListMultipartUploads |
Zonal | s3express:CreateSession |
Oui |
ListAccessPointsForDirectoryBuckets |
Zonal | s3express:ListAccessPointsForDirectoryBuckets |
Oui |
GetAccessPointScope |
Zonal | s3express:GetAccessPointScope |
Oui |
PutAccessPointScope |
Zonal | s3express:PutAccessPointScope |
Oui |
DeleteAccessPointScope |
Zonal | s3express:DeleteAccessPointScope |
Oui |