Наряду со стандартными заголовками, система поддерживает специфичные элементы, перечисленные ниже.
Подробную информацию об операции и примеры см. в документации AWS: PutBucketPolicy
Предыдущее название операции: PUT Bucket polic
Элементы запроса (Request Elements)
Тело запроса представляет собой политику бакета в формате JSON, содержащую одно или несколько утверждений(statement) политики. В блоке(ах) утверждений политики поддержка системой элементов утверждений политики и их значений выглядит следующим образом:- Sid -- также, как в AWS: Пользовательская строка, идентифицирующая утверждение, например, "Statement1" или "Only allow access from partner source IPs"
- Effect -- также, как в AWS: "Allow" или "Deny"
- Principal - должно быть одно из следующего:
- "*" - утверждение применяется ко всем пользователям.
- {"CanonicalUser": "<canonicalUserId>"} - утверждение применяется к указанному пользователю.
- {"CanonicalUser": ["<canonicalUserId>", "<canonicalUserId>"]} -- утверждение применяется к указанным пользователям.
Примечание.Канонический идентификатор пользователя в системе можно получить, воспользовавшись методом Admin API. GET /user.
- Action - см.ниже.
- Resource - также, как в AWS; должно быть одно из:
- "arn:aws:s3:::" -- для действий с бакетами (таких, как "s3:ListBucket") и субресурсами бакетов (таких, как "s3:GetBucketAcl").
- "arn:aws:s3:::/*" или "arn:aws:s3:::/" -- для действий с объектами(таких, как "s3:PutObject").
- Condition - см.ниже.
Поддерживаемые действия (Action)
В рамках политик хранилища система поддерживает только следующие значения действий:Примечание.Информацию о том, как использовать значения Action в политике бакета, см. в документации AWS Указание Разрешений в Политике.
Для объектов
- s3:AbortMultipartUpload
- s3:BypassGovernanceRetention
- s3:DeleteObject
- s3:DeleteObjectTagging
- s3:DeleteObjectVersion
- s3:DeleteObjectVersionTagging
- s3:GetObject
- s3:GetObjectAcl
- s3:GetObjectLegalHold
- s3:GetObjectRetention
- s3:GetObjectTagging
- s3:GetObjectTorrent
- s3:GetObjectVersion
- s3:GetObjectVersionAcl
- s3:GetObjectVersionTagging
- s3:ListMultipartUploadParts
- s3:PutObject
- s3:PutObjectAcl
- s3:PutObjectLegalHold
- s3:PutObjectRetention
- s3:PutObjectTagging
- s3:PutObjectVersionAcl
- s3:PutObjectVersionTagging
- s3:RestoreObject
Для бакетов
- s3:CreateBucket
- s3:DeleteBucket
- s3:ListBucket
- s3:ListBucketMultipartUploads
- s3:ListBucketVersions
Для субресурсов бакетов
- s3:DeleteBucketPolicy
- s3:DeleteBucketWebsite
- s3:GetBucketAcl
- s3:GetBucketCORS
- s3:GetBucketLocation
- s3:GetBucketLogging
- s3:GetBucketNotification
- s3:GetBucketObjectLockConfiguration
- s3:GetBucketPolicy
- s3:GetBucketRequestPayment
- s3:GetBucketTagging
- s3:GetBucketVersioning
- s3:GetBucketWebsite
- s3:GetLifecycleConfiguration
- s3:GetReplicationConfiguration
- s3:PutBucketAcl
- s3:PutBucketCORS
- s3:PutBucketLogging
- s3:PutBucketNotification
- s3:PutBucketObjectLockConfiguration
- s3:PutBucketPolicy
- s3:PutBucketRequestPayment
- s3:PutBucketTagging
- s3:PutBucketVersioning
- s3:PutBucketWebsite
- s3:PutLifecycleConfiguration
- s3:PutReplicationConfiguration
Примечание: Как и Amazon, система поддерживает использование звездочки (* вайлдкард) - подстановочного знака в конфигурации действия ("Action":["s3:*"]).
Когда звездочка используется вместе с элементом ресурса уровня объекта ("arn:aws:s3:::/*" или "arn:aws:s3:::/"), она обозначает все действия с объектами, которые поддерживает система.
Когда звездочка используется вместе с элементом ресурса уровня бакета ("arn:aws:s3:::"), она обозначает все действия с бакетами и их подресурсами, которые поддерживает система.
Поддерживаемые Условия ("Condition")
В описании политик система поддерживает только следующие операторы условий и ключи:Примечание.Информацию об использовании операторов условий и ключей в политике бакета, см. в документации AWS Указание Разрешений в Политике.
Условия (Condition Operators)
- IpAddress
- NotIpAddress
- NumericEquals
- NumericNotEquals
- NumericLessThan
- NumericLessThanEquals
- NumericGreaterThan
- NumericGreaterThanEquals
- StringEquals
- StringNotEquals
- StringEqualsIgnoreCase
- StringNotEqualsIgnoreCase
- StringLike
- ForAllValues:StringLike
- ForAnyValue:StringLike
- StringNotLike
Значения условий (Condition Keys)
- aws:Referer
- aws:SourceIp
- s3:delimiter
- s3:ExistingObjectTag/<tag-key>
- s3:LocationConstraint
- s3:max-keys
- s3:prefix
- s3:RequestObjectTag/<tag-keys>
- s3:RequestObjectTagKeys
- s3:VersionId
- s3:x-amz-acl
- s3:x-amz-copy-source
- s3:x-amz-grant-full-control
- s3:x-amz-grant-read
- s3:x-amz-grant-read-acp
- s3:x-amz-grant-write
- s3:x-amz-grant-write-acp
- s3:x-amz-metadata-directive
- s3:x-amz-server-side-encryption
- s3:object-lock-mode
- s3:object-lock-retain-until-date
- s3:object-lock-legal-hold
- s3:object-lock-remaining-retention-days
Примеры того, что можно делать с политиками BucketPolicy, см. в документации AWS.
см. также:
к S3 API