Я ищу модификацию правил ведра S3 с помощью boto/boto3. Я нашел два режима в boto3, через которые мы можем выполнять операцию по политике ведра.Amazon S3 изменить политику ведра с помощью boto/boto3
# i can get bucket policy object as follows
import boto3
s3_conn = boto3.resource('s3')
bucket_policy = s3_conn.BucketPolicy('bucket_name')
# i can make put(), load(), policy on bucket_policy object.
#similar in other way i can use following code
policy = s3_conn.get_bucket_policy(Bucket='bucket_name')
# similar to this there are two other calls put_bucket_policy and delete_bucket_policy.
Я ищу политику обновления bucket, в которой я могу добавить больше атрибутов.
например. Я хочу добавить еще одну запись под ключом Statement из следующей политики.
{
"Version": "2012-10-17",
"Id": "Policy14564645656",
"Statement": [{
"Sid": "Stmt1445654645618",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::6164563645030:root"
},
"Action": "s3:Get*",
"Resource": "arn:aws:s3:::bucket_name/abc/*"
}]
}
Есть ли прямой способ сделать это. Один очень странный способ - добавить запись в JSON, а затем PUT это как новую политику, но я ищу вызов, который позволяет пользователю обновлять политику, не зная выхода из политики.
Для вызова get_bucket_policy необходим клиент(). – user615501