Politiques de Buckets
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.
Gérer les 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éer une politique de gestion de Bucket
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
Afficher la politique de gestion sur un Bucket
Supprimer une politique de gestion sur un Bucket
Exemples de politique de gestion d'un bucket
Accorder des permissions à un Object User
Accorder des permissions en lecture seule à un Object User
Accorder les autorisations d’accès à tous les utilisateurs (accès public)
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.
Accès à un Bucket via un navigateur Web
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
Accorder les autorisations d’accès à tous les utilisateurs (accès public) pour les objets sous un préfixe spécifique
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 :
Opérations et conditions des politiques supportées
Opérations supportées
Permissions pour les opérations sur les objets
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"
Permissions pour les opérations sur les Buckets
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
Permissions pour les opérations sur les sous-ressources d'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
Conditions supportées
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.
Conditions génériques supportées
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
Conditions spécifiques supportées pour les opérations sur les objets
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
Conditions spécifiques prises en charge pour les opérations sur les Buckets
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
Last updated