Les politiques de gestion des Buckets fournissent à des Object Users spécifiques, ou à tous les Object Users, des autorisations conditionnelles et granulaires pour des actions spécifiques.
Les conditions des politiques peuvent être utilisées pour attribuer des autorisations à une série d'objets qui correspondent à la condition souhaitée et peuvent être utilisées pour attribuer automatiquement des autorisations aux objets nouvellement téléchargés.
La manière dont l'accès aux ressources est gérée lors de l'utilisation du protocole S3 est décrite dans https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html et vous pouvez utiliser ces informations comme base pour comprendre et utiliser les politiques de gestion des Buckets fournit par le service de Stockage d'Objet de cegedim.cloud.
Cette section fournit des informations de base sur l'utilisation des politiques de gestion des Buckets.
Les politiques de gestion des Buckets peuvent être gérées en utilisant le client aws s3api (d'autres outils ou SDK fonctionnent aussi):
get-bucket-policy
put-bucket-policy
delete-bucket-policy
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux. ${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Créez un fichier et insérez votre politique de gestion au format JSON :
L’élément Principal spécifie les Access Key des Object Users qui sont autorisés ou non, à effectuer les actions sur les différentes ressources spécifiées.
Vous pouvez spécifier un wildcard '*
' pour indiquer tous les Object Users.
Attention, utiliser le wildcard '*
' dans une politique de gestion de Buckets, signifie que tout le monde peut accéder aux ressources spécifiées et effectuer les actions spécifiées
Appliquez la politique des gestions sur le Bucket: bucket-test
Le service de Stockage d'Objet de cegedim.cloud est directement accessible depuis Internet.
Si vous accordez un accès public à votre Bucket ou à un sous-ensemble de votre Bucket, tout le monde peut obtenir vos objets.
Pour plus d'informations, consulter Gérer l'accès à un Bucket.
Avec l'accès public, le contenu du Bucket peut être consulté directement à l'aide d'un navigateur web.
L'URL pour accéder à un Bucket public suit ce format : https://<objectstore_name>.storage-[eb4|et1].cegedim.cloud/<bucket_name>
Par exemple : https://cos-cegedimit-myit.storage-eb4.cegedim.cloud/mybucket
Le service de Stockage d'Objet de cegedim.cloud est directement accessible depuis Internet.
Si vous accordez un accès public à votre Bucket ou à un sous-ensemble de votre Bucket, tout le monde peut obtenir vos objets.
Avec la politique suivante, tous les objets du Bucket my-bucket
et sous le préfixe public/
sont accessibles publiquement, sans authentification :
L'élément "condition" est utilisé pour spécifier les conditions qui déterminent quand une règle s'applique.
Les tableaux suivants référencent les conditions qui sont supportées par le service de Stockage Objet de cegedim.cloud et qui peuvent être utilisées dans les expressions de condition.
Permissions | Opérations S3 |
---|---|
Permissions | Opérations S3 |
---|---|
Permissions | Opérations S3 |
---|---|
Condition | Description | Opérateurs applicables |
---|---|---|
Nom de la clé | Description | Autorisations applicables |
---|---|---|
Nom de la clé | Description | Autorisations applicables |
---|---|---|
s3:GetObject
S'applique à la dernière version d'un objet dans un Bucket où la gestion des version es activée.
GET
Objet, HEAD
Objet
s3:GetObjectVersion
GET
Objet, HEAD
Objet. (pour une version spécifique de l'objet)
s3:PutObject
Objet PUT
, Objet POST
, Initier un téléchargement "mulitpart" ou un télécharger d'une "part"
Objet PUT Terminer un téléchargement "mulitpart"
s3:GetObjectAcl
GET
Objet ACL
s3:GetObjectVersionAcl
GET
ACL (pour une version spécifique de l'objet)
s3:PutObjectAcl
PUT
Object ACL
s3:PutObjectVersionAcl
PUT
Objet (pour une version spécifique de l'objet)
s3:DeleteObject
DELETE
Objet
s3:DeleteObjectVersion
DELETE
Objet (une version spécifique de l'objet)
s3:ListMultipartUploadParts
Liste des ''parts" dans un téléchargement "mulitpart"
s3:AbortMultipartUpload
Terminer le téléchargement "mulitpart"
s3:DeleteBucket
DELETE
Bucket
s3:ListBucket
GET
Bucket (Liste les objets), HEAD
Bucket
s3:ListBucketVersions
GET
Bucket (pour une version spécifique de l'objet))
s3:GetLifecycleConfiguration
GET
politique de gestion du Cycle de vie d'un Bucket
s3:PutLifecycleConfiguration
PUT
politique de gestion de Cycle de vie sur un Bucket
s3:GetBucketAcl
GET
Bucket acl
s3:PutBucketAcl
PUT
Bucket acl
s3:GetBucketCORS
GET
Bucket cors
s3:PutBucketCORS
PUT
Bucket cors
s3:GetBucketVersioning
GET
Bucket versioning
s3:PutBucketVersioning
PUT
Bucket versioning
s3:GetBucketPolicy
GET
Politique de gestion du Bucket
s3:DeleteBucketPolicy
DELETE
Politique de gestion du Bucket
s3:PutBucketPolicy
PUT
Politique de gestion du Bucket
aws:CurrentTime
Utilisé pour vérifier les conditions basées sur la date et l'heure
Opérateur de date
aws:EpochTime
Utilisé pour vérifier les conditions basées sur la date et l'heure en utilisant le format EPOCH (voir Opérateurs de condition de date).
Opérateur de date
aws:principalType
Utilisé pour vérifier le type de principal (utilisateur, compte, utilisateur fédéré, etc.) pour la requête en cours.
Opérateur de chaîne de caractères
aws:SourceIp
Utilisé pour vérifier l'adresse IP source.
Opérateur de chaîne caractères
aws:UserAgent
Utilisé pour vérifier "UserAgent" du demandeur.
Opérateur de chaîne caractères
aws:nom d'utilisateur
Utilisé pour vérifier le nom d'utilisateur du demandeur.
Opérateur de chaîne caractères
s3:x-amz-acl
Condition pour exiger des autorisations d'accès spécifiques lorsque l'utilisateur télécharge un objet.
s3:PutObject
s3:PutObjectAcl
s3:PutObjectVersionAcl
s3:x-amz-grant-permission
(pour les permissions explicites), où la permission peut être : lecture, écriture, lecture-acp, écriture-acp, contrôle total
Le propriétaire du Bucket peut ajouter des conditions en utilisant ces clés pour exiger certaines permissions.
s3:PutObject
s3:PutObjectAcl
s3:PutObjectVersionAcl
s3:x-amz-server-side-encryption
Oblige l'utilisateur à spécifier cet en-tête dans la requête.
s3:PutObject
s3:PutObjectAcl
s3:VersionId
Restreindre l'utilisateur à l'accès aux données uniquement pour une version spécifique de l'objet.
s3:PutObject
s3:PutObjectAcl
s3:DeleteObjectVersion
s3:x-amz-acl
Définir une condition pour exiger des autorisations d'accès spécifiques lorsque l'utilisateur télécharge un objet.
s3:CreateBucket
s3:PutBucketAcl
s3:x-amz-grant-permission
(pour les permissions explicites), où la permission peut être : lecture, écriture, lecture-acp, écriture-acp, contrôle total
Le propriétaire du Bucket peut ajouter des conditions en utilisant ces clés pour exiger certaines permissions.
s3:CreateBucket
s3:PutBucketAcl
s3:prefix
Oblige l'utilisateur à spécifier cet en-tête dans la requête.
s3:PutObject
s3:PutObjectAcl
s3:delimiter
Exiger que l'utilisateur spécifie le paramètre de délimitation dans la requête Get Bucket (List Objects).
s3:PutObject
s3:PutObjectAcl
s3:DeleteObjectVersion
s3:max-keys
Limitez le nombre de clés que Object Storage Service renvoie en réponse à la requête Get Bucket (List Objects) en demandant à l'utilisateur de spécifier le paramètre max-keys.
s3:ListBucket
s3:ListBucketVersions