Amazon EMR Studio یک محیط توسعه یکپارچه (IDE) است که توسعه، تجسم، و اشکال زدایی برنامه های مهندسی داده و علم داده را که در R، Python، Scala و PySpark نوشته شده اند، برای دانشمندان داده و مهندسان داده ساده می کند. EMR Studio نوتبوکها و ابزارهای کاملاً مدیریت شده Jupyter مانند Spark UI و YARN Timeline Server را از طریق EMR Studio Workspaces ارائه میکند. می توانید یک فضای کاری EMR Studio را به یک خوشه EMR متصل کنید و از قدرت محاسباتی خوشه EMR استفاده کنید و کارهای علم داده را روی خوشه اجرا کنید. داده ها اغلب در دریاچه های داده ای که توسط مدیریت می شوند ذخیره می شوند سازند دریاچه AWS، به شما امکان می دهد کنترل دسترسی دقیق را از طریق یک مکانیسم اعطای یا لغو ساده اعمال کنید.
خوشحال میشیم معرفی کنیم نقش های زمان اجرا برای فضاهای کاری EMR Studio. اکنون میتوانید یک نقش زمان اجرا را تعریف کنید و آن را به یک خوشه EMR در هنگام اتصال EMR Studio Workspace اختصاص دهید. کارهای موجود در خوشه EMR از این نقش زمان اجرا برای دسترسی به منابع AWS استفاده می کنند. پس از پیکربندی یک نقش زمان اجرا، میتوانید از Lake Formation نیز استفاده کنید و کنترل دسترسی به دادههای ریز را برای کارهای ارسال شده توسط EMR Studio Workspace اعمال کنید.
قبلاً، هنگام اتصال EMR Studio Workspaces به خوشههای EMR، همه Workspaces باید از یکسان استفاده میکردند. هویت AWS و مدیریت دسترسی نقش (IAM) - یعنی نقش خوشه ابر محاسبه الاستیک آمازون نمایه نمونه (Amazon EC2). بنابراین، همه فضاهای کاری متصل به یک خوشه EMR یکسان دسترسی به داده داشتند. برای کنترل دسترسی به منابع داده، هر EMR Studio Workspace باید از یک خوشه EMR متفاوت استفاده می کرد و چندین پروفایل نمونه EMR مورد نیاز بود.
با شروع انتشار آمازون EMR 6.11، اکنون میتوانید نقش زمان اجرا را هنگام اتصال یک فضای کاری EMR Studio به یک خوشه EMR انتخاب کنید. این نقش زمان اجرا دسترسی را در سطح Workspace کاهش می دهد. کارهای Apache Livy و Apache Spark شما که از فضای کاری EMR Studio اجرا میشوند، فقط اجازه دسترسی به دادهها و منابع مجاز توسط خطمشیهای پیوست شده به نقش زمان اجرا را خواهند داشت. همچنین، هنگامی که به دادهها از دریاچههای دادهای که با Lake Formation مدیریت میشوند دسترسی پیدا میکنید، میتوانید کنترل دسترسی به دادههای ریز را با استفاده از مجوزهای Lake Formation اعمال کنید. این به شما کمک می کند تا سربار عملیاتی را کاهش دهید.
در این پست، نحوه پیکربندی نقشهای زمان اجرا برای فضاهای کاری EMR Studio و پیوستن یک Workspace به یک کلاستر EMR با نقشهای زمان اجرا را نشان میدهیم. از آنجایی که شرکتهای بزرگ معمولاً از چندین حساب AWS استفاده میکنند و بسیاری از این حسابها ممکن است نیاز به دسترسی به دریاچه دادهای داشته باشند که توسط یک حساب AWS مدیریت میشود، مثال ما از دو حساب AWS استفاده میکند. نحوه کنترل دسترسی به نقشهای زمان اجرا EMR Studio، مدیریت دسترسی به دادهها در میان حسابهای موجود در دریاچه داده از طریق Lake Formation، و اعمال مجوزهای سطح جدول و سطح ستون برای نقشهای زمان اجرا EMR را توضیح میدهیم.
بررسی اجمالی راه حل
برای نشان دادن کنترل دسترسی ریز دانه، یک نمونه ایجاد می کنیم چسب AWS پایگاه داده به نام شرکت و مدیریت مجوز پایگاه داده در Lake Formation. پایگاه داده از دو جدول مجزا تشکیل شده است:
- کارکنان – این جدول اطلاعات مربوط به کارمندان شرکت از جمله شناسه کارمند، نام، بخش و حقوق را ذخیره می کند
- محصولات – این جدول اطلاعاتی درباره محصولات فروخته شده توسط شرکت از جمله شناسه محصول، نام، دسته بندی و قیمت را ذخیره می کند
برای نشان دادن کنترل دسترسی به داده، کاربران داده زیر را در نظر می گیریم:
- آلیس، دانشمند داده در تیم فروش - او باید به تمام ستونهای موجود در قسمت فقط خواندنی دسترسی داشته باشد
products
جدول و ستون های انتخاب شده، از جمله uID، نام، و بخش درemployees
جدول - باب، دانشمند داده در تیم منابع انسانی - او باید به تمام ستون های موجود دسترسی فقط خواندنی داشته باشد
employees
جدول و نباید به آن دسترسی داشته باشدproducts
جدول
برای نشان دادن به اشتراک گذاری داده های بین حسابی، دو حساب را در نظر می گیریم:
- حساب تولید کننده داده - ما به این حساب به عنوان
123456789012
در این پست این حساب داده های خام را مدیریت می کند سرویس ذخیره سازی ساده آمازون (Amazon S3) و داده ها را به دریاچه داده می نویسد. اینcompany
دیتابیس و جداول باید در این حساب باشد. - حساب مصرف کننده داده - ما به این حساب به عنوان
111122223333
در این پست این حساب مستقیماً توسط کاربران برای تجزیه و تحلیل داده ها قابل دسترسی است و دسترسی نوشتن به داده ها ندارد. این حساب باید توسط آلیس و باب قابل دسترسی باشد.
معماری به شرح زیر پیاده سازی می شود:
- حساب تولید کننده داده یک دریاچه داده را مدیریت می کند. داده های خام در سطل های S3 ذخیره شده و در کاتالوگ داده های چسب AWS فهرست بندی می شوند.
- Lake Formation در حساب تولیدکننده داده، دسترسی به دادهها را از طریق کاتالوگ داده کنترل میکند و اشتراکگذاری دادههای بین حسابی را با حساب مصرفکننده داده فراهم میکند.
- Lake Formation در حساب مصرف کننده داده، دسترسی متقابل به دریاچه داده در سطح جدول و مجوزهای Lake Formation ریزدانه را کنترل می کند. برای اطلاعات بیشتر مراجعه کنید روشهایی برای کنترل دسترسی ریزدانه.
- فضاهای کاری EMR Studio در حساب مصرف کننده داده هنگام اجرای کارهای روی یک خوشه EMR از نقش های زمان اجرا استفاده می کنند.
- خوشه EMR به کاتالوگ داده چسب در حساب مصرف کننده داده متصل می شود و داده ها را از دریاچه داده از طریق اشتراک گذاری داده های بین حسابی جستجو می کند.
نمودار زیر این معماری را نشان می دهد.
در بخشهای بعدی، مراحل اشتراکگذاری دادهها در حسابها از طریق Lake Formation، اجرای EMR Studio Workspace با نقشهای زمان اجرا، و نمایش کنترل دسترسی دقیق را طی میکنیم.
پیش نیازها
شما باید پیش نیازهای زیر را داشته باشید:
زیرساخت را در حساب تولیدکننده داده ایجاد کنید
مراحل زیر را برای ایجاد منابع زیرساخت تکمیل کنید:
- وارد حساب AWS تولید کننده داده شوید (
123456789012
). - را انتخاب کنید Stack را راه اندازی کنید برای استقرار یک الگوی CloudFormation برای ایجاد منابع لازم.
- برای پسوند DataLakeBucket، پسوند سطل S3 مورد استفاده دریاچه داده را وارد کنید. کل نام سطل S3 ایجاد خواهد شد
{AwsAccoundId}-{AwsRegion}-{DataLakeBucketSuffix}
. - پس از ایجاد پشته CloudFormation، به مسیر بروید خروجی برگه پشته و گرفتن مقدار
DataLakeS3Bucket
برای استفاده در مرحله بعد
فایل های داده را ایجاد کنید و آنها را در Amazon S3 در حساب تولید کننده داده آپلود کنید
AWS CLI خود را برای استفاده از هویت IAM با اجازه آپلود در DataLakeS3BucketName در حساب AWS تولیدکننده داده پیکربندی کنید (123456789012
، یا می توانید با استفاده از آن وارد CloudShell شوید کنسول مدیریت AWS. مراحل زیر را کامل کنید:
- در ماشین محلی خود، با دستور cd به دایرکتوری مورد نظر خود بروید، برای مثال،
cd ~
. - اجرا کن خط با
chmod 744 create_sample_data.sh && ./create_sample_data.sh <DataLakeS3BucketName>
.
اسکریپت یک زیر شاخه ایجاد می کند tmp
در فهرست کاری فعلی خود، داده های آزمایشی را در فایل های CSV ایجاد کنید و فایل ها را در آن آپلود کنید DataLakeS3BucketName
سطل S3.
Lake Formation را در حساب تولیدکننده داده تنظیم کنید
در این بخش، مراحل راه اندازی Lake Formation در حساب تولیدکننده داده را طی می کنیم.
تنظیمات نسخه اشتراکگذاری داده بین حساب Lake Formation را تنظیم کنید
Lake Formation از چندین نسخه به اشتراک گذاری داده پشتیبانی می کند. برای این پست از نسخه 3 استفاده می کنیم برای آشنایی بیشتر با تفاوت نسخه های اشتراک گذاری داده به ادامه مطلب مراجعه کنید در حال بهروزرسانی تنظیمات نسخه اشتراکگذاری داده بین حسابها. برای تغییر نسخه اشتراکگذاری داده، نگاه کنید برای فعال کردن نسخه جدید.
مکان آمازون S3 را به عنوان مکان دریاچه داده ثبت کنید
هنگامی که شما مکان آمازون S3 را ثبت کنید با Lake Formation، یک نقش IAM را با مجوزهای خواندن/نوشتن در آن مکان مشخص میکنید. پس از ثبت نام، هنگامی که خوشه های EMR درخواست دسترسی به این مکان S3 آمازون را دارند، Lake Formation اعتبارنامه موقت نقش ارائه شده برای دسترسی به داده ها را ارائه می دهد. ما قبلاً نقش را ایجاد کردیم LakeFormationCompanyDatabaseDataAccessRole
برای این منظور در مرحله قبل. برای ثبت مکان آمازون S3 به عنوان مکان دریاچه داده، مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب تولیدکننده داده باز کنید (
123456789012
). - در صفحه پیمایش، را انتخاب کنید مکان های دریاچه داده زیر حکومت.
- را انتخاب کنید ثبت مکان.
- برای مسیر آمازون S3، وارد
s3://<DataLakeS3BucketName>/company-database
. - برای نقش IAM، وارد
LakeFormationCompanyDatabaseDataAccessRole
. - برای حالت مجوز، انتخاب کنید تشکیل دریاچه.
- را انتخاب کنید ثبت مکان.
مجوزهای اعطا شده به IAMAllowed Principals را لغو کنید
La IAMAllowedPrincipals
گروه شامل همه کاربران و نقشهای IAM است که طبق خطمشیهای IAM شما اجازه دسترسی به منابع کاتالوگ داده شما را دارند. به اجرای مدل سازند دریاچه، ما نیاز داریم لغو مجوز از IAMAllowed Principals با استفاده از مراحل زیر:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب تولیدکننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید مجوزهای دریاچه داده تحت مجوزها.
- مجوزها را بر اساس فیلتر کنید
Database = company
وPrinciple=IAMAllowedPrinciples
. - تمام مجوزهای داده شده به مدیر را انتخاب کنید
IAMAllowedPrincipals
و انتخاب کنید لغو.
تنظیمات یکپارچه سازی برنامه را تنظیم کنید
برای اعمال مجوز برای خوشه EMR، باید یک مقدار تگ جلسه را با Lake Formation ثبت کنید. Lake Formation از این تگ جلسه برای اجازه دادن به تماس گیرندگان و ارائه دسترسی به دریاچه داده استفاده می کند. ثبت نام می کنیم Amazon EMR
به عنوان مقدار تگ جلسه. این مقدار در پیکربندی امنیتی هنگام ایجاد خوشه EMR.
با استفاده از مراحل زیر تگ جلسه را تنظیم کنید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب تولیدکننده داده باز کنید.
- را انتخاب کنید تنظیمات یکپارچه سازی برنامه زیر حکومت در صفحه ناوبری
- انتخاب کنید به موتورهای خارجی اجازه دهید دادهها را در مکانهای Amazon S3 ثبتشده در Lake Formation فیلتر کنند.
- برای مقادیر تگ جلسه، وارد
Amazon EMR
. - برای شناسه های حساب AWS، شناسه حساب مصرف کننده AWS داده را وارد کنید (
111122223333
). - را انتخاب کنید ذخیره.
پایگاه داده و جداول را در حساب مصرف کننده داده به اشتراک بگذارید
اکنون مجوزهایی را به حساب AWS مصرف کننده داده، از جمله مجوزهای قابل اعطا، می دهیم. این به مدیر دریاچه داده Lake Formation در حساب مصرف کننده داده اجازه می دهد تا دسترسی به داده های داخل حساب را کنترل کند.
مجوزهای پایگاه داده را به حساب مصرف کننده داده اعطا کنید
مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب تولیدکننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- پایگاه داده را انتخاب کنید
company
، و روی اعمال منو، زیر ویرایش، انتخاب کنید گرانت. - در اصول بخش، انتخاب کنید حساب های خارجی و حساب AWS مصرف کننده داده را وارد کنید (
111122223333
). - در برچسب های LF یا منابع کاتالوگ بخش، را انتخاب کنید
company
برای پایگاه داده ها. - در مجوزهای پایگاه داده بخش، انتخاب کنید شرح برای هردو مجوزهای پایگاه داده و مجوزهای قابل اعطا.
این به مدیر دریاچه داده در حساب مصرف کننده داده اجازه می دهد تا پایگاه داده را توصیف کند و مجوزهای توصیف را به سایر اصلی ها در حساب مصرف کننده داده اعطا کند.
- را انتخاب کنید گرانت.
مجوزهای جدول را به حساب مصرف کننده داده اعطا کنید
مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب تولیدکننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید جداول.
- را انتخاب کنید
products
جدول، که متعلق بهcompany
پایگاه داده، و در اعمال منو، زیر ویرایش، انتخاب کنید گرانت. - در اصول بخش، انتخاب کنید حساب های خارجی و در حساب AWS مصرف کننده داده وارد کنید (
111122223333
). - در برچسب های LF یا منابع کاتالوگ بخش، انتخاب کنید منابع کاتالوگ داده نامگذاری شده و موارد زیر را مشخص کنید:
- برای پایگاه داده ها، انتخاب کنید
company
. - برای جداول، انتخاب کنید
products
وemployees
.
- برای پایگاه داده ها، انتخاب کنید
- در مجوزهای جدول بخش، را انتخاب کنید انتخاب کنید و شرح برای هردو مجوزهای جدول و مجوزهای قابل اعطا.
این به مدیر دریاچه داده در حساب مصرف کننده داده اجازه می دهد تا جداول را انتخاب و توصیف کند و مجوزهای انتخاب و توصیف جدول را به سایر اصلی ها در حساب مصرف کننده داده اعطا کند.
- در مجوزهای داده بخش، انتخاب کنید همه دسترسی به داده ها.
- را انتخاب کنید گرانت.
اکنون راه اندازی حساب تولیدکننده داده را به پایان رسانده ایم.
زیرساخت را در حساب مصرف کننده داده تنظیم کنید
مراحل زیر را برای ایجاد منابع زیرساخت تکمیل کنید:
- به حساب مصرف کننده داده وارد شوید (
111122223333
). - را انتخاب کنید راه اندازی پشته برای استقرار یک الگوی CloudFormation برای ایجاد منابع لازم.
- برای برچسب انتشار، برچسب انتشار آمازون EMR را برای استفاده وارد کنید، که فقط می تواند emr-6.11 یا بالاتر باشد.
- برای InstanceType، نوع نمونه را برای خوشه EMR انتخاب کنید، مانند r4.4xlarge.
- برای پسوند EMRS3BucketName، پسوند سطل S3 را برای ذخیره لاگ های خوشه EMR و فایل های نوت بوک EMR وارد کنید. نام کامل سطل S3 ایجاد خواهد شد
{AWSAccoundId}-{AWSRegion}-{EMRS3BucketNameSuffix}
. - برای گواهی S3PathToInTransit، مسیر S3 را برای فایل zip. وارد کنید که حاوی فایلهای pem. است که برای رمزگذاری در حین انتقال استفاده میشوند.
برای دستورالعملهای مربوط به ایجاد فایل زیپ که حاوی فایلهای .pem است و آپلود آنها در سطل S3 خود، به ارائه گواهی برای رمزگذاری داده ها در حال انتقال با رمزگذاری آمازون EMR.
- پس از ایجاد پشته CloudFormation، به مسیر بروید خروجی زبانه پشته
- گرفتن ارزش
EMRStudioLink
برای ورود به EMR Studio استفاده کنید.
سهم منبع در حساب مصرف کننده داده را بپذیرید
برای دسترسی به منابع مشترک، ابتدا باید دعوتنامه را بپذیرید.
- کنسول AWS RAM حساب مصرف کننده داده با شناسه IAM که دسترسی به RAM AWS دارد را باز کنید.
- در صفحه پیمایش، را انتخاب کنید سهام منابع زیر به اشتراک گذاشته شده با من.
شما باید دو اشتراک منبع معلق از حساب تولیدکننده داده را ببینید.
- هر دو سهم منابع را بپذیرید.
شما باید ببینید company
پایگاه داده ، employees
جدول، و products
جدول در کاتالوگ داده
Lake Formation را در حساب مصرف کننده داده تنظیم کنید
در این بخش، مراحل راه اندازی Lake Formation در حساب مصرف کننده داده را طی می کنیم.
تنظیمات یکپارچه سازی برنامه را تنظیم کنید
مشابه راه اندازی در حساب تولیدکننده داده، باید آمازون EMR را به عنوان برچسب جلسه ثبت کنید. این مقدار در پیکربندی امنیتی هنگام ایجاد خوشه EMR در پشته CloudFormation.
برای انجام این کار مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید (
111122223333
). - را انتخاب کنید تنظیمات یکپارچه سازی برنامه زیر حکومت در صفحه ناوبری
- انتخاب کنید به موتورهای خارجی اجازه دهید دادهها را در مکانهای Amazon S3 ثبتشده در Lake Formation فیلتر کنند.
- برای مقادیر تگ جلسه، وارد
Amazon EMR
. - برای شناسه های حساب AWS، شناسه حساب مصرف کننده AWS داده را وارد کنید (
111122223333
). - را انتخاب کنید ذخیره.
اجازه توصیف نقشهای زمان اجرا در پایگاه داده پیشفرض را اعطا کنید
اگر پایگاه داده پیشفرض در Lake Formation ندارید، یا پایگاه داده پیشفرض شما از قبل مجوزهایی برای اعطا به IAMAllowedPrinciples
، می توانید از این مرحله رد شوید.
آمازون EMR به طور پیش فرض پایگاه داده پیش فرض را بررسی می کند. اگر قبلاً یک پایگاه داده پیشفرض در Lake Formation خود دارید، با انجام مراحل زیر، مجوز توصیف را به نقشهای زمان اجرا در پایگاه داده پیشفرض بدهید:
- کنسول Lake Formation را با کاربر مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- پایگاه داده پیش فرض را انتخاب کنید، بررسی کنید که شناسه حساب مالک، حساب مصرف کننده داده است (
111122223333
) و روی اعمال منو ، انتخاب کنید گرانت. - در بخش اصول، انتخاب کنید کاربران و نقش های IAM.
- برای کاربران و نقش های IAM، انتخاب کنید
sales-runtime-role
وhuman-resource-runtime-role
. - برای برچسب های LF یا منابع کاتالوگ، انتخاب کنید منابع کاتالوگ داده نامگذاری شده و پیش فرض برای را انتخاب کنید پایگاه داده ها.
- در مجوزهای پایگاه داده بخش، برای مجوزهای پایگاه داده، انتخاب کنید شرح.
- را انتخاب کنید گرانت.
یک پیوند منبع برای پایگاه داده مشترک ایجاد کنید
برای دسترسی به پایگاه داده و منابع جدولی که توسط حساب AWS تولیدکننده داده به اشتراک گذاشته شده است، باید a ایجاد کنید لینک منبع در حساب AWS مصرف کننده داده. پیوند منبع یک شی کاتالوگ داده است که پیوندی به یک پایگاه داده یا جدول محلی یا مشترک است. پس از ایجاد پیوند منبع به پایگاه داده یا جدول، می توانید از نام پیوند منبع در هر جایی که از نام پایگاه داده یا جدول استفاده می کنید استفاده کنید. در این مرحله، به لینک های منبع به اصول نقش زمان اجرا مجوز می دهید. سپس نقشهای زمان اجرا از طریق پیوند منبع به دادههای پایگاههای داده مشترک و جداول زیرین دسترسی خواهند داشت.
برای ایجاد لینک منبع، مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- را انتخاب کنید
company
پایگاه داده، بررسی کنید که شناسه حساب مالک، حساب تولیدکننده داده باشد (123456789012
) و روی اعمال منو ، انتخاب کنید ایجاد پیوندهای منابع. - برای نام لینک منبع، نام پیوند منبع را وارد کنید (به عنوان مثال،
company-shared
). - برای منطقه پایگاه داده مشترک، منطقه را انتخاب کنید
company
پایگاه داده. - برای پایگاه داده مشترک، پایگاه داده شرکت را انتخاب کنید.
- برای شناسه مالک پایگاه داده مشترک، شناسه حساب حساب تولید کننده داده را وارد کنید (
123456789012
). - را انتخاب کنید ساختن.
مجوزهای مربوط به پیوند منبع را به اصل نقش زمان اجرا اعطا کنید
با استفاده از مراحل زیر مجوزهای مربوط به پیوند منبع را به sales-runtime-role و human-resource-runtime-role اعطا کنید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- لینک منبع را انتخاب کنید (
company-shared
) و در اعمال منو ، انتخاب کنید گرانت. - در اصول بخش، انتخاب کنید کاربران و نقش های IAM، و انتخاب کنید
sales-runtime-role
وhuman-resource-runtime-role
. - در برچسب های LF یا منابع کاتالوگ بخش، برای پایگاه داده ها، انتخاب کنید
company-shared
. - در مجوزهای پیوند منبع بخش، انتخاب کنید شرح.
این اجازه می دهد تا نقش های زمان اجرا پیوند منبع را توصیف کنند. ما هیچ انتخابی برای مجوزهای قابل اعطا نمی کنیم زیرا نقش های زمان اجرا نباید قادر به اعطای مجوز به اصول دیگر باشند.
- را انتخاب کنید گرانت.
اعطای مجوز روی جداول به اصل نقش زمان اجرا
شما باید مجوزهایی را روی جداول بدهید sales-runtime-role
و human-resource-runtime-role
برای اجازه دسترسی به داده ها:
Human-resource-runtime-role
باید مجوزهای توصیف و انتخاب همه ستونها را داشته باشدemployees
جدول، و هیچ مجوزی در آن وجود نداردproducts
جدول.Sales-runtime-role
باید مجوزهای انتخاب در ستون ها را داشته باشدuid
,name
وdepartment
درemployees
جدول، و شرح و انتخاب مجوزها در تمام ستون ها درproducts
جدول.
اعطای مجوز روی میز کارمندان به نقش منابع انسانی - زمان اجرا
مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- لینک منبع را انتخاب کنید (
company-shared
) و در اعمال منو ، انتخاب کنید Grant on Target. - در بخش اصول، انتخاب کنید کاربران و نقش های IAM، پس از آن را انتخاب کنید
human-resource-runtime-role
. - در برچسب های LF یا منابع کاتالوگ بخش، انتخاب کنید منابع کاتالوگ داده نامگذاری شده و موارد زیر را مشخص کنید:
- برای پایگاه داده ها، انتخاب کنید
company
. - برای جداولانتخاب کنید
employees
.
- برای پایگاه داده ها، انتخاب کنید
- در مجوزهای جدول بخش، برای مجوزهای جدول، انتخاب کنید شرح و انتخاب کنید.
- در مجوزهای داده بخش، انتخاب کنید همه دسترسی به داده ها.
- را انتخاب کنید گرانت.
اعطای مجوز روی میز کارمندان برای فروش - زمان اجرا - نقش
مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- لینک منبع را انتخاب کنید (
company-shared
) و در اعمال منو ، انتخاب کنید Grant on Target. - در بخش اصول، انتخاب کنید کاربران و نقش های IAM، پس از آن را انتخاب کنید
sales-runtime-role
. - در برچسب های LF یا منابع کاتالوگ بخش، انتخاب کنید منابع کاتالوگ داده نامگذاری شده و موارد زیر را مشخص کنید:
- برای پایگاه داده ها، انتخاب کنید
company
. - برای جداول، انتخاب کنید
employees
.
- برای پایگاه داده ها، انتخاب کنید
- در مجوزهای جدول بخش، برای مجوزهای جدول، انتخاب کنید انتخاب کنید.
- در مجوزهای داده بخش، انتخاب کنید دسترسی مبتنی بر ستون.
- انتخاب کنید شامل ستون ها و انتخاب کنید
uid
,name
وdepartment
ستون ها. - را انتخاب کنید گرانت.
اعطای مجوز در جدول محصولات به فروش - زمان اجرا - نقش
مراحل زیر را انجام دهید:
- کنسول Lake Formation را با مدیر Lake Formation data lake در حساب مصرف کننده داده باز کنید.
- در صفحه پیمایش، را انتخاب کنید پایگاه داده ها.
- لینک منبع را انتخاب کنید (
company-shared
) و در اعمال منو ، انتخاب کنید Grant on Target. - در بخش اصول، انتخاب کنید کاربران و نقش های IAM، پس از آن را انتخاب کنید
sales-runtime-role
. - در برچسب های LF یا منابع کاتالوگ بخش، انتخاب کنید منابع کاتالوگ داده نامگذاری شده و موارد زیر را مشخص کنید:
- برای پایگاه داده ها، انتخاب کنید
company
. - برای جداول، انتخاب کنید
products
.
- برای پایگاه داده ها، انتخاب کنید
- در مجوزهای جدول بخش، برای مجوزهای جدول، انتخاب کنید انتخاب کنید و شرح.
- در مجوزهای داده بخش، انتخاب کنید همه دسترسی به داده ها.
- را انتخاب کنید گرانت.
وارد EMR Studio شوید و از EMR Studio Workspace استفاده کنید
نقشت را عوض کن به alice-role
or bob-role
در کنسول با استفاده از مرورگرهای وب مختلف برای آزمایش دسترسی. باز کن EMRStudioLink
URL از خروجی پشته CloudFormation برای ورود به استودیوی EMR با هر نقش، سپس مراحل زیر را کامل کنید:
- را انتخاب کنید فضای کاری در قسمت ناوبری و انتخاب کنید ایجاد فضای کاری.
- یک نام و یک توضیح برای Workspace وارد کنید.
- را انتخاب کنید ایجاد فضای کاری.
یک تب جدید حاوی JupyterLab به طور خودکار زمانی که Workspace آماده شد باز می شود. در صورت لزوم پنجره های پاپ آپ را در مرورگر خود فعال کنید.
- را انتخاب کنید محاسبه برای پیوست کردن فضای کار استودیو EMR با یک موتور محاسباتی، در صفحه پیمایش نمادی را نشان دهید.
- انتخاب کنید خوشه EMR در EC2 برای نوع را محاسبه کنید.
- شناسه خوشه EMR را که با AWS CloudFormation ایجاد کردهاید، انتخاب کنید.
- برای نقش زمان اجرا، انتخاب کنید
sales-runtime-role
اگر به عنوان وارد شده باشیدalice-role
. انتخاب کنیدhuman-resource-runtime-role
اگر به عنوان وارد شده باشیدbob-role
. - را انتخاب کنید ضمیمه کردن.
کد را در فضای کاری EMR Studio اجرا کنید و دسترسی به داده ها را تأیید کنید
پس از ورود به سیستم با alice-role یا bob-role، کد زیر را در فضای کاری EMR Studio با هسته PySpark اجرا کنید:
هنگام استفاده از نقش های مختلف باید نتایج متفاوتی را مشاهده کنید.
با توجه به پیکربندی دسترسی به داده ما در Lake Formation، آلیس دسترسی کامل به داده ها را برای آن خواهد داشت products
جدول. او می تواند تمام ستون ها را به جز حقوق در قسمت مشاهده کند employees
جدول.
برای باب، با توجه به پیکربندی دسترسی به داده ما در Lake Formation، او دسترسی کامل به داده ها را خواهد داشت. employees
جدول، اما او به آن دسترسی ندارد products
جدول.
پاک کردن
وقتی آزمایش این راه حل را تمام کردید، منابع خود را پاک کنید:
- فضاهای کاری EMR Studio ایجاد شده در حساب AWS مصرف کننده داده را متوقف و حذف کنید.
- تمام محتوای سطل S3 را حذف کنید
EMRS3Bucket
در حساب AWS مصرف کننده داده. - پشته CloudFormation را در حساب AWS مصرف کننده داده حذف کنید.
- تمام محتوای سطل S3 را حذف کنید
DataLakeS3Bucket
در حساب AWS تولید کننده داده. - پشته CloudFormation را در حساب AWS تولید کننده داده حذف کنید.
نتیجه
این پست نشان میدهد که چگونه میتوانید از نقشهای زمان اجرا برای اتصال به فضای کاری EMR Studio با آمازون EMR برای اعمال کنترل دسترسی به دادههای ریز حسابی با Lake Formation استفاده کنید. ما همچنین نشان دادیم که چگونه چندین کاربر EMR Studio میتوانند به یک خوشه EMR متصل شوند، که هر کدام از یک نقش زمان اجرا با محدوده مجوزهای مطابق با سطح فردی دسترسی به دادهها استفاده میکنند.
برای کسب اطلاعات بیشتر در مورد استفاده از فضاهای کاری EMR Studio با Lake Formation، مراجعه کنید یک فضای کاری EMR Studio با نقش زمان اجرا اجرا کنید. ما شما را تشویق میکنیم که این قابلیت جدید را امتحان کنید و اگر سؤال یا بازخوردی دارید با ما در ارتباط باشید!
درباره نویسنده
اشلی ژو مهندس توسعه نرم افزار در AWS است. او به تجزیه و تحلیل داده ها و سیستم های توزیع شده علاقه مند است.
سریویدیا پارتاساراتی یک معمار ارشد داده های بزرگ در تیم AWS Lake Formation است. او از ایجاد تجزیه و تحلیل و راه حل های مش داده در AWS و به اشتراک گذاری آنها با جامعه لذت می برد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/big-data/use-iam-runtime-roles-with-amazon-emr-studio-workspaces-and-aws-lake-formation-for-cross-account-fine-grained-access-control/
- : دارد
- :است
- :نه
- $UP
- 100
- 107
- 11
- 20
- 7
- 8
- a
- قادر
- درباره ما
- پذیرفتن
- دسترسی
- دسترسی به داده ها
- قابل دسترسی است
- در دسترس
- مطابق
- حساب
- حساب ها
- در میان
- پس از
- آلیس
- معرفی
- اجازه دادن
- مجاز
- اجازه می دهد تا
- قبلا
- همچنین
- آمازون
- آمازون EC2
- آمازون EMR
- آمازون خدمات وب
- an
- تحلیل
- علم تجزیه و تحلیل
- و
- هر
- آپاچی
- جرقه آپاچی
- کاربرد
- برنامه های کاربردی
- درخواست
- معماری
- هستند
- AS
- At
- ضمیمه کردن
- اجازه دادن
- بطور خودکار
- AWS
- AWS CloudFormation
- چسب AWS
- سازند دریاچه AWS
- BE
- زیرا
- متعلق
- میان
- بزرگ
- بزرگ داده
- فریب
- هر دو
- مرورگر
- مرورگرهای
- بنا
- اما
- by
- CAN
- گرفتن
- کاتالوگ
- دسته بندی
- CD
- گواهینامه ها
- تغییر دادن
- بررسی
- انتخاب
- را انتخاب کنید
- تمیز
- خوشه
- رمز
- ستون ها
- انجمن
- شرکت
- شرکت
- کامل
- تکمیل
- محاسبه
- پیکر بندی
- اتصال
- متصل
- در نظر بگیرید
- تشکیل شده است
- کنسول
- مصرف کننده
- شامل
- محتوا
- کنترل
- ایجاد
- ایجاد شده
- ایجاد
- مجوزها و اعتبارات
- جاری
- داده ها
- دسترسی به داده ها
- تحلیل داده ها
- تجزیه و تحلیل داده ها
- دریاچه دریاچه
- علم اطلاعات
- دانشمند داده
- به اشتراک گذاری داده ها
- پایگاه داده
- پایگاه های داده
- به طور پیش فرض
- تعريف كردن
- نشان دادن
- نشان
- بخش
- گسترش
- توصیف
- شرح
- توسعه
- پروژه
- تفاوت
- مختلف
- مستقیما
- توزیع شده
- سیستم های توزیع شده
- do
- نمی کند
- آیا
- پایین
- هر
- کارمند
- کارکنان
- قادر ساختن
- را قادر می سازد
- تشویق
- رمزگذاری
- اعمال
- موتور
- مهندس
- مهندسی
- مورد تأیید
- موتورهای حرفه ای
- وارد
- شرکت
- محیط
- اتر (ETH)
- مثال
- جز
- توضیح دهید
- خارجی
- پرونده
- فایل ها
- فیلتر
- نام خانوادگی
- پیروی
- به دنبال آن است
- برای
- تشکیل
- از جانب
- کامل
- کاملا
- قابلیت
- داده
- Go
- حکومت می کند
- اعطا کردن
- اعطا شده
- گروه
- بود
- خوشحال
- آیا
- he
- کمک می کند
- چگونه
- چگونه
- HTML
- HTTP
- HTTPS
- انسان
- منابع انسانی
- منابع انسانی
- IAM
- ID
- هویت
- if
- نشان می دهد
- اجرا
- in
- شامل
- از جمله
- فرد
- اطلاعات
- شالوده
- نمونه
- دستورالعمل
- یکپارچه
- ادغام
- علاقه مند
- معرفی
- دعوت
- IT
- شغل ها
- JPG
- برچسب
- دریاچه
- دریاچه ها
- بزرگ
- شرکت های بزرگ
- راه اندازی
- یاد گرفتن
- سطح
- محدود
- ارتباط دادن
- لینک ها
- محلی
- محل
- مکان
- دستگاه
- ساخت
- باعث می شود
- مدیریت
- اداره می شود
- مدیریت
- مدیریت می کند
- بسیاری
- مطابق
- مکانیزم
- فهرست
- مش
- قدرت
- بیش
- حرکت
- چندگانه
- باید
- نام
- تحت عنوان
- هدایت
- جهت یابی
- لازم
- نیاز
- ضروری
- جدید
- بعد
- نه
- دفتر یادداشت
- نوت بوک
- اکنون
- هدف
- of
- غالبا
- on
- فقط
- باز کن
- قابل استفاده
- or
- دیگر
- ما
- خارج
- تولید
- مالک
- قطعه
- مسیر
- انتظار
- اجازه
- مجوز
- افلاطون
- هوش داده افلاطون
- PlatoData
- سیاست
- پست
- قدرت
- پیش نیازها
- قبلی
- اصلی
- اصولی
- اصل
- از اصول
- تهيه كننده
- محصول
- محصولات
- مشخصات
- پروفایل
- ارائه
- ارائه
- فراهم می کند
- هدف
- پــایتــون
- نمایش ها
- سوالات
- R
- رم
- خام
- داده های خام
- اماده
- كاهش دادن
- مراجعه
- منطقه
- ثبت نام
- ثبت نام
- ثبت نام
- آزاد
- درخواست
- منابع
- منابع
- نتیجه
- نتایج
- نقش
- نقش
- دویدن
- در حال اجرا
- حقوق
- حراجی
- همان
- اسکالا
- علم
- دانشمند
- دانشمندان
- خط
- بخش
- بخش
- دیدن
- انتخاب شد
- ارشد
- جداگانه
- سرور
- خدمات
- جلسه
- تنظیم
- محیط
- تنظیمات
- برپایی
- اشتراک گذاری
- به اشتراک گذاشته شده
- سهام
- اشتراک
- او
- باید
- نشان داد
- امضاء
- امضاء شده
- امضای
- ساده
- تنها
- نرم افزار
- توسعه نرم افزار
- فروخته شده
- راه حل
- مزایا
- منابع
- جرقه
- پشته
- گام
- مراحل
- ذخیره سازی
- opbevare
- ذخیره شده
- پرده
- ساده
- استودیو
- ارسال
- چنین
- عرضه
- پشتیبانی از
- سیستم های
- جدول
- TAG
- تیم
- قالب
- موقت
- آزمون
- که
- La
- شان
- آنها
- سپس
- از این رو
- این
- کسانی که
- از طریق
- جدول زمانی
- به
- ابزار
- عبور
- امتحان
- دو
- نوع
- به طور معمول
- ui
- زیر
- اساسی
- آپلود
- URL
- us
- استفاده کنید
- استفاده
- کاربر
- کاربران
- استفاده
- با استفاده از
- ارزش
- بررسی
- نسخه
- از طريق
- چشم انداز
- تجسم
- راه رفتن
- we
- وب
- مرورگرهای وب
- خدمات وب
- بود
- چه زمانی
- که
- تمام
- اراده
- با
- در داخل
- کارگر
- خواهد بود
- نوشتن
- کتبی
- یامل
- شما
- شما
- زفیرنت
- زیپ