写点什么

使用 Kerberos 身份验证将 Amazon EMR 与 Microsoft Active Directory 集成(三)

2020 年 1 月 13 日

使用 Kerberos 身份验证将 Amazon EMR 与 Microsoft Active Directory 集成(三)

单独部署每个组件

本部分介绍如何使用 AWS CloudFormation 模板在解决方案中单独执行每个步骤。


创建和配置 Amazon VPC

为了在 Amazon EMR Kerberos 领域和 Active Directory 域之间建立跨领域信任,您的 Amazon VPC 必须满足以下要求:


  • 用于 Amazon EMR 集群的子网必须具有少于 9 位数的 CIDR 数据块(例如 10.0.1.0/24)。

  • 必须同时启用 DNS 解析和 DNS 主机名(设置为“是”)。

  • 对于 Amazon VPC 中的实例(在下一步中配置),Active Directory 域控制器必须是 DNS 服务器。


要使用 AWS CloudFormation 模板创建和配置具备之前列出的先决条件的 Amazon VPC,请选择启动堆栈



注意:如果您想手动创建 VPC(而不使用 AWS CloudFormation),请参阅 Amazon EMR 文档中的设置 VPC 和子网


启动此堆栈将创建以下 AWS 资源:


  • 具有 CIDR 数据块 10.0.0.0/16 的 Amazon VPC(名称:CrossRealmVPC)

  • 互联网网关(名称:CrossRealmGateway)

  • 具有 CIDR 数据块 10.0.1.0/24 的公有子网(名称:CrossRealmSubnet)

  • 允许从 VPC 子网入站访问的安全组(名称标签:CrossRealmSecurityGroup)


堆栈启动完成后,它应返回类似于以下内容的输出。


col 1col 2col 3
值示例描述
SubnetIDsubnet-xxxxxxxxActive Directory 域控制器和 EMR 集群的子网。
SecurityGroupsg-xxxxxxxxActive Directory 域控制器的安全组。
VPCIDvpc-xxxxxxxxActive Directory 域控制器和 EMR 集群将在此 VPC 上启动。


记下输出结果,以便在下一步中使用。您可以在 AWS 管理控制台中查看堆栈输出,也可以使用以下 AWS CLI 命令:


$ aws cloudformation describe-stacks --stack-name <Stack_Name> --region us-east-1 --query Stacks[0].Outputs
复制代码


启动并配置 Active Directory 域控制器

在此步骤中,您将使用 AWS CloudFormation 模板自动启动并配置新的 Active Directory 域控制器和跨领域信任。


注意:有多种方法可以安装和配置 Active Directory 域控制器。如需详细了解如何在不使用 AWS CloudFormation 的情况下手动启动和安装域控制器,请参阅 Amazon EMR 文档中的第 2 步:启动和安装 AD 域控制器


除了启动和配置 Active Directory 域控制器和跨领域信任之外,此 AWS CloudFormation 模板还会将域控制器设置为 Amazon VPC 的 DNS 服务器(名称服务器)。换言之,该模板会为部署目标 VPC 创建新的 DHCP option-set,并将域控制器的私有 IP 地址设置为该新 DHCP 选项集的名称服务器。


重要提示:****不得在具有 Amazon EC2 实例等现有资源的生产 VPC 上使用此模板。当您启动此堆栈时,请务必使用您在创建和配置 Amazon VPC 步骤中创建的新环境和资源(Amazon VPC、子网和安全组)。


要启动此堆栈,请选择启动堆栈



下表包含有关此模板中可用参数的信息。查看模板的参数并为需要输入值的参数提供值。


col 1col 2col 3
参数默认值描述
VPC ID需要输入在此 VPC 上启动域控制器,例如使用在创建和配置 Amazon VPC 步骤中创建的 VPC。
子网 ID需要输入用于域控制器的子网,例如使用在创建和配置 Amazon VPC 步骤中创建的子网。
安全组 ID需要输入域控制器的安全组 (SG),例如使用在创建和配置 Amazon VPC 步骤中创建的 SG。
域控制器名称DC1Active Directory 服务器的 NetBIOS 名称(不超过 15 个字符)。
Active Directory 域example.com林的 root 域的完全限定域名 (FQDN),如


example.com。


域 NetBIOS 名称 | EXAMPLE | Windows 早期版本用户的域的 NetBIOS 名称。此名称不得超过 15 个字符。


域管理员用户 | CrossRealmAdmin | 添加为域管理员的账户的用户名称。此账户不同于默认的管理员账户。


域管理员密码 | 需要输入 | 域管理员用户的密码。必须至少包含 8 个字符,包括字母、数字和符号。


密钥对名称 | 需要输入 | 用于启用对域控制器实例的访问权限的现有 EC2 密钥对的名称。


实例类型 | m4.xlarge | 域控制器的实例类型。


EMR Kerberos 领域 | EC2.INTERNAL | 集群的 Kerberos 领域名称。默认情况下,领域名称是从集群的大写字母 VPC 域名演化而来的(例如,


EC2.INTERNAL 是 us-east-1 区域中的默认 VPC 域名)。


跨领域信任密码 | 需要输入 | 您想用于跨领域信任的密码。


创建此堆栈需要 25–30 分钟。完成后,记下堆栈的输出结果,然后转到下一步:启动启用了 Kerberos 的 EMR 集群


创建安全配置并启动启用了 Kerberos 的 Amazon EMR 集群

要启动 Kerberized Amazon EMR 集群,您首先必须创建包含跨领域信任配置的安全配置。然后,在启动集群时指定集群特定的 Kerberos 属性。


在此步骤中,您将使用 AWS CloudFormation 启动并配置具有跨领域信任的 Kerberized Amazon EMR 集群。如果您想手动启动和配置启用了 Kerberos 的集群,请参阅 Amazon EMR 文档中的第 6 步:启动 Kerberized EMR 集群


注意:截至撰写本文时,AWS CloudFormation 尚不支持启动启用了 Kerberos 身份验证的 Amazon EMR 集群。为了解决这一限制,我创建了一个模板,该模板使用 AWS Lambda 支持的自定义资源来启动和配置启用了 Kerberos 的 Amazon EMR 集群。如果您使用此模板,则无需执行其他操作。请注意,模板会创建并调用 AWS Lambda 函数(自定义资源)来启动集群。


要使用 AWS CloudFormation 创建跨领域信任安全配置并启动 Kerberized Amazon EMR 集群,请选择启动堆栈



下表列出并描述了用于部署 Kerberized Amazon EMR 集群和配置跨领域信任的模板参数。


col 1col 2col 3
参数默认值描述
Active Directory 域example.com您想与其建立跨领域信任的 Active Directory 域。
域管理员用户(联接用户)CrossRealmAdmin有权将域/计算机加入 Active Directory 域(联接用户)的 Active Directory 域用户的用户名称。
域管理员密码需要输入联接用户的密码。
跨领域信任密码需要输入您的跨领域信任的密码。
EC2 密钥对名称需要输入现有密钥对的名称,可让您在集群启动后安全地连接到集群。
子网 ID需要输入您想用于 Amazon EMR 集群的子网,例如选择在创建和配置 Amazon VPC 步骤中创建的子网。
安全组 ID需要输入您想用于 Amazon EMR 集群的安全组,例如选择在创建和配置 Amazon VPC 步骤中创建的安全组。
实例类型m4.xlarge您想用于集群节点的实例类型。
实例计数2集群的实例(核心节点)数量。
允许的 IP 地址10.0.0.0/16可以访问您的集群的 IP 地址。以 CIDR 表示法指定 IP 地址范围(例如,203.0.113.5/32)。默认情况下,只有 VPC CIDR (10.0.0.0/16) 可以访问集群。请务必添加客户端 IP 地址范围,以便使用 SSH 连接到集群。
EMR 应用程序Hadoop、Spark、Ganglia、Hive您想在集群上安装的应用程序的逗号分隔列表。
EMR Kerberos 领域EC2.INTERNAL集群的 Kerberos 领域名称。默认情况下,领域名称是从集群的大写字母 VPC 域名演化而来的(例如,


EC2.INTERNAL 是 us-east-1 区域中的默认 VPC 域名)。


受信任的 AD 域 | EXAMPLE.COM | 您想信任的 Active Directory 域。此域名与“AD 域名”相同。 但是,它必须全部使用大写字母(例如


EXAMPLE.COM)。


创建此堆栈需要 10–15 分钟。完成后,记下堆栈的输出,然后转到下一部分:管理和测试解决方案


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/use-kerberos-authentication-to-integrate-amazon-emr-with-microsoft-active-directory/


2020 年 1 月 13 日 14:52118

评论

发布
暂无评论
发现更多内容

安全白帽子可能会为DevSecOps铺平道路

啸天

DevSecOps 应用安全 开发安全

产品经理训练营-第一次作业

Jophie

产品经理训练营

产品经理训练营第0期 第一次作业

孙行者

第0期 产品经理训练营

你还在担心搞不定面试官?吃透这份4000道Java面试真题合集,金三银四的黑马就是你了

云流

Java 编程 程序员 面试

高仿书旗小说 Flutter 版,学起来

GitHub指北

如果公司要找一个人代替我,该是个咋样的人?

再见陛下

offer

HTML(二)——用html设置文本

程序员的时光

程序员 28天写作

杭州产品岗位现状分析

王振

重学JS | cookie和localstorage的哪个更安全?

梁龙先森

面试 前端 编程语言 28天写作

进程、线程与协程还傻傻分不清?P7大佬大白话讲解,直接秒懂

互联网架构师小马

Java 线程 多线程 进程

JVM性能调优实战:让你的IntelliJ Idea纵享丝滑

Silently9527

Java jvm调优

28天瞎写的第二百二十二天:五道营胡同的葡萄芽儿

树上

28天写作

spring: 我是如何解决循环依赖的?

互联网架构师小马

Java spring 编程 软件开发 循环依赖

细说MAC地址漂移

「产品经理训练营」作业01:如果公司要招一个高级版的你

狷介

产品经理训练营

产品经理训练营第一周作业

happy-黑皮

产品经理训练营

特征归一化

IT蜗壳-Tango

机器学习 七日更 特征归一化

产品训练营第一周作业【撰写岗位模型】

mayue

产品 学习笔记 产品经理训练营

你真的知道如何删除list集合中特定元素吗

万里无云

Java List remove

Zookeeper面试常见11个连环炮

田维常

面试

产品训练营作业:1、认识产品经理

Geek_06d2e5

动力电池知识皮毛(28天写作 Day11/28)

mtfelix

自动驾驶 28天写作 电动汽车

第一周作业

Castie!

产品经理训练营作业 NO.1

郭栋

产品经理训练营第一周总结

happy-黑皮

产品经理训练营

产品经理训练营-第一章作业

Ryun

下一代消息队列pulsar到底是什么

比伯

Java 编程 架构 面试 计算机

第一章 认识产品经理(下)

郭栋

产品经理训练营——作业1

小匚

Python 字节跳动 产品经理训练营 极客大学产品经理训练营

产品经理训练营——第一周总结

小匚

产品经理训练营 极客大学产品经理训练营

产品经理训练营第一章作业

王德文

产品经理训练营

使用 Kerberos 身份验证将 Amazon EMR 与 Microsoft Active Directory 集成(三)-InfoQ