Azure HDInsight Kimlik Aracısı (HIB)

Bu makalede Azure HDInsight Kimlik Aracısı özelliğinin nasıl ayarlanacağı ve kullanılacağı açıklanmaktadır. Microsoft Entra Etki Alanı Hizmetleri'nde eski parola karmalarına gerek kalmadan çok faktörlü kimlik doğrulaması zorlamasına sahipken Apache Ambari'ye modern OAuth kimlik doğrulaması almak için bu özelliği kullanabilirsiniz.

Genel Bakış

HDInsight Kimlik Aracısı, aşağıdaki senaryolarda karmaşık kimlik doğrulama kurulumlarını basitleştirir:

  • Kuruluşunuz, bulut kaynaklarına erişim için kullanıcıların kimliğini doğrulamak için federasyona dayanır. Daha önce HDInsight Kurumsal Güvenlik Paketi kümelerini kullanmak için şirket içi ortamınızdan Microsoft Entra ID'ye parola karması eşitlemeyi etkinleştirmeniz gerekiyordu. Bu gereksinim bazı kuruluşlar için zor veya istenmeyen bir gereksinim olabilir.
  • Kuruluşunuz Apache Ambari ve diğer küme kaynaklarına web tabanlı veya HTTP tabanlı erişim için çok faktörlü kimlik doğrulamasını zorunlu kılmak istiyor.

HDInsight Kimlik Aracısı, parola karmalarını Microsoft Entra Domain Services ile eşitlemeye gerek kalmadan protokolün OAuth'dan (modern) Kerberos'a (eski) geçişini sağlayan kimlik doğrulama altyapısını sağlar. Bu altyapı, küme ağ geçidi düğümleriyle birlikte HDInsight Kimlik Aracısı düğümü etkinleştirilmiş bir Windows Server sanal makinesinde (VM) çalışan bileşenlerden oluşur.

Kuruluşunuzun gereksinimlerine göre en iyi kimlik doğrulama seçeneğini belirlemek için aşağıdaki tabloyu kullanın.

Kimlik doğrulaması seçenekleri HDInsight yapılandırması Dikkate alınması gereken faktörler
Tam OAuth Kurumsal Güvenlik Paketi + HDInsight Kimlik Aracısı En güvenli seçenek. (Çok faktörlü kimlik doğrulaması desteklenir.) Karma eşitlemeyi geçirme gerekli değildir. Microsoft Entra Domain Services'da parola karması olmayan şirket içi hesaplar için ssh/kinit/keytab erişimi yoktur. Yalnızca bulut hesapları hala ssh/kinit/keytab olabilir. OAuth aracılığıyla Ambari'ye web tabanlı erişim. OAuth'u desteklemek için eski uygulamaların (örneğin JDBC/ODBC) güncelleştirilmesini gerektirir.
OAuth + Temel Kimlik Doğrulaması Kurumsal Güvenlik Paketi + HDInsight Kimlik Aracısı OAuth aracılığıyla Ambari'ye web tabanlı erişim. Eski uygulamalar temel kimlik doğrulamasını kullanmaya devam ediyor. Temel kimlik doğrulaması erişimi için çok faktörlü kimlik doğrulaması devre dışı bırakılmalıdır. Karma eşitlemeyi geçirme gerekli değildir. Microsoft Entra Domain Services'da parola karması olmayan şirket içi hesaplar için ssh/kinit/keytab erişimi yoktur. Yalnızca bulut hesapları hala ssh/kinit olabilir.
Tam Temel Kimlik Doğrulaması Kurumsal Güvenlik Paketi En çok şirket içi kurulumlara benzer. Microsoft Entra Domain Services ile parola karması eşitlemesi gereklidir. Şirket içi hesaplar ssh/kinit yapabilir veya tuş sekmesini kullanabilir. Yedekleme depolama alanı Azure Data Lake Storage 2. Nesil çok faktörlü kimlik doğrulaması devre dışı bırakılmalıdır.

Aşağıdaki diyagramda, HDInsight Kimlik Aracısı etkinleştirildikten sonra federasyon kullanıcıları da dahil olmak üzere tüm kullanıcılar için modern OAuth tabanlı kimlik doğrulama akışı gösterilmektedir:

Diagram that shows authentication flow with HDInsight ID Broker.

Bu diyagramda istemcinin (bir tarayıcı veya uygulama) önce OAuth belirtecini alması gerekir. Ardından belirteci bir HTTP isteğinde ağ geçidine sunar. Azure portalı gibi diğer Azure hizmetlerinde zaten oturum açtıysanız, çoklu oturum açma deneyimiyle HDInsight kümenizde oturum açabilirsiniz.

Yine de yalnızca temel kimlik doğrulamasını (kullanıcı adı ve parola) destekleyen birçok eski uygulama olabilir. Bu senaryolarda, küme ağ geçitlerine bağlanmak için HTTP temel kimlik doğrulamasını kullanmaya devam edebilirsiniz. Bu kurulumda, ağ geçidi düğümlerinden doğrudan görüş hattı sağlamak için ağ geçidi düğümlerinden Active Directory Federasyon Hizmetleri (AD FS) (AD FS) uç noktasına ağ bağlantısını sağlamanız gerekir.

Aşağıdaki diyagramda, federasyon kullanıcıları için temel kimlik doğrulama akışı gösterilmektedir. İlk olarak, ağ geçidi ROPC akışını kullanarak kimlik doğrulamasını tamamlamaya çalışır. Microsoft Entra Id ile eşitlenmiş bir parola karması olmaması durumunda ad FS uç noktasını bulmaya geri döner ve AD FS uç noktasına erişerek kimlik doğrulamasını tamamlar.

Diagram that shows architecture with basic authentication.

HDInsight Kimlik Aracısı'nı etkinleştirme

HDInsight Kimlik Aracısı etkinleştirilmiş bir Kurumsal Güvenlik Paketi kümesi oluşturmak için,

  1. Azure Portal oturum açın.
  2. Kurumsal Güvenlik Paketi kümesi için temel oluşturma adımlarını izleyin. Daha fazla bilgi için bkz . Kurumsal Güvenlik Paketi ile HDInsight kümesi oluşturma.
  3. HDInsight Kimlik Aracısı'nı Etkinleştir'i seçin.

HDInsight Kimlik Aracısı özelliği kümeye fazladan bir VM ekler. Bu VM HDInsight Kimlik Aracısı düğümüdür ve kimlik doğrulamasını desteklemek için sunucu bileşenlerini içerir. HDInsight Kimlik Aracısı düğümü, etki alanına Microsoft Entra Domain Services etki alanına katılır.

Diagram that shows option to enable HDInsight ID Broker.

Azure Resource Manager şablonlarını kullanma

Şablonunuzun işlem profiline aşağıdaki özniteliklerle adlı idbrokernode yeni bir rol eklerseniz, küme HDInsight Kimlik Aracısı düğümü etkinleştirilmiş olarak oluşturulur:

.
.
.
"computeProfile": {
    "roles": [
        {
            "autoscale": null,
            "name": "headnode",
           ....
        },
        {
            "autoscale": null,
            "name": "workernode",
            ....
        },
        {
            "autoscale": null,
            "name": "idbrokernode",
            "targetInstanceCount": 2,
            "hardwareProfile": {
                "vmSize": "Standard_A2_V2"
            },
            "virtualNetworkProfile": {
                "id": "string",
                "subnet": "string"
            },
            "scriptActions": [],
            "dataDisksGroups": null
        }
    ]
}
.
.
.

ARM şablonunun tam örneğini görmek için burada yayımlanan şablona bakın.

Araç tümleştirmesi

HDInsight araçları, OAuth'u yerel olarak destekleyecek şekilde güncelleştirilir. Kümelere modern OAuth tabanlı erişim için bu araçları kullanın. HDInsight IntelliJ eklentisi Scala gibi Java tabanlı uygulamalar için kullanılabilir. Visual Studio Code için Spark ve Hive Araçları PySpark ve Hive işleri için kullanılabilir. Araçlar hem toplu işleri hem de etkileşimli işleri destekler.

Microsoft Entra Domain Services'da parola karması olmadan SSH erişimi

SSH seçenekleri Dikkate alınması gereken faktörler
Yerel VM hesabı (örneğin, sshuser) Bu hesabı küme oluşturma zamanında sağladınız. Bu hesap için Kerberos kimlik doğrulaması yok.
Yalnızca bulut hesabı (örneğin, alice@contoso.onmicrosoft.com) Parola karması Microsoft Entra Etki Alanı Hizmetleri'nde kullanılabilir. Kerberos kimlik doğrulaması SSH Kerberos aracılığıyla mümkündür.
Şirket içi hesap (örneğin, alice@contoso.com) SSH Kerberos kimlik doğrulaması yalnızca Microsoft Entra Etki Alanı Hizmetleri'nde bir parola karması varsa mümkündür. Aksi takdirde, bu kullanıcı kümeye SSH yapamaz.

Etki alanına katılmış bir VM'ye SSH uygulamak veya komutu çalıştırmak kinit için bir parola sağlamanız gerekir. SSH Kerberos kimlik doğrulaması, karmanın Microsoft Entra Etki Alanı Hizmetleri'nde kullanılabilir olmasını gerektirir. SSH'yi yalnızca yönetim senaryoları için kullanmak istiyorsanız, yalnızca bir bulut hesabı oluşturabilir ve kümeye SSH için kullanabilirsiniz. Diğer şirket içi kullanıcılar, Microsoft Entra Domain Services'da parola karması olmadan Ambari veya HDInsight araçlarını veya HTTP temel kimlik doğrulamasını kullanmaya devam edebilir.

Kuruluşunuz parola karmalarını Microsoft Entra Domain Services ile eşitlemiyorsa, en iyi yöntem olarak Microsoft Entra Id'de yalnızca buluta özel bir kullanıcı oluşturun. Ardından kümeyi oluştururken küme yöneticisi olarak atayın ve bunu yönetim amacıyla kullanın. SSH aracılığıyla VM'lere kök erişim elde etmek için bunu kullanabilirsiniz.

Kimlik doğrulama sorunlarını gidermek için bu kılavuza bakın.

HDInsight Kimlik Aracısı ile HDInsight ağ geçidine bağlanmak için OAuth kullanan istemciler

HDInsight Kimlik Aracısı kurulumunda, ağ geçidine bağlanan özel uygulamalar ve istemciler önce gerekli OAuth belirtecini almak için güncelleştirilebilir. Daha fazla bilgi için bkz . Azure hizmetleriyle .NET uygulamalarının kimliğini doğrulama. HDInsight ağ geçidine erişim yetkisi vermek için gereken temel değerler şunlardır:

  • OAuth kaynak uri'si: https://hib.azurehdinsight.net
  • AppId: 7865c1d2-f040-46cc-875f-831a1ef6a28a
  • İzin: (ad: Cluster.ReadWrite, id: 8f89faa0-ffef-4007-974d-4989b39ad77d)

OAuth belirtecini aldıktan sonra küme ağ geçidine yönelik HTTP isteğinin yetkilendirme üst bilgisinde kullanın (örneğin, https://< clustername-int.azurehdinsight.net>). Apache Livy API'sine örnek bir curl komutu şu örneğe benzer olabilir:

curl -k -v -H "Authorization: Bearer Access_TOKEN" -H "Content-Type: application/json" -X POST -d '{ "file":"wasbs://mycontainer@mystorageaccount.blob.core.windows.net/data/SparkSimpleTest.jar", "className":"com.microsoft.spark.test.SimpleFile" }' "https://<clustername>-int.azurehdinsight.net/livy/batches" -H "X-Requested-By:<username@domain.com>"

Beeline ve Livy'yi kullanmak için, istemcinizi OAuth kullanacak ve kümeye bağlanacak şekilde ayarlamak için burada sağlanan örnek kodlarını da izleyebilirsiniz.

SSS

HDInsight tarafından Microsoft Entra Id'de hangi uygulama oluşturulur?

Her küme için bir üçüncü taraf uygulaması Microsoft Entra Id'de cluster uri'si ile identifierUri (gibi https://clustername.azurehdinsight.net) olarak kaydedilir.

Microsoft Entra Id'de, kullanıcıların kimliğini doğrulamadan veya verilere erişmeden önce tüm üçüncü taraf uygulamalar için onay gereklidir.

Microsoft Graph API'si onayı otomatikleştirmenize olanak tanır. API belgelerine bakın Onayı otomatikleştirme sırası şu şekildedir:

  • Bir uygulamayı kaydedin ve Microsoft Graph'e erişmek için uygulamaya Application.ReadWrite.All izinleri verin
  • Bir küme oluşturulduktan sonra, tanımlayıcı uri'sini temel alarak küme uygulaması için sorgu oluşturun
  • Uygulama için onay kaydetme

Küme silindiğinde HDInsight uygulamayı siler ve herhangi bir onayı temizlemeniz gerekmez.

Sonraki adımlar