Амазонка Афіна це інтерактивна служба запитів, яка полегшує аналіз даних безпосередньо в Служба простого зберігання Amazon (Amazon S3) за допомогою стандартного SQL. Команди хмарних операцій можуть використовувати Управління ідентифікацією та доступом AWS (IAM) для централізованого керування доступом до Athena. Це спрощує адміністрування, дозволяючи керівній команді контролювати доступ користувачів до робочих груп Athena з централізовано керованого Azure AD, підключеного до локальної служби Active Directory. Це налаштування зменшує накладні витрати команд хмарних операцій під час керування користувачами IAM. Athena підтримує федерацію зі службою федерації Active Directory (ADFS), PingFederate, Okta та федерацію Microsoft Azure Active Directory (Azure AD).
У цій публікації в блозі показано, як налаштувати федерацію AWS IAM за допомогою Azure AD, підключеної до локальної AD, і налаштувати доступ Athena на рівні робочої групи для різних користувачів. Ми розглянемо два сценарії:
- Керовані користувачі та групи Azure AD, а також локальні AD.
- Керовані локальні користувачі та групи Active Directory, синхронізовані з Azure AD.
Ми не розглядаємо, як налаштувати синхронізацію між локальною AD і Azure AD за допомогою підключення Azure AD. Щоб отримати додаткові відомості про те, як інтегрувати Azure AD із керованою AD AWS, див Увімкніть Office 365 за допомогою AWS Managed Microsoft AD без синхронізації пароля користувача і як інтегрувати Azure AD із локальною AD див. статтю Microsoft Спеціальне встановлення Azure Active Directory Connect.
Огляд рішення
Це рішення допоможе вам налаштувати федерацію IAM за допомогою Azure AD, підключеного до локальної AD, і налаштувати доступ Athena на рівні робочої групи для користувачів. Ви можете контролювати доступ до робочої групи за допомогою локальної групи AD або групи Azure AD. Рішення складається з чотирьох розділів:
- Налаштуйте Azure AD як постачальника ідентифікаційної інформації (IdP):
- Налаштуйте Azure AD як ідентифікатора SAML для програми з єдиним обліковим записом AWS.
- Налаштуйте програму Azure AD із делегованими дозволами.
- Налаштуйте IAM IdP і ролі:
- Налаштуйте IdP, який довіряє Azure AD.
- Налаштуйте користувача IAM із дозволом ролі читання.
- Налаштуйте роль і політики IAM для кожної робочої групи Athena.
- Налаштуйте доступ користувача в Azure AD:
- Налаштуйте автоматичне надання ролі IAM.
- Налаштуйте доступ користувача до ролі робочої групи Athena.
- Доступ до Athena:
- Отримайте доступ до Athena за допомогою веб-платформи Microsoft Портал Мої програми.
- Доступ до Athena за допомогою SQL Workbench/J безкоштовний, незалежний від СУБД, кросплатформний інструмент запитів SQL.
Наступна діаграма ілюструє архітектуру рішення.
Робочий процес рішення включає наступні кроки:
- Робоча станція розробника підключається до Azure AD через драйвер SQL Workbench/j JDBC Athena, щоб запитати маркер SAML (двоетапний процес OAuth).
- Azure AD надсилає трафік автентифікації назад у локальну мережу через наскрізний агент Azure AD або ADFS.
- Прохідний агент Azure AD або ADFS підключається до локального DC і автентифікує користувача.
- Прохідний агент або ADFS надсилає маркер успіху до Azure AD.
- Azure AD створює маркер SAML, що містить призначену роль IAM, і надсилає його клієнту.
- Клієнт підключається до Служба маркерів безпеки AWS (AWS STS) і представляє токен SAML для виконання ролі Athena та генерує тимчасові облікові дані.
- AWS STS надсилає клієнту тимчасові облікові дані.
- Клієнт використовує тимчасові облікові дані для підключення до Athena.
Передумови
Перш ніж налаштовувати рішення, ви повинні відповідати таким вимогам:
- На стороні Azure AD виконайте такі дії:
- Налаштуйте сервер Azure AD Connect і синхронізуйте його з локальною AD
- Налаштуйте наскрізне об’єднання Azure AD або Microsoft ADFS між Azure AD і локальною AD
- Створити трьох користувачів (
user1
,user2
,user3
) і три групи (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) для трьох відповідних робочих груп Athena
- З боку Athena створіть три робочі групи Athena:
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
Щоб отримати додаткові відомості про використання зразків робочих груп Athena, див Загальнодоступне озеро даних для аналізу даних про COVID-19.
Налаштуйте Azure AD
У цьому розділі ми розглянемо деталі конфігурації Azure AD для Athena в передплаті Microsoft Azure. В основному ми зареєструємо програму, налаштуємо об’єднання, делегуємо дозвіл програми та згенеруємо секрет програми.
Установіть Azure AD як SAML IdP для програми з одним обліковим записом AWS
Щоб налаштувати Azure AD як постачальника ідентифікаційних даних SAML, виконайте такі дії:
- Увійдіть у Портал Azure з обліковими даними глобального адміністратора Azure AD.
- Вибирати Azure Active Directory.
- Вибирати Підприємство-додатки.
- Вибирати Нова заявка.
- Шукати
Amazon
у рядку пошуку. - Вибирати Доступ до єдиного облікового запису AWS.
- для найменування, вводити
Athena-App
. - Вибирати Створити.
- У Приступаючи до роботи розділ під Налаштувати систему єдиного входувиберіть ПОЧАТИ.
- для Виберіть метод єдиного входувиберіть SAML.
- для Базова конфігурація SAMLвиберіть Змінити.
- для Ідентифікатор (Ідентифікатор організації), введіть
https://signin.aws.amazon.com/saml#1
. - Вибирати зберегти.
- під Сертифікат підпису SAML, Для Федерація метаданих XMLвиберіть Завантажити.
Цей файл потрібен для налаштування вашого IAM IdP у наступному розділі. Збережіть цей файл на локальній машині, щоб використовувати його пізніше під час налаштування IAM на AWS.
Налаштуйте свою програму Azure AD із делегованими дозволами
Щоб налаштувати програму Azure AD, виконайте такі дії:
- Вибирати Azure Active Directory.
- Вибирати Реєстрації додатків та всі додатки.
- Шукайте і вибирайте Athena-App.
- Зверніть увагу на значення для ID програми (клієнта). та Ідентифікатор каталогу (орендаря)..
Вам знадобляться ці значення в підключенні JDBC, коли ви підключаєтесь до Athena.
- під Дозволи APIвиберіть Додайте дозвіл.
- Вибирати Графік Microsoft та Делеговані дозволи.
- для Виберіть дозволи, шукати
user.read
. - для користувачвиберіть Користувач.Читати.
- Вибирати Додайте дозвіл.
- Вибирати Надайте згоду адміністратора та Так.
- Вибирати Authentication та Додайте платформу.
- Вибирати Мобільні та настільні програми.
- під Спеціальні URI перенаправлення, введіть
http://localhost/athena
. - Вибирати Конфігурувати.
- Вибирати Сертифікати та секрети та Новий секрет клієнта.
- Введіть опис.
- для Закінчуєтьсявиберіть 24 місяців.
- Скопіюйте секретне значення клієнта для використання під час налаштування підключення JDBC.
Налаштуйте IAM IdP і ролі
У цьому розділі ми розглянемо налаштування IAM в обліковому записі AWS. Головним чином ми створимо користувача IAM, ролі та політики.
Налаштуйте IdP, який довіряє Azure AD
Щоб налаштувати IdP, який довіряє Azure AD, виконайте такі дії:
- На консолі IAM виберіть Постачальники ідентифікації у навігаційній панелі.
- Вибирати Додати постачальника.
- для Тип постачальникавиберіть SAML.
- для Ім'я постачальника, введіть
AzureADAthenaProvider
. - для Документ метаданих, завантажте файл, завантажений із порталу Azure.
- Вибирати Додати постачальника.
Налаштуйте користувача IAM із дозволом ролі читання
Щоб налаштувати користувача IAM, виконайте такі дії:
- На консолі IAM виберіть користувачів у навігаційній панелі.
- Вибирати Додати користувача.
- для ім'я користувача, введіть
ReadRoleUser
. - для Тип доступувиберіть Програмний доступ.
- Вибирати Далі: Дозволи.
- для Встановити дозволивиберіть Додайте наявні політики безпосередньо.
- Вибирати Створити політику.
- Select JSON і введіть таку політику, яка надає доступ для читання для перерахування ролей в IAM:
- Вибирати Далі: Теги.
- Вибирати Далі: Огляд.
- для ІМ'Я, введіть
readrolepolicy
. - Вибирати Створити політику.
- на Додати користувача знайдіть і виберіть роль
readrole
. - Вибирати Далі: теги.
- Вибирати Далі: Огляд.
- Вибирати Створити користувача.
- Завантажте файл .csv, що містить ідентифікатор ключа доступу та секретний ключ доступу.
Ми використовуємо їх під час налаштування автоматичного надання Azure AD.
Налаштуйте роль і політики IAM для кожної робочої групи Athena
Щоб налаштувати ролі та політики IAM для ваших робочих груп Athena, виконайте такі дії:
- На консолі IAM виберіть Ролі у навігаційній панелі.
- Вибирати Створіть роль.
- для Виберіть тип довіреної організаціївиберіть Федерація SAML 2.0.
- для Постачальник SAMLвиберіть AzureADAthenaProvider.
- Вибирати Дозволити програмний доступ і доступ до консолі керування AWS.
- під станвиберіть ключ.
- Select SAML: ауд.
- для станвиберіть StringEquals.
- для значення, введіть
http://localhost/athena
. - Вибирати Далі: Дозволи.
- Вибирати Створити політику.
- Вибирати JSON і введіть таку політику (вкажіть ARN вашої робочої групи):
Політика надає повний доступ до робочої групи Athena. Це засновано на Керована політика AWS AmazonAthenaFullAccess
та приклад політики робочої групи.
- Вибирати Далі: Теги.
- Вибирати Далі: Огляд.
- для ІМ'Я, введіть
athenaworkgroup1policy
. - Вибирати Створити політику.
- на Створіть роль вкладка, пошук
athenaworkgroup1policy
і виберіть політику. - Вибирати Далі: Теги.
- Вибирати Далі: Огляд.
- Вибирати Створіть роль.
- для ІМ'Я, введіть
athenaworkgroup1role
. - Вибирати Створіть роль.
Налаштуйте доступ користувача в Azure AD
У цьому розділі ми налаштуємо автоматичне надання та призначимо користувачів програмі з порталу Microsoft Azure.
Налаштуйте автоматичне надання ролі IAM
Щоб налаштувати автоматичне надання ролі IAM, виконайте такі дії:
- Увійдіть у Портал Azure з обліковими даними глобального адміністратора Azure AD.
- Вибирати Azure Active Directory.
- Вибирати Корпоративні програми І вибирай Athena-App.
- Вибирати Надання облікових записів користувачів.
- У Резервування розділ, вибрати ПОЧАТИ.
- для Режим забезпеченнявиберіть автоматичний.
- Розширювати Облікові дані адміністратора і заселити clientsecret та Секретний жетон з ідентифікатором ключа доступу та секретним ключем доступу
ReadRoleUser
, відповідно. - Вибирати Перевірити підключення та зберегти.
- Вибирати Почніть ініціалізацію.
Початковий цикл може тривати деякий час, після чого ролі IAM заповнюються в Azure AD.
Налаштуйте доступ користувача до ролі робочої групи Athena
Щоб налаштувати доступ користувача до ролі робочої групи, виконайте такі дії:
- Увійдіть до Портал Azure з обліковими даними глобального адміністратора Azure AD.
- Вибирати Azure Active Directory.
- Вибирати Корпоративні програми І вибирай Athena-App.
- Вибирати Призначте користувачів і групи та Додати користувача/групу.
- під Користувачі та групи, виберіть групу, якій ви хочете призначити дозвіл Athena. Для цього поста ми використовуємо
athena-admin-adgroup
; або ви можете вибрати user1. - Вибирати Select.
- для Виберіть роль, виберіть роль
athenaworkgroup1role
. - Вибирати Select.
- Вибирати Призначити.
Доступ до Афіни
У цьому розділі ми продемонструємо, як отримати доступ до Athena з консолі AWS та інструмента розробника SQL Workbench/J
Отримайте доступ до Athena за допомогою веб-порталу Microsoft My Apps
Щоб скористатися порталом Microsoft My Apps для доступу до Athena, виконайте такі дії:
- Увійдіть до Портал Azure з обліковими даними глобального адміністратора Azure AD.
- Вибирати Azure Active Directory
- Вибирати Корпоративні програми І вибирай Athena-App.
- Вибирати
- властивості.
- Скопіюйте значення для URL доступу користувача.
- Відкрийте веб-браузер і введіть URL-адресу.
Посилання перенаправляє вас на сторінку входу в Azure.
- Увійдіть за допомогою облікових даних локального користувача.
Ви перенаправлені на Консоль управління AWS.
Доступ до Athena за допомогою SQL Workbench/J
У суворо регульованих організаціях внутрішнім користувачам заборонено використовувати консоль для доступу до Athena. У таких випадках ви можете використовувати SQL Workbench/J, інструмент із відкритим кодом, який забезпечує підключення до Athena за допомогою драйвера JDBC.
- Завантажте останню версію Драйвер Athena JDBC (виберіть відповідний драйвер на основі вашої версії Java).
- Завантажити та встановити SQL Workbench/J.
- Відкрити SQL Workbench/J.
- на філе меню, виберіть Підключити вікно.
- Вибирати Керування драйверами.
- для ІМ'Я, введіть назву свого водія.
- Перейдіть до папки, куди ви завантажили та розпакували драйвер.
- Вибирати OK.
Тепер, коли ми налаштували драйвер Athena, настав час підключитися до Athena. Потрібно ввести URL-адресу підключення, ім’я користувача та пароль.
Використовуйте такий рядок підключення, щоб підключитися до Athena за допомогою облікового запису користувача без MFA (надайте значення, зібрані раніше в публікації):
Щоб підключитися за допомогою облікового запису користувача з увімкненим MFA, скористайтеся постачальником облікових даних Azure AD для веб-переглядача. Вам потрібно створити URL-адресу підключення та заповнити ім’я користувача Ім’я користувача та пароль
Використовуйте такий рядок підключення, щоб підключитися до Athena за допомогою облікового запису користувача, у якому ввімкнено MFA (надайте значення, які ви зібрали раніше):
Замініть червоний текст деталями, зібраними раніше в статті.
Коли з’єднання буде встановлено, ви зможете виконувати запити до Athena.
Конфігурація проксі
Якщо ви підключаєтеся до Athena через проксі-сервер, переконайтеся, що проксі-сервер підтримує порт 444. API потокового набору результатів використовує порт 444 на сервері Athena для вихідного зв’язку. Встановіть ProxyHost
властивість IP-адреси або імені хоста вашого проксі-сервера. Встановіть ProxyPort
властивість номер порту TCP, який проксі-сервер використовує для прослуховування підключень клієнта. Перегляньте наступний код:
Підсумки
У цій публікації ми налаштували об’єднання IAM за допомогою Azure AD, підключеного до локальної AD, і налаштували детальний доступ до робочої групи Athena. Ми також розглянули, як отримати доступ до Athena через консоль за допомогою веб-порталу Microsoft My Apps і інструменту SQL Workbench/J. Ми також обговорили, як працює з’єднання через проксі. Цю ж інфраструктуру об’єднання також можна використовувати для конфігурації драйвера ODBC. Ви також можете скористатися інструкціями в цій публікації, щоб налаштувати Azure IdP на основі SAML, щоб увімкнути федеративний доступ до Athena Workgroups.
Про автора
Нірадж Кумар є головним технічним менеджером із фінансових послуг у AWS, де він допомагає клієнтам проектувати, проектувати, створювати, керувати та підтримувати робочі навантаження на AWS у безпечний та надійний спосіб. Він має понад 20 років різноманітного ІТ-досвіду в галузі корпоративної архітектури, хмари та віртуалізації, безпеки, IAM, архітектури рішень, а також інформаційних систем і технологій. У вільний час він захоплюється наставництвом, коучингом, трекінгом, переглядом документальних фільмів із сином і щодня читає щось нове.
- '
- &
- 100
- 11
- 420
- 7
- 9
- доступ
- рахунки
- дію
- активний
- Active Directory
- Ad
- адмін
- ВСІ
- Дозволити
- Amazon
- аналіз
- API
- додаток
- застосування
- додатка
- архітектура
- стаття
- Authentication
- AWS
- Лазурний
- Блог
- браузер
- будувати
- випадків
- хмара
- код
- зв'язку
- зв'язку
- Зв'язки
- зв'язок
- згода
- COVID-19
- Повноваження
- Крос-платформна
- Клієнти
- дані
- Озеро даних
- день
- dc
- дизайн
- Розробник
- документальні фільми
- водій
- підприємство
- досвід
- Поля
- фінансовий
- фінансові послуги
- Безкоштовна
- Повний
- Глобальний
- гранти
- Group
- Як
- How To
- HTTPS
- IAM
- Особистість
- інформація
- Інфраструктура
- інтерактивний
- IP
- IP-адреса
- IT
- Java
- ключ
- останній
- рівень
- LINK
- місцевий
- розташування
- подивився
- управління
- МЗС
- Microsoft
- Mobile
- навігація
- управління 365
- організації
- Пароль
- підключати
- Політика
- політика
- Портал
- Головний
- власність
- повноваження
- громадськість
- читання
- переадресовувати
- Вимога
- ресурс
- прогін
- Пошук
- безпеку
- Послуги
- комплект
- простий
- її
- SQL
- Заява
- зберігання
- потоковий
- передплата
- успіх
- підтримка
- Опори
- Systems
- технічний
- Технології
- тимчасовий
- час
- знак
- трафік
- користувачі
- значення
- Web
- веб-браузер
- робочий
- працює
- років