A política de intervalo do intervalo s3 significa permissão e ação que pode ser aplicada ao intervalo específico. O AWS S3 tem uma política opcional que pode ser usada para restringir ou conceder acesso a um recurso de bucket do S3. É importante observar que as políticas de bucket são definidas no formato JSON.

Para criar uma política de intervalo em python, seguiremos as etapas abaixo:

  • Etapa 1: a primeira etapa para criar uma política de intervalo é importar o boto3 do SDK do python. Isso nos fornecerá métodos pelos quais podemos acessar os recursos da AWS. E para o despejo de string de política, também precisamos importar JSON.      
import json
import boto3
  • Etapa 2: A segunda etapa será a criação de uma string de política. A string de política é um dicionário de par de valores-chave. Em que a primeira chave será a versão. E a segunda chave será a instrução na primeira chave da instrução será o sid que armazenará como digitar a política que queremos adicionar. E a segunda chave será o Efeito que irá armazenar o status de acesso e a terceira chave será a permissão que irá armazenar quem tem permissão para acessar e a quarta chave será uma ação que irá determinar o tipo de operação que podemos realizar e a última parâmetro neste recurso no qual aplicaremos esta política.

       

Exemplo:

bucket_policy = {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AddPerm",
                "Effect": "Allow",
                "Principal": "*",
                "Action": ["s3:*"],
                "Resource": ["arn:aws:s3:::gfgbucket/*"]
            }
        ]
    }

Etapa 3: a terceira etapa precisará converter a string de política do intervalo em JSON.

json.dumps(bucket_policy)

Etapa 4:   a quarta etapa será colocar a política do intervalo no intervalo, precisamos chamar a função put_bucket_policy() . Essa função terá o primeiro parâmetro, o nome do intervalo, e o segundo parâmetro será a string da política.

put_bucket_policy(Bucket,policy)

Etapa 5: a última etapa será ir para AWS-> S3-> Bucket-> Permission-> Bucket policy e verificar .

            

Código completo:

import json
import boto3
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
    )

Saída:

 Atenção geek! Fortaleça suas bases com o Python Programming Foundation Course e aprenda o básico.