Sdílet prostřednictvím


Autorizace uživatelů pro zobrazení Apache Ambari

Clustery HDInsight s podporou podnikového balíčku zabezpečení (ESP) poskytují možnosti na podnikové úrovni, včetně ověřování založeného na ID Microsoftu. Můžete synchronizovat nové uživatele přidané do skupin Microsoft Entra, které byly poskytnuty přístup ke clusteru, což umožňuje těmto konkrétním uživatelům provádět určité akce. Při práci s uživateli, skupinami a oprávněními v Apache Ambari se podporuje clustery ESP HDInsight i standardní clustery HDInsight.

Uživatelé služby Active Directory se můžou přihlásit k uzlům clusteru pomocí svých přihlašovacích údajů k doméně. Můžou také pomocí přihlašovacích údajů domény ověřovat interakce clusteru s jinými schválenými koncovými body, jako jsou Hue, Ambari Views, ODBC, JDBC, PowerShell a REST API.

Upozorňující

Neměňte heslo watchdogu Ambari (hdinsightwatchdog) v clusteru HDInsight založeném na Linuxu. Změna hesla přeruší schopnost používat akce skriptu nebo provádět operace škálování s clusterem.

Pokud jste to ještě neudělali, podle těchto pokynů zřiďte nový cluster ESP.

Přístup na stránku pro správu Ambari

Pokud se chcete dostat na stránku správy Ambari na webovém uživatelském rozhraní Apache Ambari, přejděte na https://CLUSTERNAME.azurehdinsight.netstránku . Zadejte uživatelské jméno a heslo správce clusteru, které jste definovali při vytváření clusteru. Dále na řídicím panelu Ambari pod nabídkou správce vyberte Spravovat Ambari:

Správa řídicího panelu Apache Ambari

Přidat uživatele

Přidání uživatelů prostřednictvím portálu

  1. Na stránce pro správu vyberte Uživatelé.

    Uživatelé stránek pro správu Apache Ambari

  2. Vyberte + Vytvořit místního uživatele.

  3. Zadejte uživatelské jméno a heslo. Vyberte uložit.

Přidání uživatelů prostřednictvím PowerShellu

Upravte níže uvedené proměnné nahrazením CLUSTERNAMENEWUSERPASSWORD a odpovídajícími hodnotami.

# Set-ExecutionPolicy Unrestricted

# Begin user input; update values
$clusterName="CLUSTERNAME"
$user="NEWUSER"
$userpass='PASSWORD'
# End user input

$adminCredentials = Get-Credential -UserName "admin" -Message "Enter admin password"

$clusterName = $clusterName.ToLower()
$createUserUrl="https://$($clusterName).azurehdinsight.net/api/v1/users"

$createUserBody=@{
    "Users/user_name" = "$user"
    "Users/password" = "$userpass"
    "Users/active" = "$true"
    "Users/admin" = "$false"
} | ConvertTo-Json

# Create user
$statusCode =
Invoke-WebRequest `
    -Uri $createUserUrl `
    -Credential $adminCredentials `
    -Method POST `
    -Headers @{"X-Requested-By" = "ambari"} `
    -Body $createUserBody | Select-Object -Expand StatusCode

if ($statusCode -eq 201) {
    Write-Output "User is created: $user"
}
else
{
    Write-Output 'User is not created'
    Exit
}

$grantPrivilegeUrl="https://$($clusterName).azurehdinsight.net/api/v1/clusters/$($clusterName)/privileges"

$grantPrivilegeBody=@{
    "PrivilegeInfo" = @{
        "permission_name" = "CLUSTER.USER"
        "principal_name" = "$user"
        "principal_type" = "USER"
    }
} | ConvertTo-Json

# Grant privileges
$statusCode =
Invoke-WebRequest `
    -Uri $grantPrivilegeUrl `
    -Credential $adminCredentials `
    -Method POST `
    -Headers @{"X-Requested-By" = "ambari"} `
    -Body $grantPrivilegeBody | Select-Object -Expand StatusCode

if ($statusCode -eq 201) {
    Write-Output 'Privilege is granted'
}
else
{
    Write-Output 'Privilege is not granted'
    Exit
}

Write-Host "Pausing for 100 seconds"
Start-Sleep -s 100

$userCredentials = "$($user):$($userpass)"
$encodedUserCredentials = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($userCredentials))
$zookeeperUrlHeaders = @{ Authorization = "Basic $encodedUserCredentials" }
$getZookeeperurl="https://$($clusterName).azurehdinsight.net/api/v1/clusters/$($clusterName)/services/ZOOKEEPER/components/ZOOKEEPER_SERVER"

# Perform query with new user
$zookeeperHosts =
Invoke-WebRequest `
    -Uri $getZookeeperurl `
    -Method Get `
    -Headers $zookeeperUrlHeaders

Write-Output $zookeeperHosts

Přidání uživatelů prostřednictvím nástroje Curl

Upravte níže uvedené proměnné nahrazením CLUSTERNAMEADMINPASSWORDNEWUSER, a USERPASSWORD odpovídajícími hodnotami. Skript je navržený tak, aby se spustil pomocí bashe. Pro příkazový řádek Windows by byly potřeba drobné úpravy.

export CLUSTER_NAME="CLUSTERNAME"
export ADMIN_PASSWORD='ADMINPASSWORD'
export USER="NEWUSER"
export USER_PASSWORD='USERPASSWORD'

# create user
curl -k -u admin:$ADMIN_PASSWORD -H "X-Requested-By: ambari" -X POST \
-d "{\"Users/user_name\":\"$USER\",\"Users/password\":\"$USER_PASSWORD\",\"Users/active\":\"true\",\"Users/admin\":\"false\"}" \
https://$CLUSTER_NAME.azurehdinsight.net/api/v1/users

echo "user created: $USER"

# grant permissions
curl -k -u admin:$ADMIN_PASSWORD -H "X-Requested-By: ambari" -X POST \
-d '[{"PrivilegeInfo":{"permission_name":"CLUSTER.USER","principal_name":"'$USER'","principal_type":"USER"}}]' \
https://$CLUSTER_NAME.azurehdinsight.net/api/v1/clusters/$CLUSTER_NAME/privileges

echo "Privilege is granted"

echo "Pausing for 100 seconds"
sleep 10s

# perform query using new user account
curl -k -u $USER:$USER_PASSWORD -H "X-Requested-By: ambari" \
-X GET "https://$CLUSTER_NAME.azurehdinsight.net/api/v1/clusters/$CLUSTER_NAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER"

Udělení oprávnění zobrazením Apache Hivu

Ambari nabízí mimo jiné instance zobrazení pro Apache Hive a Apache TEZ. Pokud chcete udělit přístup k jedné nebo více instancím zobrazení Hive, přejděte na stránku správy Ambari.

  1. Na stránce pro správu vyberte odkaz Zobrazení pod záhlavím nabídky Zobrazení na levé straně.

    Odkazy na zobrazení Apache Ambari

  2. Na stránce Zobrazení rozbalte řádek HIVE . Existuje jedno výchozí zobrazení Hive, které se vytvoří při přidání služby Hive do clusteru. Podle potřeby můžete také vytvořit další instance zobrazení Hive. Vyberte zobrazení Hive:

    Zobrazení HDInsight – zobrazení Apache Hivu

  3. Posuňte se k dolní části stránky Zobrazení. V části Oprávnění máte dvě možnosti, jak uživatelům domény udělit oprávnění k zobrazení:

Udělení oprávnění těmto uživatelůmUdělte těmto uživatelům oprávnění.

Udělení oprávnění těmto skupinámUdělte těmto skupinám oprávnění.

  1. Pokud chcete přidat uživatele, vyberte tlačítko Přidat uživatele .

    • Začněte psát uživatelské jméno a zobrazí se rozevírací seznam dříve definovaných názvů.

      Automatické dokončování uživatele Apache Ambari

    • Vyberte nebo dokončete zadávání uživatelského jména. Pokud chcete toto uživatelské jméno přidat jako nového uživatele, vyberte tlačítko Nový .

    • Pokud chcete změny uložit, zaškrtněte modré políčko.

      Apache Ambari uděluje uživatelská oprávnění.

  2. Pokud chcete přidat skupinu, vyberte tlačítko Přidat skupinu .

    • Začněte psát název skupiny. Proces výběru existujícího názvu skupiny nebo přidání nové skupiny je stejný jako při přidávání uživatelů.

    • Pokud chcete změny uložit, zaškrtněte modré políčko.

      Apache Ambari uděluje oprávnění.

Přidání uživatelů přímo do zobrazení je užitečné, když chcete uživateli přiřadit oprávnění k používání tohoto zobrazení, ale nechcete, aby se stal členem skupiny, která má další oprávnění. Pokud chcete snížit režijní náklady na správu, může být jednodušší přiřadit oprávnění ke skupinám.

Udělení oprávnění zobrazením Apache TEZ

Instance zobrazení Apache TEZ umožňují uživatelům monitorovat a ladit všechny úlohy Tez odeslané dotazy Apache Hive a skripty Apache Pig . Existuje jedna výchozí instance zobrazení Tez, která se vytvoří při zřízení clusteru.

Pokud chcete přiřadit uživatele a skupiny k instanci zobrazení Tez, rozbalte řádek TEZ na stránce Zobrazení, jak je popsáno výše.

Zobrazení HDInsight – zobrazení Apache Tez

Pokud chcete přidat uživatele nebo skupiny, opakujte kroky 3 až 5 v předchozí části.

Přiřazení uživatelů k rolím

Pro uživatele a skupiny existuje pět rolí zabezpečení, které jsou uvedené v pořadí snížení oprávnění k přístupu:

  • Správce clusteru
  • Operátor clusteru
  • Správce služeb
  • Operátor služby
  • Uživatel clusteru

Pokud chcete spravovat role, přejděte na stránku pro správu Ambari a pak vyberte odkaz Role ve skupině nabídek Clusters na levé straně.

Odkazy na nabídky rolí Apache Ambari

Pokud chcete zobrazit seznam oprávnění udělených jednotlivým rolím, klikněte na modrou otazník vedle záhlaví tabulky Role na stránce Role.

Oprávnění k propojení s rolemi Apache Ambari

Na této stránce jsou dvě různá zobrazení, která můžete použít ke správě rolí pro uživatele a skupiny: Blokování a seznam.

Blokové zobrazení

Zobrazení Bloku zobrazuje jednotlivé role ve vlastním řádku a poskytuje Assign roles to these users možnosti a *Assign roles to these groups popsané výše.

Zobrazení bloku rolí Apache Ambari

Zobrazení seznamu

Zobrazení Seznam poskytuje možnosti rychlých úprav ve dvou kategoriích: Uživatelé a skupiny.

  • Kategorie Uživatelé v zobrazení Seznam zobrazuje seznam všech uživatelů a umožňuje vybrat roli pro každého uživatele v rozevíracím seznamu.

    Zobrazení seznamu rolí Apache Ambari – uživatelé

  • Kategorie Skupiny v zobrazení Seznam zobrazí všechny skupiny a roli přiřazenou jednotlivým skupinám. V našem příkladu se seznam skupin synchronizuje ze skupin Microsoft Entra zadaných ve vlastnosti Skupiny uživatelů Accessu v nastavení domény clusteru. Viz Vytvoření clusteru HDInsight s povoleným ESP.

    Zobrazení seznamu rolí Apache Ambari – skupiny.

    Na obrázku výše je skupině uživatelů Hive přiřazena role Uživatel clusteru. Jedná se o roli jen pro čtení, která uživatelům této skupiny umožňuje zobrazit, ale ne změnit konfigurace služeb a metriky clusteru.

Přihlášení k Ambari jako uživatel jen pro zobrazení

Přiřadili jsme uživateli domény Hiveuser1 uživatele Microsoft Entra oprávnění k zobrazením Hive a Tez. Když spustíme webové uživatelské rozhraní Ambari a zadáme přihlašovací údaje k doméně tohoto uživatele (uživatelské jméno Microsoft Entra ve formátu e-mailu a heslo), uživatel se přesměruje na stránku Zobrazení Ambari. Odsud může uživatel vybrat libovolné přístupné zobrazení. Uživatel nemůže navštívit žádnou jinou část webu, včetně řídicího panelu, služeb, hostitelů, upozornění nebo stránek správce.

Uživatel Apache Ambari pouze se zobrazeními

Přihlášení k Ambari jako uživatel clusteru

K roli uživatele clusteru jsme přiřadili uživatele domény Microsoft Entra "hiveuser2". Tato role má přístup k řídicímu panelu a všem položkám nabídky. Uživatel clusteru má méně povolených možností než správce. Například hiveuser2 může zobrazit konfigurace pro každou službu, ale nemůže je upravovat.

Zobrazení řídicího panelu Apache Ambari

Další kroky