ایجاد نقش های S3 IAM برای یک نمونه EC2
به عنوان یک مهندس ابر، باید مجوزهایی را به یک نمونه EC2 برای دسترسی به سطل S3 بدهید. نمونههای EC2، بهطور پیشفرض، اجازه دسترسی به سطل S3 را ندارند. برای اجازه دادن به یک نمونه EC2 برای دسترسی به سطل S3، باید مجوزهای لازم را پیکربندی کنید. همچنین باید سطل های S3 را از نمونه های EC2 پرس و جو کنید و سطل S3 را دستکاری کنید.
راه حل با استفاده از کنسول AWS پیاده سازی خواهد شد
شما وارد کنسول شده و به تب IAM بروید:
-در پنل سمت چپ روی Roles کلیک کنید
ما قصد داریم یک نقش جدید برای نمونه ec2 ایجاد کنیم
- روی ایجاد نقش کلیک کنید
- سرویس AWS را انتخاب کنید
- برای موارد استفاده EC2 را انتخاب کنید
- روی Next کلیک کنید
در این مرحله میخواهیم خطمشیهای مجوز را اضافه کنیم، شما میتوانید از AWSهای ارائهشده استفاده کنید یا یک خطمشی جدید بر اساس نیاز خود ایجاد کنید.
طبق دستورالعملهایی که برای ایجاد یک خطمشی جدید که مختص یک سطل باشد، نیاز داریم، یک خطمشی جدید از طریق ایجاد خواهیم کرد.
گزینه create Policy را انتخاب کنید و از تب json استفاده کنید، من با توجه به نیازم موارد زیر را مشخص می کنم که عبارتند از List، Read و Write. من اقدامات اساسی را برای خط مشی مشخص می کنم و bucket arn را به عنوان منبع مشخص می کنم
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::cloudforcebucketnew",
"arn:aws:s3:::cloudforcebucketnew/*"
]
}
]
}
- روی Next کلیک کنید
- بررسی و ایجاد خط مشی و نقش
- نقش جدید ایجاد خواهد شد. گام بعدی این است که نقش را به نمونه EC2 خود متصل کنید
به نمونه EC2 خود بروید
- نمونه EC2 را که می خواهید نقش را پیوست کنید، انتخاب کنید
- در تب اقدامات، امنیت را انتخاب کرده و روی modify IAM role کلیک کنید
- نقشی را که با استفاده از نام ایجاد کردید انتخاب کنید
- به روز رسانی نقش IAM را کلیک کنید
نقش IAM اکنون به نمونه EC2 متصل شده است
اکنون می توانیم از طریق نمونه EC2 به S3 دسترسی داشته باشیم
به نمونه وصل شوید
شما می توانید آن را با لیست کردن تمام سطل های S3 تست کنید
aws s3 ls s3://cloudforcebucketnew
شما همچنین می توانید تمام اشیاء در فهرست فرعی را با لیست کنید
aws s3 ls s3://cloudforcebucketnew --recursive
و اینگونه است که می توانید یک نقش IAM برای نمونه EC2 خود برای دسترسی به سطل S3 ایجاد کنید