S3
Amazon S3 рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрдбрд╝реЗ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
Amazon S3 рдбреЗрдЯрд╛ рдХреЛ REST рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЕрдиреБрдорддрд┐ (рдиреАрддрд┐), рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди (рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб), рдмрдХреЗрдЯ рд╕рдВрд╕реНрдХрд░рдгрди рдФрд░ MFA рдЖрдзрд╛рд░рд┐рдд рд╣рдЯрд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ AWS рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬрд╣рд╛рдВ S3 рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЛ рд╕рднреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреГрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдВрдЧрдарди рдХреЛ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕рдВрд╕рд╛рдзрди-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрдк рдЕрдкрдиреЗ рдмрдХреЗрдЯ рдХреЗ рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмрдХреЗрдЯ рд╕рдВрд╕реНрдХрд░рдгрди рдФрд░ MFA рдЖрдзрд╛рд░рд┐рдд рд╣рдЯрд╛рдирд╛
рдЬрдм рдмрдХреЗрдЯ рд╕рдВрд╕реНрдХрд░рдгрди рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рдХреНрд░рд┐рдпрд╛ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рд╣реИ, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧреА, рд╕рд╛рде рд╣реА рдЙрд╕реА рдХреА рдкрд┐рдЫрд▓реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рднреА рдмрдирд╛рдП рд░рдЦреЗрдЧреАред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, MFA рдЖрдзрд╛рд░рд┐рдд рд╣рдЯрд╛рдирд╛ S3 рдмрдХреЗрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛ рдФрд░ рдмрдХреЗрдЯ рд╕рдВрд╕реНрдХрд░рдгрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рднреА рд░реЛрдХреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХреЗрдЧрд╛ред
S3 рдПрдХреНрд╕реЗрд╕ рд▓реЙрдЧ
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рдмрдХреЗрдЯ рдХреЗ рд▓рд┐рдП S3 рдПрдХреНрд╕реЗрд╕ рд▓реЙрдЧрд┐рди (рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ) рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдФрд░ рд▓реЙрдЧ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдмрдХреЗрдЯ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреМрди рдмрдХреЗрдЯ рддрдХ рдкрд╣реБрдБрдЪ рд░рд╣рд╛ рд╣реИ (рджреЛрдиреЛрдВ рдмрдХреЗрдЯ рдХреЛ рдПрдХ рд╣реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
S3 рдкреНрд░реАрд╕рд╛рдЗрдирдб рдпреВрдЖрд░рдПрд▓
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдкреНрд░реАрд╕рд╛рдЗрдирдб рдпреВрдЖрд░рдПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдмрдХреЗрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдкреНрд░реАрд╕рд╛рдЗрдирдб рдпреВрдЖрд░рдПрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ :
Copy https://<bucket-name>.s3.us-east-1.amazonaws.com/asd.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUUE8GZC4S5L3TY3P%2F20230227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230227T142551Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjELf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIBhQpdETJO3HKKDk2hjNIrPWwBE8gZaQccZFV3kCpPCWAiEAid3ueDtFFU%2FOQfUpvxYTGO%2BHoS4SWDMUrQAE0pIaB40qggMIYBAAGgwzMTgxNDIxMzg1NTMiDJLI5t7gr2EGxG1Y5CrfAioW0foHIQ074y4gvk0c%2B%2Fmqc7cNWb1njQslQkeePHkseJ3owzc%2FCwkgE0EuZTd4mw0aJciA2XIbJRCLPWTb%2FCBKPnIMJ5aBzIiA2ltsiUNQTTUxYmEgXZoJ6rFYgcodnmWW0Et4Xw59UlHnCDB2bLImxPprriyCzDDCD6nLyp3J8pFF1S8h3ZTJE7XguA8joMs4%2B2B1%2FeOZfuxXKyXPYSKQOOSbQiHUQc%2BFnOfwxleRL16prWk1t7TamvHR%2Bt3UgMn5QWzB3p8FgWwpJ6GjHLkYMJZ379tkimL1tJ7o%2BIod%2FMYrS7LDCifP9d%2FuYOhKWGhaakPuJKJh9fl%2B0vGl7kmApXigROxEWon6ms75laXebltsWwKcKuYca%2BUWu4jVJx%2BWUfI4ofoaGiCSaKALTqwu4QNBRT%2BMoK6h%2BQa7gN7JFGg322lkxRY53x27WMbUE4unn5EmI54T4dWt1%2Bg8ljDS%2BvKfBjqmAWRwuqyfwXa5YC3xxttOr3YVvR6%2BaXpzWtvNJQNnb6v0uI3%2BTtTexZkJpLQYqFcgZLQSxsXWSnf988qvASCIUhAzp2UnS1uqy7QjtD5T73zksYN2aesll7rvB80qIuujG6NOdHnRJ2M5%2FKXXNo1Yd15MtzPuSjRoSB9RSMon5jFu31OrQnA9eCUoawxbB0nHqwK8a43CKBZHhA8RoUAJW%2B48EuFsp3U%3D&X-Amz-Signature=3436e4139e84dbcf5e2e6086c0ebc92f4e1e9332b6fda24697bc339acbf2cdfa
A presigned URL can be created from the cli using credentials of a principal with access to the object (рдпрджрд┐ рдЖрдк рдЬрд┐рд╕ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдЫреЛрдЯрд╛ presigned URL рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдмреЗрдХрд╛рд░ рд╣реЛрдЧрд╛)
Copy aws s3 presign --region < bucket-regio n > 's3://<bucket-name>/<file-name>'
рдкреНрд░реЗрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП URL рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рд╡рд╣реА рд╣реИ рдЬреЛ рджреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдХреЗрд╡рд▓ s3:GetObject
рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдЕрдиреНрдп рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░реЗрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП URL рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рдВрднрд╡ рд╣реИ:
Copy import boto3
url = boto3 . client ( 's3' ). generate_presigned_url (
ClientMethod = 'put_object' ,
Params = { 'Bucket' : 'BUCKET_NAME' , 'Key' : 'OBJECT_KEY' },
ExpiresIn = 3600
)
S3 рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рддрдВрддреНрд░
DEK рдХрд╛ рдЕрд░реНрде рд╣реИ рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдФрд░ рдпрд╣ рд╡рд╣ рдХреБрдВрдЬреА рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред
S3 рдкреНрд░рдмрдВрдзрд┐рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, SSE-S3 рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рд╕рднреА рдкреНрд░рдмрдВрдзрди AWS рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реИ рдФрд░ S3 рд╕рднреА рдЕрдиреНрдп рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдЧрд╛ ред S3 рдЦрд╛рддреЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд▓реНрдЯреА рдХреЛ рдПрдХ рдмрд╛рд▓реНрдЯреА рдХреБрдВрдЬреА рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди:
рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ + рдмрдирд╛рдИ рдЧрдИ рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK --> рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ (S3 рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЧреНрд░рд╣реАрдд)
рдмрдирд╛рдИ рдЧрдИ рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK + S3 рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреА --> рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб DEK (S3 рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЧреНрд░рд╣реАрдд) рдФрд░ рдкреНрд▓реЗрди рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди:
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб DEK + S3 рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреА --> рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK
рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK + рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ --> рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдВрдЬреА AWS рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ (рд╣рд░ 3 рд╡рд░реНрд╖ рдореЗрдВ рдХреЗрд╡рд▓ рд░реЛрдЯреЗрд╢рди)ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдЦреБрдж рдХреА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд░реЛрдЯреЗрдЯ, рдЕрдХреНрд╖рдо рдФрд░ рдПрдХреНрд╕реЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░ рд╕рдХреЗрдВрдЧреЗред
KMS рдкреНрд░рдмрдВрдзрд┐рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, SSE-KMS рдпрд╣ рд╡рд┐рдзрд┐ S3 рдХреЛ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред KMS рдЖрдкрдХреЛ рдЕрдкрдиреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк CMK рдХреЛ рдЕрдХреНрд╖рдо, рд░реЛрдЯреЗрдЯ рдФрд░ рдПрдХреНрд╕реЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ AWS рдХреНрд▓рд╛рдЙрдб рдЯреНрд░реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЖрджреЗрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди:
S3 KMS CMK рд╕реЗ рдбреЗрдЯрд╛ рдХреБрдВрдЬреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ
KMS рдПрдХ CMK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DEK рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдФрд░ DEK рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЬреЛрдбрд╝реА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ S3 рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ
S3 рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХреБрдВрдЬреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рд╕реЗ рдкреНрд▓реЗрди рдЯреЗрдХреНрд╕реНрдЯ рдХреБрдВрдЬреА рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ
рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди:
S3 KMS рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдХреБрдВрдЬреА рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ
KMS CMK рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреБрдВрдЬреА рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ S3 рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИ
S3 рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ
рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, SSE-C рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ AWS рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред рдЖрдкрдХреА рдЧреНрд░рд╛рд╣рдХ-рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХреБрдВрдЬреА рдлрд┐рд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде S3 рдХреЛ рднреЗрдЬреА рдЬрд╛рдПрдЧреА, рдЬрд╣рд╛рдВ S3 рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд░реЗрдЧрд╛ред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди:
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ + рдЧреНрд░рд╛рд╣рдХ рдХреБрдВрдЬреА рдХреЛ S3 рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ
рдЧреНрд░рд╛рд╣рдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рднрд╡рд┐рд╖реНрдп рдХреА рдХреБрдВрдЬреА рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рдХреБрдВрдЬреА рдХрд╛ рдПрдХ рдирдордХреАрди HMAC рдорд╛рди рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЧреНрд░рд╛рд╣рдХ рдХреБрдВрдЬреА рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ
рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди:
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧреНрд░рд╛рд╣рдХ рдХреБрдВрдЬреА рднреЗрдЬрддрд╛ рд╣реИ
рдХреБрдВрдЬреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд HMAC рдорд╛рди рдХреЗ рдЦрд┐рд▓рд╛рдл рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
KMS рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, CSE-KMS SSE-KMS рдХреЗ рд╕рдорд╛рди, рдпрд╣ рднреА рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдмрд╛рд░ KMS рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рди рдХрд┐ S3 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдХреЛ S3 рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди:
рдХреНрд▓рд╛рдЗрдВрдЯ KMS рд╕реЗ рдбреЗрдЯрд╛ рдХреБрдВрдЬреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ
KMS рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK рдФрд░ CMK рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб DEK рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рджреЛрдиреЛрдВ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╡рд╛рдкрд╕ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИрдВ
рдХреНрд▓рд╛рдЗрдВрдЯ рдлрд┐рд░ рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ S3 рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ + рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб DEK (рдЬреЛ S3 рдХреЗ рдЕрдВрджрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИ) рднреЗрдЬрддрд╛ рд╣реИ
рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди:
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб DEK рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХреНрд▓рд╛рдЗрдВрдЯ CMK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХреБрдВрдЬреА рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП KMS рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдФрд░ KMS рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИ
рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдм рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, CSE-C рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЕрдкрдиреА рдЦреБрдж рдХреА рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ S3 рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ AWS-SDK рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди:
рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ DEK рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ
рдлрд┐рд░, рдЕрдкрдиреА рдЦреБрдж рдХреА рдХрд╕реНрдЯрдо CMK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DEK рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ + рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб DEK рдХреЛ S3 рдореЗрдВ рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди:
S3 рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдФрд░ DEK рднреЗрдЬрддрд╛ рд╣реИ
рдЪреВрдВрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ DEK рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ CMK рд╣реИ, рдпрд╣ DEK рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ DEK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдЧрдгрдирд╛
AWS рд╕рдВрдЧрдардиреЛрдВ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдореБрдЦреНрдп рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рд╕реБрд▓рдн рдмрд╛рд▓реНрдЯрд┐рдпреЛрдВ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмрд╛рд▓реНрдЯреА enumerators рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ .
Copy # Get buckets ACLs
aws s3api get-bucket-acl --bucket < bucket-nam e >
aws s3api get-object-acl --bucket < bucket-nam e > --key flag
# Get policy
aws s3api get-bucket-policy --bucket < bucket-nam e >
aws s3api get-bucket-policy-status --bucket < bucket-nam e > #if it's public
# list S3 buckets associated with a profile
aws s3 ls
aws s3api list-buckets
# list content of bucket (no creds)
aws s3 ls s3://bucket-name --no-sign-request
aws s3 ls s3://bucket-name --recursive
# list content of bucket (with creds)
aws s3 ls s3://bucket-name
aws s3api list-objects-v2 --bucket < bucket-nam e >
aws s3api list-objects --bucket < bucket-nam e >
aws s3api list-object-versions --bucket < bucket-nam e >
# copy local folder to S3
aws s3 cp MyFolder s3://bucket-name --recursive
# delete
aws s3 rb s3://bucket-name тАУ-force
# download a whole S3 bucket
aws s3 sync s3:// < bucke t > / .
# move S3 bucket to different location
aws s3 sync s3://oldbucket s3://newbucket --source-region us-west-1
# list the sizes of an S3 bucket and its contents
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
# Update Bucket policy
aws s3api put-bucket-policy --policy file:///root/policy.json --bucket < bucket-nam e >
##JSON policy example
{
"Id" : "Policy1568185116930" ,
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "Stmt1568184932403" ,
"Action" : [
"s3:ListBucket"
],
"Effect" : "Allow" ,
"Resource" : "arn:aws:s3:::welcome" ,
"Principal" : "*"
},
{
"Sid" : "Stmt1568185007451" ,
"Action" : [
"s3:GetObject"
],
"Effect" : "Allow" ,
"Resource" : "arn:aws:s3:::welcome/*" ,
"Principal" : "*"
}
]
}
# Update bucket ACL
aws s3api get-bucket-acl --bucket < bucket-nam e > # Way 1 to get the ACL
aws s3api put-bucket-acl --bucket < bucket-nam e > --access-control-policy file://acl.json
aws s3api get-object-acl --bucket < bucket-nam e > --key flag #Way 2 to get the ACL
aws s3api put-object-acl --bucket < bucket-nam e > --key flag --access-control-policy file://objacl.json
##JSON ACL example
## Make sure to modify the OwnerтАЩs displayName and ID according to the Object ACL you retrieved.
{
"Owner" : {
"DisplayName" : "<DisplayName>" ,
"ID" : "<ID>"
},
"Grants" : [
{
"Grantee" : {
"Type" : "Group" ,
"URI" : "http://acs.amazonaws.com/groups/global/AuthenticatedUsers"
},
"Permission" : "FULL_CONTROL"
}
]
}
## An ACL should give you the permission WRITE_ACP to be able to put a new ACL
dual-stack
рдЖрдк рдПрдХ S3 рдмрдХреЗрдЯ рдХреЛ рдбреБрдЕрд▓-рд╕реНрдЯреИрдХ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯреЗрдб-рд╕реНрдЯрд╛рдЗрд▓ рдпрд╛ рдкрд╛рде-рд╕реНрдЯрд╛рдЗрд▓ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ IPv6 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ S3 рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред
рдбреБрдЕрд▓-рд╕реНрдЯреИрдХ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
bucketname.s3.dualstack.aws-region.amazonaws.com
s3.dualstack.aws-region.amazonaws.com/bucketname
Privesc
рдЕрдЧрд▓реА рдкреГрд╖реНрда рдореЗрдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ S3 рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреИрд╕реЗ рдмрдврд╝рд╛рдПрдВ :
Unauthenticated Access
S3 Post Exploitation
Persistence
Other S3 vulns
S3 HTTP Cache Poisoning Issue
рдЗрд╕ рд╢реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рд╕рдВрднрд╡ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рдордирдорд╛рдиреЗ рдмрдХреЗрдЯ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛ рд╣реЛред рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ S3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд┐рд░ рдХреЛрдб рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдордирдорд╛рдиреЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
Amazon Athena
Amazon Athena рдПрдХ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдХреНрд╡реЗрд░реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИ рд╕реАрдзреЗ Amazon Simple Storage Service (Amazon S3 ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдирдХ SQL ред
рдЖрдкрдХреЛ рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ DB рдЯреЗрдмрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реЛ рдЬреЛ рдирд┐рдЧрд░рд╛рдиреА рдХрд┐рдП рдЧрдП S3 рдмрдХреЗрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╣реИред рдФрд░ рдлрд┐рд░, Amazon Athena рд▓реЙрдЧ рд╕реЗ DB рдХреЛ рднрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧреА, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХреЗрдВред
Amazon Athena рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб S3 рдбреЗрдЯрд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдФрд░ рдпрджрд┐ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ Athena рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рднреА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕реЗ рдлрд┐рд░ S3 рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреНрд╡реЗрд░реА рдХрд┐рдП рдЧрдП S3 рдбреЗрдЯрд╛ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА S3 рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рди рд╣реЛ, рдХреНрд╡реЗрд░реА рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ Amazon Athena рдХреЗрд╡рд▓ рдЙрди рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд S3 рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИрдВ, SSE-S3, SSE-KMS, рдФрд░ CSE-KMS ред
SSE-C рдФрд░ CSE-E рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ Amazon Athena рдХреЗрд╡рд▓ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдПрдЧреА рдЬреЛ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рдорд╛рди рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣реИрдВ ред рдпрджрд┐ рдЖрдкрдХреЛ KMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП S3 рдбреЗрдЯрд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Athena рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
Enumeration
Copy # Get catalogs
aws athena list-data-catalogs
# Get databases inside catalog
aws athena list-databases --catalog-name < catalog-nam e >
aws athena list-table-metadata --catalog-name < catalog-nam e > --database-name < db-nam e >
# Get query executions, queries and results
aws athena list-query-executions
aws athena get-query-execution --query-execution-id < i d > # Get query and meta of results
aws athena get-query-results --query-execution-id < i d > # This will rerun the query and get the results
# Get workgroups & Prepared statements
aws athena list-work-groups
aws athena list-prepared-statements --work-group < wg-nam e >
aws athena get-prepared-statement --statement-name < nam e > --work-group < wg-nam e >
# Run query
aws athena start-query-execution --query-string < quer y >
рд╕рдВрджрд░реНрдн
HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ HackTricks рдФрд░ HackTricks Cloud рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PR рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред