La política de depósito del depósito s3 significa permiso y acción que se puede aplicar en el depósito en particular. AWS S3 tiene una política opcional que se puede usar para restringir u otorgar acceso a un recurso de depósito de S3. Es importante tener en cuenta que las políticas de depósito se definen en formato JSON.
Para crear una política de depósito en python, seguiremos los pasos a continuación:
- Paso 1: el primer paso para crear una política de depósito es que necesitamos importar python SDK boto3. Esto nos proporcionará métodos por los que podemos acceder a los recursos de AWS. Y para el volcado de strings de políticas, también necesitamos importar JSON.
import json import boto3
- Paso 2: el segundo paso será que necesitamos crear una string de política. La string de política es un diccionario de pares clave-valor. En el que la primera clave será la Versión. Y la segunda clave será la declaración en la primera clave de la declaración será el sid que almacenará cómo escribir la política que queremos agregar. Y la segunda clave será el Efecto que almacenará el estado de acceso y la tercera clave será el permiso que almacenará quién tiene permiso para acceder y la cuarta clave será una acción que indicará qué tipo de operación podemos realizar y la última parámetro en este Recurso sobre el que aplicaremos esta política.
Ejemplo:
bucket_policy = { "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": ["s3:*"], "Resource": ["arn:aws:s3:::gfgbucket/*"] } ] }
Paso 3: el tercer paso deberá convertir la string de política del depósito en JSON.
json.dumps(bucket_policy)
Paso 4: El cuarto paso será poner la política del depósito en el depósito. Necesitamos llamar a la función put_bucket_policy() . Esta función tomará el primer parámetro, el nombre del depósito, y el segundo parámetro será la string de la política.
put_bucket_policy(Bucket,policy)
Paso 5: El último paso será ir a AWS->S3->Bucket->Permission->Bucket policy y verificar .
Código completo:
Python3
import json import boto3 s3_client=boto3.client('s3') BUCKET_NAME='gfgbucket' def create_bucket_policy(): bucket_policy = { "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": ["s3:*"], "Resource": ["arn:aws:s3:::gfgbucket/*"] } ] } policy_string = json.dumps(bucket_policy) s3_client().put_bucket_policy( Bucket=BUCKET_NAME, Policy=policy_string )
Producción:
Publicación traducida automáticamente
Artículo escrito por cse1604310056 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA