Az Apache Ambari Views használatának engedélyezése felhasználók számára
Az ESP-kompatibilis HDInsight-fürtök nagyvállalati szintű képességeket biztosítanak, beleértve a Microsoft Entra ID-alapú hitelesítést is. Szinkronizálhatja a microsoft entra-csoportokhoz hozzáadott új felhasználókat , akik hozzáférést kaptak a fürthöz, így bizonyos műveleteket hajthatnak végre az adott felhasználók. Ha felhasználókkal, csoportokkal és engedélyekkel dolgozik az Apache Ambariban, az ESP HDInsight-fürtök és a standard HDInsight-fürtök egyaránt támogatottak.
Az Active Directory-felhasználók a tartományi hitelesítő adataikkal jelentkezhetnek be a fürtcsomópontokra. A tartományi hitelesítő adataikkal hitelesíthetik a fürt más jóváhagyott végpontokkal, például a Hue-val, az Ambari-nézetekkel, az ODBC-vel, a JDBC-vel, a PowerShell-lel és a REST API-kkal folytatott fürtműveleteket.
Figyelmeztetés
Ne módosítsa az Ambari watchdog (hdinsightwatchdog) jelszavát a Linux-alapú HDInsight-fürtön. A jelszó módosítása megszakítja a szkriptműveletek használatát vagy a skálázási műveletek fürttel való végrehajtását.
Ha még nem tette meg, kövesse az alábbi utasításokat egy új ESP-fürt kiépítéséhez.
Az Ambari felügyeleti oldalának elérése
Az Apache Ambari webes felhasználói felületén található Ambari felügyeleti lap eléréséhez keresse meg a következőthttps://CLUSTERNAME.azurehdinsight.net
: . Adja meg a fürt létrehozásakor megadott fürtadminisztrátori felhasználónevet és jelszót. Ezután az Ambari irányítópulton válassza az Ambari kezelése lehetőséget a rendszergazdai menü alatt:
Felhasználók hozzáadása
Felhasználók hozzáadása a portálon keresztül
A felügyeleti lapon válassza a Felhasználók lehetőséget.
Válassza a + Helyi felhasználó létrehozása lehetőséget.
Adja meg a felhasználónevet és a jelszót. Válassza a Mentés lehetőséget.
Felhasználók hozzáadása a PowerShell-lel
Szerkessze az alábbi változókat a megfelelő értékek lecserélésévelCLUSTERNAME
NEWUSER
PASSWORD
.
# 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
Felhasználók hozzáadása a Curl használatával
Szerkessze az alábbi változókat a megfelelő NEWUSER
ADMINPASSWORD
USERPASSWORD
értékek lecserélésével.CLUSTERNAME
A szkript bash használatával történő végrehajtásra lett tervezve. A Windows parancssorához kisebb módosításokra lenne szükség.
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"
Engedélyek megadása Apache Hive-nézetekhez
Az Ambari többek között az Apache Hive és az Apache TEZ nézetpéldányaival is rendelkezik. Ha egy vagy több Hive-nézetpéldányhoz szeretne hozzáférést biztosítani, lépjen az Ambari felügyeleti lapjára.
A felügyeleti lapon válassza a nézetek hivatkozást a bal oldali Nézetek menüfejléc alatt.
A Nézetek lapon bontsa ki a HIVE sort. A Hive szolgáltatás fürthöz való hozzáadásakor egy alapértelmezett Hive-nézet jön létre. Szükség szerint további Hive-nézetpéldányokat is létrehozhat. Válasszon egy Hive-nézetet:
Görgessen a Nézet lap alja felé. Az Engedélyek szakaszban két lehetősége van arra, hogy a tartomány felhasználói számára engedélyt adjon a nézethez:
Engedélyek megadása ezeknek a felhasználóknak
Engedélyek megadása ezekhez a csoportokhoz
Felhasználó hozzáadásához válassza a Felhasználó hozzáadása gombot.
Kezdje el beírni a felhasználónevet, és megjelenik a korábban definiált nevek legördülő listája.
Jelölje ki vagy fejezze be a felhasználónevet. Ha új felhasználóként szeretné hozzáadni ezt a felhasználónevet, válassza az Új gombot.
A módosítások mentéséhez jelölje be a kék jelölőnégyzetet.
Csoport hozzáadásához kattintson a Csoport hozzáadása gombra.
Kezdje el beírni a csoport nevét. A meglévő csoportnév kiválasztásának vagy új csoport hozzáadásának folyamata megegyezik a felhasználók hozzáadásának folyamatával.
A módosítások mentéséhez jelölje be a kék jelölőnégyzetet.
Ha közvetlenül szeretne felhasználókat hozzáadni egy nézethez, akkor hasznos, ha engedélyeket szeretne hozzárendelni egy felhasználóhoz a nézet használatához, de nem szeretné, hogy egy olyan csoport tagja legyen, amely további engedélyekkel rendelkezik. A felügyeleti többletterhelés csökkentése érdekében egyszerűbb lehet engedélyeket rendelni a csoportokhoz.
Engedélyek megadása Apache TEZ-nézetekhez
Az Apache TEZ nézetpéldányok lehetővé teszik a felhasználók számára az Apache Hive-lekérdezések és az Apache Pig-szkriptek által küldött összes Tez-feladat monitorozását és hibakeresését. A fürt kiépítésekor létrejön egy alapértelmezett Tez nézetpéldány.
Ha felhasználókat és csoportokat szeretne hozzárendelni egy Tez nézetpéldányhoz, bontsa ki a TEZ sort a Nézetek lapon, a korábban leírtaknak megfelelően.
Felhasználók vagy csoportok hozzáadásához ismételje meg a 3–5. lépést az előző szakaszban.
Felhasználók hozzárendelése szerepkörökhöz
A felhasználók és csoportok számára öt biztonsági szerepkör van felsorolva a hozzáférési engedélyek csökkentése érdekében:
- Fürtadminisztrátor
- Fürt operátora
- Szolgáltatás-rendszergazda
- Szolgáltatás operátora
- Fürtfelhasználó
A szerepkörök kezeléséhez lépjen az Ambari felügyeleti lapjára, majd válassza a Szerepkörök hivatkozást a bal oldali Fürtök menücsoportban.
Az egyes szerepkörökhöz adott engedélyek listájának megtekintéséhez kattintson a Szerepkörök tábla fejléce melletti kék kérdőjelre a Szerepkörök lapon.
Ezen a lapon két különböző nézet használható a felhasználók és csoportok szerepköreinek kezelésére: Letiltás és Lista.
Blokknézet
A Blokk nézet a saját sorában jeleníti meg az egyes szerepköröket, és megadja a Assign roles to these users
korábban ismertetett * és *Assign roles to these groups
beállításokat.
Listanézet
A Lista nézet két kategóriában kínál gyors szerkesztési képességeket: Felhasználók és csoportok.
A Lista nézet Felhasználók kategóriája megjeleníti az összes felhasználó listáját, így minden felhasználóhoz kiválaszthat egy szerepkört a legördülő listában.
A Lista nézet Csoportok kategóriája az összes csoportot és az egyes csoportokhoz rendelt szerepkört jeleníti meg. A példánkban a csoportok listája szinkronizálva lesz a fürt tartománybeállításainak Access felhasználói csoport tulajdonságában megadott Microsoft Entra-csoportokból. Lásd: HDInsight-fürt létrehozása engedélyezett ESP-vel.
A fenti képen a hive felhasználói csoporthoz a fürtfelhasználói szerepkör van hozzárendelve. Ez egy írásvédett szerepkör, amely lehetővé teszi a csoport felhasználói számára a szolgáltatáskonfigurációk és a fürtmetrikák megtekintését, de nem módosíthatják azt.
Bejelentkezés az Ambariba csak megtekintési felhasználóként
A Microsoft Entra tartomány felhasználója "hiveuser1" engedélyekkel rendelkezik a Hive és a Tez nézetekhez. Amikor elindítjuk az Ambari webes felhasználói felületét, és megadjuk a felhasználó tartományának hitelesítő adatait (Microsoft Entra felhasználónév e-mail formátumban és jelszóval), a rendszer átirányítja a felhasználót az Ambari Nézetek lapjára. Innen a felhasználó bármilyen akadálymentes nézetet kiválaszthat. A felhasználó nem látogathatja a webhely bármely más részét, beleértve az irányítópultot, a szolgáltatásokat, a gazdagépeket, a riasztásokat és a rendszergazdai lapokat.
Bejelentkezés az Ambariba fürtfelhasználóként
Hozzárendeltük a Microsoft Entra tartományfelhasználót a "hiveuser2" nevű fürtfelhasználói szerepkörhöz. Ez a szerepkör hozzáférhet az irányítópulthoz és az összes menüelemhez. A fürtfelhasználóknak kevesebb engedélyezett beállításuk van, mint a rendszergazdáknak. A hiveuser2 például megtekintheti az egyes szolgáltatások konfigurációit, de nem szerkesztheti őket.