Share via


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. Az Apache Ambariban a felhasználókkal, csoportokkal és engedélyekkel végzett munka mind az ESP HDInsight-fürtök, mind a standard HDInsight-fürtök esetében támogatott.

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:

Apache Ambari dashboard manage.

Felhasználók hozzáadása

Felhasználók hozzáadása a portálon keresztül

  1. A felügyeleti lapon válassza a Felhasználók lehetőséget.

    Apache Ambari management page users.

  2. Válassza a + Helyi felhasználó létrehozása lehetőséget.

  3. 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évelCLUSTERNAMENEWUSERPASSWORD.

# 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ő NEWUSERADMINPASSWORDUSERPASSWORD é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.

  1. A felügyeleti lapon válassza a nézetek hivatkozást a bal oldali Nézetek menüfejléc alatt.

    Apache Ambari views view links.

  2. 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:

    HDInsight Views - Apache Hive view.

  3. 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óknakGrant permission to these users.

Engedélyek megadása ezekhez a csoportokhozGrant permission to these groups.

  1. 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.

      Apache Ambari user auto completes.

    • 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.

      Apache Ambari grant user permissions.

  2. 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.

      Apache Ambari grant permissions.

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.

HDInsight Views - Apache Tez view.

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ürt Rendszergazda istrator
  • 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.

Apache Ambari roles menu links.

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.

Apache Ambari roles menu link permissions.

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 az egyes szerepköröket a saját sorában jeleníti meg, és megadja a szerepkörök hozzárendelését ezekhez a felhasználókhoz , és szerepköröket rendel ezekhez a csoportokhoz a korábban ismertetett módon.

Apache Ambari roles block view.

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.

    Apache Ambari roles list view - users.

  • 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.

    Apache Ambari roles list view - groups.

    A fenti képen a "hiveusers" csoport a fürtfelhasználói szerepkörhöz van 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.

Apache Ambari user with views only.

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.

Apache Ambari dashboard display.

Következő lépések