Securizarea obiectelor

Introducere în AWS Boto în Python

Maksim Pecherskiy

Data engineer

De ce contează permisiunile?

df = pd.read_csv('https://gid-staging.potholes.csv')

Prezentare generală permisiuni

Introducere în AWS Boto în Python

De ce contează permisiunile?

Permisiune acordată!

# Generate the boto3 client for interacting with S3
s3 = boto3.client('s3', region_name='us-east-1', 
                         aws_access_key_id=AWS_KEY_ID, 
                         aws_secret_access_key=AWS_SECRET)

# Use client to download a file s3.download_file( Filename='potholes.csv', Bucket='gid-requests', Key='potholes.csv')
Introducere în AWS Boto în Python

Sisteme de permisiuni AWS

IAM

Politică Bucket

ACL

URL presemnat

Introducere în AWS Boto în Python

Sisteme de permisiuni AWS

IAM

Politică Bucket

ACL

URL presemnat

Introducere în AWS Boto în Python

ACL-uri

ACL

Introducere în AWS Boto în Python

ACL-uri

Încărcare fișier

s3.upload_file(
  Filename='potholes.csv', Bucket='gid-requests', Key='potholes.csv')

Setare ACL la 'public-read'

s3.put_object_acl(
  Bucket='gid-requests', Key='potholes.csv', ACL='public-read')
Introducere în AWS Boto în Python

Setarea ACL-urilor la încărcare

Încărcare fișier cu ACL 'public-read'

s3.upload_file(
  Bucket='gid-requests', 
  Filename='potholes.csv', 
  Key='potholes.csv', 
  ExtraArgs={'ACL':'public-read'})
Introducere în AWS Boto în Python

Accesarea obiectelor publice

Format URL obiect S3

https://{bucket}.{key}

URL pentru Key='2019/potholes.csv'

https://gid-requests.2019/potholes.csv
Introducere în AWS Boto în Python

Generarea URL-ului pentru obiecte publice

Generare șir URL obiect

url = "https://{}.{}".format(
  "gid-requests", 
  "2019/potholes.csv")

'https://gid-requests.2019/potholes.csv'

# Read the URL into Pandas
df = pd.read_csv(url)
Introducere în AWS Boto în Python

Cum se decide accesul

Ierarhia accesului

Introducere în AWS Boto în Python

Cum se decide accesul

Ierarhia accesului

Introducere în AWS Boto în Python

Recapitulare

IAM

Politică Bucket

ACL

URL presemnat

Introducere în AWS Boto în Python

Recapitulare

Setare ACL la 'public-read'

s3.put_object_acl(
  Bucket='gid-requests', Key='potholes.csv', ACL='public-read')

Setare ACL la 'private'

s3.put_object_acl(
  Bucket='gid-requests', Key='potholes.csv', ACL='private')
Introducere în AWS Boto în Python

Recapitulare

Încărcare fișier cu ACL 'public-read'

s3.upload_file(
  Bucket='gid-requests', 
  Filename='potholes.csv', 
  Key='potholes2.csv', 
  ExtraArgs={'ACL':'public-read'})
Introducere în AWS Boto în Python

Recapitulare

Generare șir URL obiect

url = "https://{}.{}".format(
  "gid-requests", 
  "2019/potholes.csv")

'https://gid-requests.2019/potholes.csv'

# Read the URL into Pandas
df = pd.read_csv(url)
Introducere în AWS Boto în Python

Să exersăm!

Introducere în AWS Boto în Python

Preparing Video For Download...