本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
組態範例
下列範例示範常見案例的安全性組態和叢集配置。 AWS CLI 為了簡潔起見,會顯示指令。
本地 KDC
下列指令會建立叢集,其叢集專用於主要節點上KDC執行。可能需要在叢集上設定其他組態。如需詳細資訊,請參閱為經過 KerberOS 驗證的使用者和連線HDFS設定叢集 SSH。
建立安全組態
aws emr create-security-configuration --name
LocalKDCSecurityConfig
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ClusterDedicatedKdc",\ "ClusterDedicatedKdcConfiguration": {"TicketLifetimeInHours":24
}}}}'
建立叢集
aws emr create-cluster --release-label
emr-7.2.0
\ --instance-count 3 --instance-typem5.xlarge
\ --applications Name=Hadoop
Name=Hive
--ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole \ --security-configurationLocalKDCSecurityConfig
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=MyPassword
具有作用中目錄跨領域信任KDC的叢集專用
下列命令會建立叢集,其叢集專用於在主要節點上KDC執行,且具有對 Active Directory 網域的跨領域信任。可能需要在叢集和 Active Directory 上設定其他組態。如需詳細資訊,請參閱教學課程:使用 Active Directory 域設定跨領域信任。
建立安全組態
aws emr create-security-configuration --name
LocalKDCWithADTrustSecurityConfig
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ClusterDedicatedKdc", \ "ClusterDedicatedKdcConfiguration": {"TicketLifetimeInHours":24
, \ "CrossRealmTrustConfiguration": {"Realm":"AD.DOMAIN.COM
", \ "Domain":"ad.domain.com
", "AdminServer":"ad.domain.com
", \ "KdcServer":"ad.domain.com
"}}}}}'
建立叢集
aws emr create-cluster --release-label
emr-7.2.0
\ --instance-count3
--instance-typem5.xlarge
--applications Name=Hadoop
Name=Hive
\ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole --security-configurationKDCWithADTrustSecurityConfig
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=MyClusterKDCAdminPassword
,\ ADDomainJoinUser=ADUserLogonName
,ADDomainJoinPassword=ADUserPassword
,\ CrossRealmTrustPrincipalPassword=MatchADTrustPassword
不同叢集KDC上的外部
下列指令會建立一個叢集,參照不同叢集主要節點KDC上專用的叢集,以驗證主體。可能需要在叢集上設定其他組態。如需詳細資訊,請參閱為經過 KerberOS 驗證的使用者和連線HDFS設定叢集 SSH。
建立安全組態
aws emr create-security-configuration --name
ExtKDCOnDifferentCluster
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ExternalKdc", \ "ExternalKdcConfiguration": {"KdcServerType": "Single", \ "AdminServer": "MasterDNSOfKDCMaster:749
", \ "KdcServer": "MasterDNSOfKDCMaster:88
"}}}}'
建立叢集
aws emr create-cluster --release-label
emr-7.2.0
\ --instance-count3
--instance-typem5.xlarge
\ --applications Name=Hadoop Name=Hive \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole --security-configurationExtKDCOnDifferentCluster
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=KDCOnMasterPassword
KDC具有作用中目錄跨領域信任的外部叢集
下列指令會建立沒有的叢集KDC。叢集會參照在另一個叢集的主要節點上KDC執行的叢集專用來驗證主體。KDC具有跨領域信任與作用中目錄網域控制站。主節點上的其他配置KDC是必需的。如需詳細資訊,請參閱教學課程:使用 Active Directory 域設定跨領域信任。
建立安全組態
aws emr create-security-configuration --name
ExtKDCWithADIntegration
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ExternalKdc", \ "ExternalKdcConfiguration": {"KdcServerType": "Single", \ "AdminServer": "MasterDNSofClusterKDC
:749", \ "KdcServer": "MasterDNSofClusterKDC
.com:88", \ "AdIntegrationConfiguration": {"AdRealm":"AD.DOMAIN.COM
", \ "AdDomain":"ad.domain.com
", \ "AdServer":"ad.domain.com
"}}}}}'
建立叢集
aws emr create-cluster --release-label
emr-7.2.0
\ --instance-count3
--instance-typem5.xlarge
--applications Name=Hadoop
Name=Hive
\ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole --security-configurationExtKDCWithADIntegration
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=KDCOnMasterPassword
,\ ADDomainJoinUser=MyPrivilegedADUserName
,ADDomainJoinPassword=PasswordForADDomainJoinUser