برنامه نویسی

iam rols Any Where: از اعتبار AWS خارج از ابر استفاده کنید

وقتی با AWS کار می کنیم ، استفاده از آن معمول است در حال حاضر نقش ها برای مدیریت مجوزها با خیال راحت در زیرساخت های ابری. با این حال ، چه اتفاقی می افتد که ما می خواهیم به منابع AWS از سرورهای داخلی ، ابرهای دیگر یا دستگاه های محلی بدون استفاده از کلیدهای دسترسی استاتیک دسترسی پیدا کنیم؟

اینجاست که بازی می کند IAM نقش در هر کجا، راه حلی که به ما امکان می دهد از هویت های AWS استفاده کنیم و به مدیریت دسترسی پیدا کنیم از AWS بدون به خطر انداختن امنیت.


IAM نقش در هر کجا این خدمتی است که به سیستم اجازه می دهد از AWS نقش های IAM را بدون استفاده از اعتبارنامه های بلند مدت (مانند کلیدهای دسترسی و اسرار) فرض کنید. در عوض ، این بر اساس گواهینامه هایی است که توسط a امضا شده است مرجع صدور گواهینامه (CA) از AWS Private CA یا یک اعتماد به نفس خود.

در اصل ، IAM در هر کجا نقش دارد استفاده از نقش های IAM را گسترش می دهد فراتر از ابر AWS ، به سرورهای معتبر ، برنامه ها و دستگاه ها اجازه می دهد تا اعتبار موقت را برای تعامل با خدمات AWS بدست آورند.


اگر زیرساخت های ترکیبی را مدیریت می کنید یا نیاز به دسترسی به منابع AWS از خارج از اکوسیستم خود دارید ، این سرویس مزایای مختلفی را ارائه می دهد:

  • امنیت بهبود یافته → نیاز به ذخیره اعتبار طولانی مدت را از بین می برد.

  • مدیریت کمتر کلیدی → به جای کلیدهای دسترسی از گواهینامه ها استفاده کنید و خطرات را کاهش دهید.

  • سازگاری با زیرساخت های ترکیبی → مناسب برای محل یا ابرهای دیگر.

  • مدیریت مجوزهای متمرکز → آنها با سیاست های استاندارد IAM یکپارچه شده اند.

بدون این راه حل ، بسیاری از سازمان ها در نهایت اعتبار استاتیک را روی سرورهای خارجی ذخیره می کنند ، که در صورت به خطر انداختن این کلیدها ، خطر ایمنی را نشان می دهد.


این سرویس مبتنی بر است چهار مؤلفه اصلی:

  1. AWS خصوصی به عنوان یک خارجی برای تأیید اعتبار اشخاص خارجی ، گواهینامه هایی را صادر می کند.

  2. مشخصات → تعریف کنید که ROL ها می توانند یک موجود معتبر را فرض کنند.

  3. در حال حاضر نقش ها → همان نقش های AWS با مجوزهای تعریف شده توسط سیاستهای IAM.

  4. لنگر اعتماد → CA ضبط شده در IAM در هر جایی که هویت گواهینامه ها را تأیید می کند.

هنگامی که یک سرور یا برنامه خارجی می خواهد اعتبار موقت را بدست آورد ، جریان به شرح زیر است:

  • قبلاً با گواهی شما معتبر است IAM نقش در هر کجابشر

  • اگر گواهی معتبر باشد و نهاد دارای یک است مشخصات اختصاص داده شده ، اعتبار موقت اعطا می شود.

  • با این اعتبارنامه ها می توانید با آن ارتباط برقرار کنید خدمات AWS گویی داخل ابر است.

اطلاعات بیشتری در مورد نقش های هر مکان در اینجا کسب کنید.


فرض کنید ما یک Servidor در محل که باید به یک سطل دسترسی پیدا کند آمازون S3 بدون استفاده از اعتبار استاتیک.

1⃣ یک سازمان صدور گواهینامه (CA) را در AWS پیکربندی کنید

اگر CA خصوصی در AWS ندارید ، می توانید یکی از آنها را ایجاد کنید AWS Private CA:

aws acm-pca create-certificate-authority \
    --certificate-authority-configuration file://ca-config.json \
    --tags Key=Name,Value=MyPrivateCA
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، ما CA RNA را برای ثبت نام در آن دریافت می کنیم IAM نقش در هر کجا به عنوان لنگر اعتمادبشر

aws acm-pca list-certificate-authorities
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2 ⃣ ایجاد یک لنگر اعتماد در حال حاضر در هر کجا نقش دارد

aws iam-rolesanywhere create-trust-anchor \
    --name MyTrustAnchor \
    --source "sourceType=AWS_ACM_PCA,sourceArn=arn:aws:acm-pca:REGION:ACCOUNT_ID:certificate-authority/CA_ID"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3⃣ یک پروفایل ایجاد کرده و آن را با نقش IAM مرتبط کنید

aws iam-rolesanywhere create-profile \
    --name MyIAMProfile \
    --role-arns "arn:aws:iam::ACCOUNT_ID:role/MyIAMRole"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این است مشخصات به نهادهای معتبر اجازه می دهد نقش را به عهده بگیرند مگسبشر

4⃣ اعتبارنامه موقت را از سرور داخلی دریافت کنید

در سرور در محل ، رول های IAM را در هر کجا نصب می کنیم:

sudo yum install -y aws-signing-helper
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون ما از گواهینامه برای تأیید اعتبار و دریافت اعتبار موقت استفاده می کنیم:

aws_signing_helper credential-process \
    --certificate /path/to/certificate.pem \
    --private-key /path/to/private-key.pem \
    --trust-anchor-arn arn:aws:rolesanywhere:REGION:ACCOUNT_ID:trust-anchor/TRUST_ANCHOR_ID \
    --profile-arn arn:aws:rolesanywhere:REGION:ACCOUNT_ID:profile/PROFILE_ID \
    --role-arn arn:aws:iam::ACCOUNT_ID:role/MyIAMRole
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر همه چیز به درستی پیکربندی شده باشد ، ما اعتبار موقت را بدست می آوریم که می توانیم از آنها برای دسترسی به AWS S3 استفاده کنیم:

export AWS_ACCESS_KEY_ID="ACCESS_KEY"
export AWS_SECRET_ACCESS_KEY="SECRET_KEY"
export AWS_SESSION_TOKEN="SESSION_TOKEN"

aws s3 ls s3://my-bucket-name
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


نقش های IAM در هر کجا یک راه حل اصلی برای محیط های ترکیبی است ، زیرا این امکان را می دهد تا بدون تکیه بر اعتبار استاتیک ، ایمنی و مدیریت مجوزهای AWS را فراتر از ابر گسترش دهد.

اگر با سرورهای زیرساختی در محل یا زیرساخت کار می کنید ، این ابزار به شما کمک می کند بدون عوارض حفظ کنید.

آیا در جایی رول IAM را امتحان کرده اید؟ تجربه خود را در نظرات به من بگویید! 👇🏻

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا