Trong phần này, chúng ta sẽ tạo một IAM role và sử dụng IAM role cho ứng dụng của mình để có thể upload file lên S3 bucket.
Tạo IAM User và Access key
- Truy cập vào giao diện quản trị dịch vụ IAM
- Click Roles.
–
- Click Create role
–
- Tại mục **Choose a use case ** chúng ta click chọn EC2 để tạo một IAM role sử dụng cho ứng dụng chạy bên trong EC2.
- Click Next:Permissions
–
- Tại ô Filter policies , điền S3.
- Click chọn AmazonS3FullAccess, chúng ta sẽ cấp quyền full access để truy cập và upload file lên S3 bucket chúng ta đã tạo.
- Click Next: Tags.
–
- Click Next: Review.
- Đặt Role name là ec2roles3upload
- Click Create role.
–
Tiếp theo chúng ta sẽ dùng role này để gán vào EC2 instance và giúp ứng dụng của chúng ta có thể upload file lên S3 mà không cần sử dụng access key và secret access key trong code.
- Truy cập vào giao diện quản trị EC2
- Click chọn EC2 instance chúng ta đã tạo.
- Click Actions.
- Click Security.
- Click Modify IAM role.
–
- Click chọn role ec2roles3upload.
- Click Save.
–
- Quay trở lại giao diện dòng lệnh của EC2 instance.
- Chạy lệnh sau để tạo file ứng dụng python.
- Lưu ý thay giá trị phù hợp với giá trị của bạn.
touch upload-s3-usingec2role.py
echo “import boto3” > upload-s3-usingec2role.py
echo “s3 = boto3.client( ‘s3’ )” >> upload-s3-usingec2role.py
echo “s3.upload_file(‘test.txt’, ‘<S3BUCKETNAME>’, ‘test.txt’)” >> upload-s3-usingec2role.py
–
- Thực hiện chạy ứng dụng python của chúng ta để upload file lên S3 bucket.
python upload-s3-usingec2role.py
- Truy cập vào giao diện dịch vụ S3.
- Click S3 bucket s3-instancerole-001.
- Kiểm tra file đã được upload thành công lên S3 bucket.
–
Tip: Khi sử dụng IAM role gán vào EC2 instance ( còn gọi là EC2 instance profile ).Ứng dụng trên máy chủ EC2 truy xuất thông tin xác thực bảo mật được cung cấp bởi IAM Role từ EC2 metadata iam/ security-credentials/role-name. Ứng dụng được cấp quyền cho các hành động và tài nguyên mà chúng ta đã xác định cho IAM role thông qua thông tin xác thực bảo mật được liên kết với IAM role.
Chúng ta có thể kiểm tra thông tin xác thực bảo mật được tạo ra cho IAM role ec2roles3upload bằng câu lệnh sau . Chúng ta có thể thấy thông tin chứng thực có thời gian hết hạn ( Expiration ) và sẽ được tự động làm mới sau khoản thời gian hết hạn này.
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2roles3upload
–
Tip: Khi chúng ta thực hiện gán EC2 role vào EC2 instance thì việc sinh ra thông tin chứng thực tạm thời được thực thi tự động cho chúng ta thông qua một dịch vụ là Security Token Service ( STS ). Chúng ta cũng có thể sử dụng AWS CLI trong EC2 instance đã được gán IAM role mà không cần cấu hình. ( aws configure )
Chạy câu lệnh sau để liệt kê S3 bucket trong account:
aws s3 ls
–
Vina Aspire là công ty tư vấn, cung cấp các giải pháp, dịch vụ CNTT, An ninh mạng, bảo mật & an toàn thông tin tại Việt Nam. Đội ngũ của Vina Aspire gồm những chuyên gia, cộng tác viên giỏi, có trình độ, kinh nghiệm và uy tín cùng các nhà đầu tư, đối tác lớn trong và ngoài nước chung tay xây dựng.
Các Doanh nghiệp, tổ chức có nhu cầu liên hệ Công ty Vina Aspire theo thông tin sau:
Email: info@vina-aspire.com | Website: www.vina-aspire.com
Tel: +84 944 004 666 | Fax: +84 28 3535 0668
Vina Aspire – Vững bảo mật, trọn niềm tin