برنامه نویسی

نحوه دسترسی به پایگاه داده خصوصی AWS RDS

این مقاله در ابتدا در وبلاگ Border0.com منتشر شده است.

سرویس پایگاه داده رابطه‌ای آمازون (RDS) یک پایگاه داده محبوب و کاملاً مدیریت شده است که برای بسیاری به پایگاه داده انتخابی تبدیل شده است. این پایگاه‌های داده معمولاً حاوی داده‌های حساس هستند، بنابراین جداسازی پایگاه داده در VPC‌های خصوصی یک معماری معمولی و عاقلانه است. اما این راه‌اندازی هزینه دارد، از آنجایی که ایزوله است، همچنین زندگی را برای مدیران و مهندسان پایگاه داده انسانی که نیاز به دسترسی دارند، سخت‌تر می‌کند. اینجاست که Border0 وارد می‌شود و ترکیب کاملی را ارائه می‌کند – پایگاه داده AWS RDS ایزوله در یک VPC خصوصی برای امنیت آرامش‌بخش و در عین حال دسترسی آسان را فقط برای کسانی که به آن نیاز دارند، فراهم می‌کند، گویی پایگاه داده درست زیر میز آنها است. و بهترین بخش؟ بدون خطرات امنیتی! این یک برد-برد است!

در این وبلاگ، چالش‌های دسترسی به پایگاه‌های داده RDS در یک VPC خصوصی را بررسی می‌کنیم و نشان می‌دهیم که چگونه این مشکل را حل کنید و به راحتی با استفاده از Border0 به پایگاه داده خصوصی خود دسترسی پیدا کنید، یک راه‌حل دسترسی بدون اعتماد برای دسترسی به RDS. با استفاده از Border0، می‌توانید آن روش‌های سنتی بی‌هدف مانند VPN، اعتبار پایگاه داده مشترک را کنار بگذارید و دسترسی تیم خود به پایگاه‌های داده را در هر زمان و هر مکان بسیار آسان کنید.


چالش: دسترسی به پایگاه های داده RDS و اعتبار مشترک.

ایجاد یک پایگاه داده AWS RDS برای مهندسان و مدیران برای دسترسی به پایگاه داده برای کارهای معمول یا عیب یابی معمولاً با دو چالش همراه است. اول، دسترسی به شبکه، و دوم، اعتبار پایگاه داده. بیایید نگاهی به هر یک از این موارد بیندازیم.

نگهداری پایگاه داده های RDS در VPC های خصوصی یک حرکت هوشمندانه برای امنیت است. اما نقطه ضعف آشکار این است که مهندسان و مدیران برای کارهای روزمره، عیب یابی یا تعمیر و نگهداری، زمان سختی برای ورود به پایگاه داده دارند. راه‌حل‌های معمول – راه‌اندازی VPN‌ها، میزبان سنگرها یا جعبه‌های پرش – بسیار ایده‌آل نیستند. آنها وقت گیر، درهم و برهم هستند، اصطکاک ایجاد می کنند و کارایی امنیتی لازم را ارائه نمی کنند. به عنوان مثال، تعیین اینکه چه کسی در هر زمان به پایگاه داده دسترسی داشته است دشوار است.

چالش دوم چالش اعتبار پایگاه داده مشترک است. دسترسی به پایگاه‌های اطلاعاتی با استفاده از اعتبار مشترک، معمولاً به این دلیل که اکثر پایگاه‌های داده از SSO پشتیبانی نمی‌کنند، هنوز هم معمول است. این رویه رایج فرآیند چرخش دوره ای اعتبارنامه ها را پیچیده می کند و تعیین اینکه چه کسی به آنها دسترسی دارد را دشوار می کند. علاوه بر این، اعتبار پایگاه داده مشترک مانع از حسابرسی و پاسخگویی می شود. وقتی چندین نفر با استفاده از یک کاربر مشترک به پایگاه داده متصل می شوند، نسبت دادن پرس و جوهای خاص به افراد خاص به یک کار دلهره آور تبدیل می شود.

با استفاده از Border0 می توانیم هر دوی این چالش ها را حل کنیم. ما دسترسی مهندسان به پایگاه داده RDS را بسیار آسان می کنیم، حتی اگر در VPC خصوصی باشند، بدون نیاز به VPN. ما همچنین نیاز به اعتبارنامه های مشترک را از بین می بریم و کاربران می توانند از اعتبارنامه های Single Sign-On موجود خود برای ورود به پایگاه داده RDS استفاده کنند. در نهایت، با استفاده از Border0، دقیقاً متوجه خواهید شد که چه کسی به پایگاه داده شما دسترسی داشته است، از کجا و چه زمانی، و چه کوئری هایی اجرا شده اند.

راهنمای گام به گام دسترسی به پایگاه های داده RDS با Border0

خیلی خوب صحبت کنید، بیایید دستمان را کثیف کنیم و در فرآیند استفاده از Border0 برای دسترسی به پایگاه داده RDS آمازون قدم برداریم.

در این مثال ما از MySQL استفاده می کنیم، اما Postgres نیز پشتیبانی می شود. ما فرض می کنیم که شما قبلاً یک نمونه پایگاه داده RDS (MySQL) و همچنین یک EC2 یا کانتینری دارید که به RDS دسترسی دارد و به عنوان یک اتصال دهنده عمل می کند. ما همچنین فرض می کنیم که این رابط قبلاً ابزار border0 cli را نصب کرده است.

اولین مرحله ایجاد یک فایل پیکربندی برای کانکتور border0 است، این یک مثال است:

ubuntu@connector01:~$ cat border0.yaml 
connector:
   name: "my-rds-connector"

credentials:
   token: YOURTOKENGOESHERE

sockets:
   - rds-us-east-2:
       port: 3306
       host: my-rds-instance.cluster.us-east-2.rds.amazonaws.com
       type: database
       policies: [demo-rds-policy]
       upstream_type: mysql
       upstream_user: border0_user
       upstream_password: AVeryLongAndSecurePasswordThingyTokenLikeStuff
وارد حالت تمام صفحه شوید

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

در این مثال، ما تمام اطلاعات مورد نیاز کانکتور را برای در دسترس قرار دادن نمونه RDS از طریق ابر Border0 تعریف می کنیم. همچنین توجه داشته باشید که به سیاستی به نام demo-rds-policy اشاره شده است. این خط مشی مشخص می کند که چه کسانی و تحت چه شرایطی به پایگاه داده دسترسی خواهند داشت.

بعد، اجازه دهید کانکتور را شروع کنیم.

border0 connector start --config /etc/border0/border0.yaml
وارد حالت تمام صفحه شوید

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


خودشه! اکنون کاربران باید بتوانند با استفاده از سرویس گیرنده پایگاه داده مورد علاقه خود به این پایگاه داده خصوصی RDS متصل شوند. Border0 با کلاینت‌های مختلف پایگاه داده محبوب ادغام می‌شود و کاربران می‌توانند نمونه‌های RDS خود را بدون تغییر در مجموعه ابزار خود کشف و به آن متصل شوند.

کشف پایگاه های داده ای که کاربر به آنها دسترسی دارد و دسترسی سریع با استفاده از سرویس گیرنده پایگاه داده مورد علاقه خود

ذخیره اسرار امن

ما می توانیم دو بهبود امنیتی دیگر انجام دهیم. از آنجایی که ما از AWS استفاده می کنیم، می توانیم از SSM برای ذخیره و بازیابی اسرار مانند نشانه Border0 و اعتبار پایگاه داده استفاده کنیم. به این ترتیب، ما نیازی به تعریف آنها در فایل کانفیگ خود به صورت ایستا نداریم. اسرار متن ساده کمتر بهتر است! در مثال زیر، ما تمام اسرار را حذف کرده ایم. در عوض، به مکان SSM اشاره می کنیم که این اسرار را در خود نگه می دارد. تنها کاری که باید انجام دهید این است که مطمئن شوید هاست رابط نقش مناسبی را ایفا می کند.

ubuntu@connector01:~$ cat border0.yaml 
connector:
   name: "my-rds-connector"
   ssm-aws-region: "us-east-2"

credentials:
   token: aws:ssm:/path/to/the/connector-token

sockets:
   - rds-us-east-2:
       port: 3306
       host: my-rds-instance.cluster.us-east-2.rds.amazonaws.com
       type: database
       policies: [demo-rds-policy]
       upstream_type: mysql
       upstream_user: aws:ssm:/path/to/the/username
       upstream_password: aws:ssm:/path/to/the/password
وارد حالت تمام صفحه شوید

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

احراز هویت RDS IAM

آخرین پیشرفت امنیتی این است که کانکتور از احراز هویت AWS IAM برای اتصال به نمونه RDS استفاده کند. Border0 از ادغام با احراز هویت AWS IAM با RDS پشتیبانی می کند. به این ترتیب، تنها کاری که باید انجام دهید این است که به میزبان EC2 یا کانتینر نقش مناسب را بدهید، و رونق، موفقیت 🙌 یک راز کمتر برای مدیریت.

مثالی از استفاده از Border0 با احراز هویت SSM و RDS IAM:

ubuntu@connector01:~$ cat border0.yaml 
connector:
   name: "my-awesome-connector"
   ssm-aws-region: "us-east-2"

credentials:
   token: aws:ssm:/path/to/the/connector-token

sockets:
   - db-b0-iam-creds:
      type: database
      port: 3306
      policies: [demo-rds-policy]
      host: aws:ssm:/border0/demo-rds-address
      upstream_type: mysql
      upstream_user: Border0ConnectorRDSUser
      rds_iam_auth: true
      aws_region: us-west-2
وارد حالت تمام صفحه شوید

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

برای جزئیات بیشتر در مورد گزینه‌های پیکربندی مختلف و نحوه استفاده از Border0 با RDS و پیکربندی خط‌مشی‌های صحیح AWS، به docs.border0.com مراجعه کنید.

بسته شدن

در این وبلاگ، ما بررسی کردیم که چگونه Border0 روشی را که سازمان‌ها با دسترسی، کشف، و قابلیت حسابرسی به پایگاه‌داده مدیریت می‌کنند، بدون توجه به جایی که پایگاه داده شما میزبانی می‌شود، متحول می‌کند. ما نشان دادیم که چگونه Border0 کاربران را قادر می‌سازد تا بدون نیاز به VPN و فقط با استفاده از اعتبارنامه SSO خود به پایگاه‌های داده خصوصی AWS RDS دسترسی داشته باشند و تعریف شرایط دسترسی و حذف حساب‌های مشترک را آسان می‌کند. این به طور قابل توجهی تجربه کاربر را برای مهندسان بهبود می بخشد، بهره وری آنها را افزایش می دهد و در عین حال وضعیت امنیتی، دید و کنترل شما را نیز بهبود می بخشد.

با برنامه دسکتاپ Border0 یا CLI، کاربران می توانند به سرعت سرورهای پایگاه داده قابل دسترسی را پیدا کنند و با استفاده از ابزارها و گردش کار مورد علاقه خود به آنها متصل شوند. علاوه بر این، مدیران بینش های ارزشمندی در مورد اینکه چه کسی به کدام پایگاه داده، از کجا و چه زمانی دسترسی داشته است و همچنین پرس و جوهای اجرا شده به دست می آورد. این سطح از جزئیات پیشرفت قابل توجهی در مقایسه با وضعیت فعلی است، که در آن اعتبار مشترک اغلب مبهم است که چه کسی پرس و جوهای خاص را اجرا کرده است.

Border0 یک راه حل ایمن و کارآمد برای دسترسی به پایگاه داده های RDS در VPC های خصوصی ارائه می دهد و آن را به گزینه ای ایده آل برای سازمان هایی تبدیل می کند که قصد دارند وضعیت امنیتی خود را بدون از دست دادن راحتی افزایش دهند. با اتخاذ یک مدل اعتماد صفر و استفاده از Border0، می توانید دسترسی RDS را برای مدیران و مهندسان خود ساده کنید و در عین حال امنیت درجه یک را حفظ کنید.

ما شما را تشویق می کنیم تا با ثبت نام در نسخه رایگان و کاملاً کاربردی جامعه ما در اینجا، مزایای Border0 را برای خود تجربه کنید. همچنین، مطمئن شوید که اسناد خاص RDS را در صفحه اسناد ما بررسی کنید. با پیروی از این مراحل، تنها در 2 دقیقه به پایگاه داده خود دسترسی خواهید داشت! بنابراین، امروز Border0 را امتحان کنید و نحوه مدیریت دسترسی به پایگاه داده، امنیت و قابلیت حسابرسی را تغییر دهید.

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

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

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

همچنین ببینید
بستن
دکمه بازگشت به بالا