PowerFlex: Nastavení jednotného přihlašování PowerFlex s platformou Microsoft Azure pomocí OpenID Connect (OIDC)

Shrnutí: Tento článek vás provede konfigurací správy identit a přístupu zákazníka (CIAM) v systému PowerFlex pro jednotné přihlašování pomocí Microsoft Azure Entra ID pomocí OIDC.

Tento článek se vztahuje na Tento článek se nevztahuje na Tento článek není vázán na žádný konkrétní produkt. V tomto článku nejsou uvedeny všechny verze produktu.

Pokyny

Tento článek vás provede konfigurací správy identity a přístupu zákazníka PowerFlex (CIAM) pro jednotné přihlašování s Microsoft Azure Entra ID pomocí OIDC, včetně nastavení certifikátu, konfigurace IdP a poskytovatele služeb (SP), výměny tokenů a ověření přístupu k rozhraní API. Tato konfigurace umožňuje využívat možnosti jednotného přihlašování. Vyžaduje změny konfigurace v systému PowerFlex i Microsoft Azure.

Tento článek je určen správcům a pracovníkům zabezpečení používajícím řešení PowerFlex.

PowerFlex CIAM se integruje s IdP kompatibilními s OIDC, včetně Microsoft Azure Entra ID, a umožňuje centralizované ověřování a zabezpečený přístup k rozhraní API.

Tento článek obsahuje podrobný postup nastavení jednotného přihlašování PowerFlex pomocí systému Microsoft Azure prostřednictvím rozhraní REST API. Zde je seznam kroků na vysoké úrovni:

  1. Inicializace CIAM a konfigurace systému PowerFlex jako poskytovatele služeb (SP) OIDC
  2. Registrace Microsoft Azure Entra ID jako poskytovatele identity (IdP) OIDC
  3. Přidání požadovaných certifikátů certifikační autority (DigiCert/GlobalSign) do CIAM
  4. Konfigurace deklarací identity aplikací Microsoft Azure, identifikátorů URI přesměrování a oprávnění
  5. Vytvoření klientů CIAM OAuth2 a mapování výměny tokenů
  6. Získání tokenu Microsoft Azure, jeho výměna za token PowerFlex a ověření přístupu k rozhraní REST API

Terminologie

V následující tabulce jsou popsány důležité termíny a koncepty nutné k dokončení tohoto procesu:

Platnost Popis
IP adresa virtuálního počítače pro správu (MVM) IP adresy MVM, které hostují nástroj PowerFlex Manager a služby správy. Jeden uzel datového serveru úložiště MVM (SDS) IP adresy MVM naleznete po přihlášení do uživatelského rozhraní nástroje PowerFlex Manager. Přejděte na System-Components>> MVM.  Například 10.2xx.3xx.184, 10.2xx.3xx.185, 10.2xx.3xx.186
Datový server úložiště (SDS) Uzel Storage Data Server (SDS), který je hostitelem MVM.
IP adresa příchozího přenosu dat Externí IP adresa pro rke2-ingress-nginx-controller (nástroj pro vyrovnávání zatížení/koncový bod příchozího přenosu dat)
Správa identit a přístupu zákazníků (CIAM) Služby PowerFlex Customer Identity and Access Management pro OAuth2/OIDC
Poskytovatel služeb (SP) Poskytovatel identity (IdP)|Poskytovatel služeb (na straně PowerFlex/Keycloak) a zprostředkovatel identity (Microsoft Azure Entra ID)

 

Požadavky

K propojení Microsoft Azure Entra ID se zařízením PowerFlex se používá automatizační skript (oidc_azure.tar).

Skript je ve formátu souboru tar a je nutné ho stáhnout a zkopírovat do nástroje MVM:

Chcete-li zkopírovat oidc_azure. tar, musíte mít přístup správce k virtuálnímu počítači pro správu PowerFlex.

Zde je soubor:   oidc_azure.tar

Příkazy je nutné spustit v níže uvedeném snímku obrazovky, protože exportované proměnné se v tomto procesu znovu použijí ve všech krocích a skriptech.

Poznámka: Pokud se zobrazí chyby oprávnění, otevřete prostředí pro přihlášení uživatele root spuštěním: sudo -i

 

Co jednotlivé příkazy dělají?

  • Značka 'kubectl get svc -A | grep "sso " | awk '{print $4}'"vrátí IP adresu clusteru služby jednotného přihlašování v clusteru Kubernetes.
  • Značka 'curl -k --location --request POST "https://${SSO_IP}:8080/rest/auth/login" --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{"username": "admin","password": "Scaleio123!" }' | jq -r .access_token' se přihlásí do systému PowerFlex pomocí rozhraní REST API SSO A načte přístupový token (JWT), který se používá pro následná volání rozhraní API služeb PowerFlex.
  • A co je to za to,kubectl get svc -A | grep -m1 rke2-ingress-nginx-controller | sort | awk '{print $5}''příkaz vrací externí IP adresu služby rke2-ingress-nginx-controller, což je obvykle IP adresa nástroje pro vyrovnávání zatížení nebo kontroleru příchozího přenosu dat používaná pro externí provoz.

 

Po spuštění těchto příkazů se exportují následující proměnné:

export SSO_IP=$(kubectl get svc -A | grep "sso " | awk '{print $4}') 
export ASMUI_PASS=$(kubectl get secret pfxm-asmui-creds -o json -n powerflex \   | jq '.data | map_values(@base64d)' \   | jq -r '.["keycloak-password"]') 
export PM_TOKEN=$(curl -k --location --request POST "https://${SSO_IP}:8080/rest/auth/login" \   --header 'Accept: application/json' \   --header 'Content-Type: application/json' \   --data "{\"username\": \"asmuiuser\",\"password\": \"$ASMUI_PASS\"}" | jq -r .access_token) 
export IN_IP=$(kubectl get svc -A | grep -m1 rke2-ingress-nginx-controller | sort | awk '{print $5}')

 

 

1. Inicializace CIAM a konfigurace systému PowerFlex jako poskytovatele služeb (SP) OIDC

Tento krok je výchozím bodem v procesu integrace CIAM se systémem PowerFlex pomocí OpenID Connect (OICD). Je inicializována konfigurace SSO CIAM pro PowerFlex.

Rozhraní APIPOST /rest/v1/sso-ciam/init

Příkaz: 

 
curl -k -X POST https://$IN_IP/rest/v1/sso-ciam/init --header 'Accept: application/json' --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}"

Skript:  ./init.sh

Výstup: Celé číslo, ID nájemce CIAM, tj. "2"

 

2. Konfigurace řešení PowerFlex s klávesnicí Keycloak jako poskytovatelem služby OIDC.

Tento krok zaregistruje a nakonfiguruje systém PowerFlex jako poskytovatele služeb OIDC pomocí platformy Keycloak (nebo jiného poskytovatele identity), čímž povolí zabezpečené ověřování SSO pomocí OpenID Connect.

Operace rozhraní API: PŘÍSPĚVEK /rest/v1/oidc-sp-config

Příkaz:

curl -kL -X POST --url https://$IN_IP/rest/v1/oidc-sp-config  --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}" --data '{
  "sp_id": "powerflex-$IN_IP",
  "redirect_uri": "https://$IN_IP/auth/realms/powerflex/protocol/openid-connect/auth",
  "logout_uri": "https://$IN_IP/auth/realms/powerflex/protocol/openid-connect/logout",
  "required_claims": ["email"],
  "keycloak_settings": {
    "config": {
      "clientAuthMethod": "client_secret_basic",
      "pkceEnabled": "true",
      "useJwksUrl": "true",
      "validateSignature": "true"
    },
    "first_broker_login_flow_alias": "first broker login",
    "post_broker_login_flow_alias": null,
    "link_only": null,
    "store_token": true,
    "add_read_token_role_on_create": true,
    "trust_email": true
  },
  "days_to_store_state_code_verifier": 1}'

Skript:  ./add_oidc_sp.sh

Výstup (zkrácený): Nový poskytovatel služeb

 
{"id":"00000000-0000-0000-0000-000000000000","sp_id":"powerflex-10.247.39.179","redirect_uris":["https://10.247.39.179/auth/realms/powerflex/protocol/openid-connect/auth"],"logout_uri":"https://10.247.39.179/auth/realms/powerflex/protocol/openid-connect/logout" ... },

 

2.1 Uveďte poskytovatele služeb OIDC.

Tento krok načte aktuální konfiguraci poskytovatele služeb OIDC ze systému PowerFlex.

Příkaz:

curl -kL https://$IN_IP/rest/v1/oidc-sp-config --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}" | jq -r '.results[]'

Skript: ./list_oidc_sp.sh

Ukázkový výstup (zkrácený): Poskytovatel služeb vytvořený v předchozím kroku.

{"results":[{"id":"00000000-0000-0000-0000-000000000000","sp_id":"powerflex-10.247.39.179",...}]

 

3. Přidání certifikační autority do zařízení PowerFlex for CIAM services.

Tento krok zahrnuje informování systému PowerFlex o tom, které certifikační autoritě má důvěřovat při ověřování zabezpečené komunikace se systémem CIAM. Pro služby CIAM existují dva certifikáty:

  • DigiCert je důvěryhodná certifikační autorita (CA). Služby Microsoft Azure (jako Microsoft Azure AD, koncové body OIDC a rozhraní API Microsoftu) používají k zabezpečení komunikace certifikáty SSL/TLS vydané společností DigiCert.
  • Certifikáty GA2 (GlobalSign nebo podobné kořenové/zprostředkující) jsou součástí řetězu certifikátů, který ověřuje koncové body identity Microsoft Azure. Zajišťují:
    • Adresa URL metadat OIDC (https://login.microsoftonline.com/...)(Externí odkaz) a koncové body tokenu jsou důvěryhodné.
    • Zabezpečená komunikace HTTPS mezi systémem PowerFlex a Microsoft Azure IdP.

Tato operace zajišťuje, že CIAM důvěřuje koncovým bodům Microsoft Azure.

Níže uvedený příkaz používá soubory s certifikáty s kódováním PEM, kde jsou nové řádky nahrazeny znakem "\n". V podstatě je v takovém souboru pouze jeden řádek.

Například:

 
-----BEGIN CERTIFICATE-----
\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\nQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\nCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\nnh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\nT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\ngdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\nBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\nTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\nDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\nhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\nPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\nYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\nCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n-
----END CERTIFICATE-----

Rozhraní API: POST /API/V1/CIAM/<ciam_id>/x509-certificates

Příkaz:

CA=`cat $1`
curl -kvvL -X POST https://$IN_IP//Api/V1/CIAM/<return_value_from_init_ciam>/x509-certificates --header "Authorization: Bearer ${PM_TOKEN}" --data-raw "
{
  \"type\": \"CA\",
  \"service\": \"ALL\",
  \"certificate_format\": \"PEM\",
  \"certificate\": \"$CA\"
}"
Poznámka: https://$IN_IP//Api/V1/CIAM/2/x509-certificate – zde je číslo 2 z výstupu init.sh v kroku 1.

 

Skript: ./add_cert.sh <certificate_pem_file>

Ukázkový výstup (zkrácený):

cat digicert_ca.pem
-----BEGIN CERTIFICATE-----\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\nMQs;wCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\nQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\nCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\nnh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\nT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\ngdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\nBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\nTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\nDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\nhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\nPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\nYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4p
...
Fsiv9kuXclVzDAGySj4dzp30d8tbQk\nCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n-----END CERTIFICATE-----\n


delladmin@lglou184:~/oidc_testing> cat digicert_g2.pem
-----BEGIN CERTIFICATE-----\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\nMrY=\n-----END CERTIFICATE-----\n
--------------------------------------------------------------------------------------------------------------------------
./add_cert.sh digicert_ca.pem
{"id":"b5c3d51a-9161-4515-a741-4a197a348cf9","certificate":"-----BEGIN CERTIFICATE-----...\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\nQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\nCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\nnh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\nT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\ngdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\nBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\nTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\nDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\nhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\nPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\nYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\nCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n-----END CERTIFICATE-----\n","subject":"C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA","common_name":"DigiCert Global Root CA","issuer":"C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA","organization":"DigiCert Inc","organizational_unit":"www.digicert.com","country":"US","valid_from_timestamp":"2006-11-10T00:00:00Z","valid_to_timestamp":"2031-11-10T00:00:00Z","key_usage":"Digital Signature, Cert Sign, CRL Sign","type":"CA","service":"ALL","is_self_signed":true,"is_current":true,"is_valid":true,"cert_fingerprint":"43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:43:C7:* Connection #0 to host 10.247.39.179 left intact
01:61","version":3,"serial_number":10944719598952040374951832963794454346,"signature_algorithm":"RSA","signature_hash_algorithm":"SHA-1","public_key":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKP\nC3eQyaKl7hLOllsBCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtx\nRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmF\naG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvU\nX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrT\nC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOv\nJwIDAQAB\n-----END PUBLIC KEY-----\n"}

 

 3.1 Ověřte, zda jsou certifikáty přidány a uvedeny v seznamu.

Tento krok ověří, zda jsou certifikáty přidány a uvedeny v seznamu.

Příkaz:

 
curl -kL https://$IN_IP/Api/V1/CIAM/2/x509-certificates --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}"

Poznámka: https://$IN_IP//Api/V1/CIAM/2/x509-certificate – zde je číslo 2 ze init.sh v kroku 1.

Skript: ./list_certs.sh

Ukázkový výstup (zkrácený):

{"results":[{"id":"4a4d7f6b-251c-41a6-b304-783ed6d5fbc2","certificate":"-----BEGIN ....-----END PUBLIC KEY-----\n"}]}

 

4. Registrace Microsoft Azure Entra ID jako služby OIDC (IdP)

Tento krok zaregistruje Microsoft Azure Entra ID jako externího poskytovatele identity pro PowerFlex pomocí OpenID Connect (OIDC), což uživatelům umožní ověřit se prostřednictvím Microsoft Azure, místo aby se spoléhali na místní přihlašovací údaje PowerFlex.

Proměnné:

  • ID nájemníka: ID tenanta identifikuje tenanta Microsoft Azure Active Directory, do kterého patří zprostředkovatel identity. Najdete ho na stránce Přehled na domovské obrazovce aplikace v Microsoft Azure.
  • KK_ID: ID KK identifikuje ID klienta aplikace Microsoft Azure.
  • KK_SECRET: Tajný klíč KK identifikuje tajný klíč klienta Microsoft Azure.

Rozhraní api: POST /rest/v1/oidc-services

 
curl -kvvL --request POST \
--url "https://$IN_IP/rest/v1/oidc-services" \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${PM_TOKEN}" \
--data "{
\"name\": \"azure\",
\"is_enabled\": true,
\"idp_metadata_url\": \"https://login.microsoftonline.com/<Tenant_id>/v2.0/.well-known/openid-configuration\",
\"claims_mapper\": [
{ \"name\": \"email\", \"value\": \"email\" },
{ \"name\": \"given_name\", \"value\": \"firstName\" },
{ \"name\": \"preferred_username\", \"value\": \"username\" },
{ \"name\": \"family_name\", \"value\": \"lastName\" }
],
\"client_id\": \"$KK_ID\",
\"client_secret\": \"$KK_SECRET\",
\"scopes\": [\"openid\",\"profile\",\"email\",\"offline_access\"],
\"pkce_enabled\": true,
\"code_challenge_method\": \"S256\",
\"idp \"idp_type\": \"AzureEntraID\"KK_ID=b151947c-b514-4997-a369-a9b76f26b050
KK_SECRET=tk_8Q~QYTj1FQYN2chWovu.M5Ph3YnIVzLwRJcoZ
TENANT_ID=945c199a-83a2-4e80-9f8c-5a91be5752dd

curl -kL -X POST  --url https://$IN_IP/rest/v1/oidc-services  --header 'Content-Type: application/json'  --header "Authorization: Bearer ${PM_TOKEN}" \
  --data  \
"{  \"name\": \"azure\",  \"is_enabled\": true,  \"idp_metadata_url\": \"https://login.microsoftonline.com/${TENANT_ID}/v2.0/.well-known/openid-configuration\",
  \"claims_mapper\": [    {      \"name\": \"email\",      \"value\": \"email\"
    },
    {
      \"name\": \"given_name\",
      \"value\": \"firstName\"
    },
    {
      \"name\": \"preferred_username\",
      \"value\": \"username\"
    },
    {
      \"name\": \"family_name\",
      \"value\": \"lastName\"
    }
  ],
  \"client_id\": \"$KK_ID\",
  \"client_secret\": \"$KK_SECRET\",
  \"scopes\": [
    \"openid\",
    \"profile\",
    \"email\",
    \"offline_access\" 
  ],
  \"pkce_enabled\": true,
  \"code_challenge_method\": \"S256\",
  \"idp_type\": \"AzureEntraID\"
}"

 Skript: ./add_oidc_service.sh

Ukázkový výstup (zkrácený):

{
  "id": "a230b7b8-8f6c-47db-9327-2e48db8040a9",
  "name": "azure",
  "is_enabled": true,
  "idp_metadata_url": "https://login.microsoftonline.com/945c199a-83a2-4e80-9f8c-5a91be5752dd/v2.0/.well-known/openid-configuration",
  "idp_metadata_load_timestamp": "2025-11-14T16:00:40.356569216Z",
  "idp_metadata": {
    "issuer": "https://login.microsoftonline.com/945c199a-83a2-4e80-9f8c-5a91be5752dd/v2.0",
    "...": "additional metadata fields"
  },
  "code_challenge_method": "S256",
  "idp_type": "AzureEntraID",
  "is_default": false
}
 Důležité:  ID služby OIDC musíte uložit z odpovědi (např. a230b7b8-...); budete ho potřebovat pro mapování identifikátoru URI přesměrování Microsoft Azure a výměny tokenů CIAM.

 

 

4.1 Vypíše službu OIDC.

V tomto kroku je uvedena služba OIDC.

Příkaz:

curl -kL https://$IN_IP/rest/v1/oidc-services --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}"

 Scénář: list_oidc_service.sh 

Příklad (zkrácený):

./list_oidc_service.sh 
{"results":[{"id":"a230b7b8-8f6c-47db-9327-2e48db8040a9","name":"azure","is_enabled":true,"idp_metadata_url":"https://login.microsoftonline.com/945c199a-83a2-4e80-9f8c-5a91be5752dd/v2.0/.well-known/openid-configuration",..."idp_type":"AzureEntraID","is_default":false}]}

 

5. Nakonfigurujte adresu URL pro přesměrování v Microsoft Azure.

Tento krok zahrnuje nastavení Microsoft Azure tak, aby po úspěšném přihlášení odesílal uživatele do cíle označovaného jako adresa URL pro přesměrování.

Na portálu Microsoft Azure přejděte na Registrace aplikaceověřováníidentifikátory URI pro přesměrování a přidejte následující adresu URL:

https://< PFMP_IP>/auth/realms/powerflex/broker/<SERVICE_ID_AZURE>/endpoint

Například: https://10.247.39.179/auth/realms/powerflex/broker/a230b7b8-8f6c-47db-9327-2e48db8040a9/endpoint

  • <> PFMP_IP je IP adresa nástroje PowerFlex Manager (v případě potřeby přeložte název hostitele)
  • <> SERVICE_ID_AZURE je IdP z ID služby z kroku 4.

 

6. Nakonfigurujte deklarace identity tokenů v Microsoft Azure.

a) Přidání volitelných deklarací identity (token ID)

  1. Na portálu Microsoft Azure přejděte na Konfigurace tokenuPřidat volitelnou deklaraci identity.
  2. V části Typ tokenu vyberte ID.
  3. V části Nárok zaškrtněte políčko vedle následujících atributů:
    • E-mail

    • family_name

    • given_name

    • preferred_username

  4. Klikněte na tlačítko Add.

 

 b) Přidání skupinových nároků

  1. Na webu Microsoft Azure Portal přejděte na Konfigurace tokenuPřidat deklarace identity skupiny.           
  2. V části Upravit deklaraci identity skupin zaškrtněte políčko vedle skupin přiřazených k aplikaci.   
  3. V části ID zaškrtněte políčko vedle položky ID skupiny.                                                                   
  4. V části Přístup zaškrtněte políčko vedle ID skupiny.                                                             
  5. Klikněte na tlačítko Add.

Tato ID skupin později použijete pro mapování rolí PowerFlex v uživatelském rozhraní PowerFlex Manager.

 

7. Nakonfigurujte oprávnění rozhraní API v Microsoft Azure.

Tento krok zajistí, že PowerFlex bude mít správný přístup k chráněným zdrojům v systému Microsoft Azure.

  1. Na portálu Microsoft Azure přejděte na Oprávnění rozhraní API Microsoft Graph.
  2. V části Požádat o oprávnění rozhraní API vyberte
  3. V části Požádat o oprávnění rozhraní API vyberte Uživatel Číst.
  4. Klikněte na možnost Aktualizovat oprávnění.

 

8. (Volitelné) Přiřazení uživatelů nebo skupin v Microsoft Azure.

Tento krok uděluje příslušným jednotlivcům nebo týmům přístup k řešení PowerFlex přiřazením ke konkrétním rolím nebo skupinám v rámci služby Microsoft Azure Active Directory.

  1. Na portálu Microsoft Azure přejděte do části Podnikové aplikace → Uživatelé a skupiny.
  2. V části Zobrazovaný název zaškrtněte políčko vedle uživatele nebo skupiny a zkopírujte ID objektu.

ID objektu se používá pro mapování rolí na základě deklarací v systému PowerFlex.

 

9. (Volitelné) Přidání uživatele/skupiny v uživatelském rozhraní systému PowerFlex

Tento krok zahrnuje udělení přístupu v rámci systému PowerFlex přidáním příslušného uživatele nebo skupiny přímo do uživatele nástroje PowerFlex Manager, čímž je zajištěno, že se mohou přihlásit a používat systém podle přiřazených rolí a oprávnění.

  1. Přihlaste se do uživatelského rozhraní nástroje PowerFlex Manager.
  2. Přejděte do nabídky NastaveníSpráva uživatelůPřidat vzdáleného uživatele/skupinu.
  3. Zadejte následující informace:
    1. Typ: skupina
    2. Zprostředkovatel: Azure
    3. Název skupiny: libovolný smysluplný název
    4. Název nároku: skupiny
    5. Role uživatele: Superuživatel
    6. Hodnota nároku: ID objektu z Microsoft Azure (krok 8)

10. Přidejte klienta do CIAM.

Tento krok přidá do CIAM klienta za účelem registrace systému PowerFlex, aby CIAM mohl určit, která aplikace požaduje ověření, kam se mají tokeny odesílat, jaká oprávnění aplikace potřebuje a které toky ověřování může použít.

Rozhraní api: POST /rest/v1/oauth2-clients

Příkaz:

curl -kL --request POST \
--url "https://$IN_IP/rest/v1/oauth2-clients" \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${PM_TOKEN}" \
--data "{
\"client_name\": \"azure_oidc_client\",
\"redirect_uris\": [\"\"],
\"authorization_code_flow\": false,
\"client_credentials_flow\": false,
\"token_exchange_enabled\": true,
\"offline_access_enabled\": true,
\"client_offline_session_idle\": 1,
\"client_offline_session_max\": 1,
\"client_security_level\": \"TRUSTED\"

Skript: ./addclient_ciam.sh

Příklad výstupu:

./addclient_ciam.sh 
{"id":"77ce10cb-c40e-4c1e-b922-07014b5b6e7b","client_name":"azure_oidc_client","client_secret":"QXDtyVYO5l3Puj2ZMACz/MK+sTSOqDHy53oRhVkXiBc=","redirect_uris":[""],"authorization_code_flow":false,"client_credentials_flow":false,"signing_algorithm":"RS256","refresh_token_max_reuse":3,"access_token_expiration_duration":360,"token_exchange_enabled":true,"client_security_level":"TRUSTED","offline_access_enabled":true,"client_offline_session_idle":1,"client_offline_session_max":1
Poznámka: ID a client_secret klienta CIAM je nutné uložit, protože jsou potřebné pro výměnu tokenů mezi Microsoft Azure a PowerFlex.

 

 

10.1 Ověření, zda je klient přidán, a to tak, že jej uvedete.

Tento krok ověří, zda je klient úspěšně přidán, a to výpisem všech existujících klientů.

Příkaz: 

curl -kL https://$IN_IP/rest/v1/oauth2-clients --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}" | jq -r '.results[]'

Skript: ./list_clients_ciam.sh

Příklad:

./list_clients_ciam.sh
{
  "id": "77ce10cb-c40e-4c1e-b922-07014b5b6e7b",
  "client_name": "azure_oidc_client",
  "redirect_uris": [
    ""
  ],
  "authorization_code_flow": false,
  "client_credentials_flow": false,
  "signing_algorithm": "RS256",
  "refresh_token_max_reuse": 3,
  "access_token_expiration_duration": 360,
  "token_exchange_enabled": true,
  "client_security_level": "TRUSTED",
  "offline_access_enabled": true,
  "client_offline_session_idle": 1,
  "client_offline_session_max": 1,
  "num_failed_login_attempts": 0
}

 

10.2 Upravte klienta.

Tento krok aktualizuje existujícího přihlašovacího klienta v CIAM. Datová část by měla zůstat prázdná ({}). Tento příkaz přidá požadovaná mapování PowerFlex na klienta Keycloak.

Příkaz:

curl -k -X PATCH "https://$IN_IP/rest/v1/login-clients/$1" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer ${PM_TOKEN}" \
  --data '{}'

Skript: ./update_client.sh <ID_FROM_ADD_CLIENT_CIAM>

Příklad:

 
./update_client.sh 77ce10cb-c40e-4c1e-b922-07014b5b6e7b 
{"id":"1c3dbd45-66bc-44c7-94ce-1aef3a282afc","name":"azure_oidc_client","client_id":"77ce10cb-c40e-4c1e-b922-07014b5b6e7b","is_enabled":true,"client_secret":null,"redirect_uris":[""],"web_origins":[""]}

 

11. Přidání aplikace do CIAM pro mapování výměny tokenů

Tento krok přidá aplikaci do CIAM, aby bylo možné povolit externí ověřování, autorizaci a zabezpečené toky identit.

Rozhraní api: POST /rest/v1/oauth2-token-exchanges

Povinné proměnné:

  • LOCAL_CLIENT_ID: ID z addclient_ciam.sh (např. 77ce10cb-c40e-4c1e-b922-07014b5b6e7b)
  • EXT_CLIENT_ID:      ID aplikace (klienta) Microsoft Entra ID (např. 859c0721-cb0c-433c-a437-bd2d2462754f)
  • METADATA:            Adresa URL metadat aplikace Microsoft Azure (např. https://login.microsoftonline.com/< Tenant_id>/v2.0/.well-known/openid-configuration)
  • IDP:                        ID služby OIDC (např. a230b7b8-8f6c-47db-9327-2e48db8040a9)
  • ROLI:                     Role PowerFlex (např. SuperUser)
  • PM_TOKEN:           Nosný token rozhraní API
  • IN_IP:                     Cílová hostitelská / IP adresa


Příkaz:

curl -kL -X POST "https://$IN_IP/rest/v1/oauth2-token-exchanges" \
  -H "Content-Type: application/json" \
  -H "clientId: $LOCAL_CLIENT_ID" \
  -H "Authorization: Bearer ${PM_TOKEN}" \
  --data @- <<EOF
{
  "ciam_oauth2_client_id": "$LOCAL_CLIENT_ID",
  "customer_client_id": "$EXT_CLIENT_ID",
  "customer_metadata_url": "$METADATA",
  "idp_service_id": "$IDP",
  "static_roles": ["$ROLE"]
}

Skript: ./add_app.sh

 

11.1 Seznam ID aplikace

Tento krok načte ID aplikace a ověří jedinečný identifikátor klienta vyžadovaný pro podřízené operace autorizace a výměny tokenů.

Příkaz:

curl -kL "https://$IN_IP/rest/v1/oidc-services" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer ${PM_TOKEN}"

 Skript: 

 
./list_apps.sh

Příklad:

./list_apps.sh
 { "id": "f803da04-2979-49dc-9408-496f127639b4",
  "ciam_oauth2_client_id": "77ce10cb-c40e-4c1e-b922-07014b5b6e7b",
  "customer_client_id": "859c0721-cb0c-433c-a437-bd2d2462754f",
  "customer_metadata_url": "https://login.microsoftonline.com/945c199a-83a2-4e80-9f8c-5a91be5752dd/v2.0/.well-known/openid-configuration",
  "idp_service_id": "a230b7b8-8f6c-47db-9327-2e48db8040a9",
  "static_roles": [
    "SuperUser"  ]
}
Poznámka: Poznamenejte si toto ID.

 

 

12. Mapování rolí v Keycloak (PowerFlex Realm)

Tento krok mapuje role ve sféře PowerFlex Keycloak tak, aby přiřazení rolí poskytovatele identity odpovídalo autorizačním požadavkům systému PowerFlex.

1. Přihlaste se do Keycloak pomocí následujícího koncového bodu: https://< PFMP_IP>/auth/admin/

Například: https://10.247.39.179/auth/admin/

Chcete-li se přihlásit ke Keycloaku, přihlašovací údaje lze získat níže 

Příkaz:

kubectl get secret keycloak-admin-credentials -o json -n powerflex | jq '.data | map_values(@base64d)'

Skript: ./get_keycloak_creds.sh

Příklad: 

./get_keycloak_creds.sh
{
  "password": "sZFmHmfhjj",
  "username": "keycloak"
}

2. V instanci Keycloak vyberte PowerFlex.

3. Klikněte na Uživatelé, vyberte ID uživatele a aktualizujte atributy tak, aby odpovídaly roli používané v CIAM (například SuperUser).

4. V části Mapování rolí ověřte, zda je role aktualizována.

 

13. Získání tokenu Microsoft Azure (heslo vlastníka prostředku, přihlašovací údaje / uživatelské jméno + heslo)

Existuje několik způsobů, jak získat token z Microsoft Azure AD. V tomto příkladu kroku se aplikace přihlašuje k Microsoft Entra ID (Azure AD) přímým odesláním uživatelského jména + hesla uživatele do koncového bodu tokenu, aby bylo možné získat token OAuth 2.0. Jedná se o udělení přihlašovacích údajů vlastníka prostředku (ROPC).

Příkaz:

 
curl -X POST https://login.microsoftonline.com/$TENANT_ID/oauth2/token -H 'Content-Type: application/x-www-form-urlencoded' -d "grant_type=password&client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&username=$USERNAME&password=$encoded_password&resource=$RESOURCE")

Skript:./get_azure_token.sh

Tip: Pokud chcete zajistit, aby byl token platný, přejděte do ladicího programu webového tokenu JSON (JWT) (externí odkaz).

 

14. Výměna tokenu Microsoft Azure za token PowerFlex (CIAM)

Tento krok vymění token Microsoft Azure za token PowerFlex CIAM, aby bylo možné volat rozhraní API PowerFlex.

Rozhraní api: POST /rest/v1/token

Proměnné:

  • CIAM_CLIENT_ID – ID klienta z kroku Add the client to CIAM (krok 10)
  • CIAM_CLIENT_SECRET – Tajný klíč klienta z kroku Přidání klienta do CIAM (krok 10)
  • EXT_TOKEN – token z Microsoft Azure

Příkaz:

curl -kL -X POST https://$IN_IP/rest/v1/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --header "ClientId: $CIAM_CLIENT_ID" \
  --header "ClientSecret: $CIAM_CLIENT_SECRET" \
  --data "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \
  --data "subject_token=${EXT_TOKEN}" \
  --data "subject_token_type=urn:ietf:params:oauth:token-type:jwt"

Scripts: ./token.sh (používá EXT_TOKEN proto odpovídajícím způsobem nastaví proměnnou prostředí)

Příklad výstupu (zkrácený):

{
  "access_token": "ey...A",
  "issued_token_type": "urn:ietf:params:oauth:token-type:access_token",
  "token_type": "Bearer",
  "expires_in": 1800,
  "refresh_token": "ey...qA"
}

 

15. Ověření přístupu k rozhraní PowerFlex REST API

Tento krok potvrzuje, že token funguje, voláním koncového bodu PowerFlex REST. Využívá access_token z výstupu "token.sh", exportovaného jako env proměnná PM_TOKEN.

export PM_TOKEN=eyJhb...eN_A

Příkaz:

curl -k --location --request GET https://$IN_IP/Api/V1/Credential --header 'Content-Type: application/json' --header "Authorization: Bearer $PM_TOKEN"
{
  "totalRecords" : 3,
  "credentialList" : [ {
    "link" : {
      "title" : "root",
      "href" : "getCredential/69087b0c-cce7-4be7-b154-e8a3019cc553",
      "rel" : "self",
      "type" : null
    },
    "credential" : {
      "type" : "OSCredential",
      "id" : "69087b0c-cce7-4be7-b154-e8a3019cc553",
     ....
 "link" : null,. "link" : null,. "link" : null,    "references" : {
      "devices" : 0,
      "policies" : 0
    }
  } ]
}

 

Referenční informace

Shrnutí sekvence API

  1. Inicializace CIAM pro PowerFlex
    (/rest/v1/sso-ciam/init)
  2. Konfigurace systému PowerFlex jako poskytovatele
    služeb OIDC(/rest/v1/oidc-sp-config)
  3. Přidání certifikátů pro služby
    CIAM(DigiCert, GlobalSign, atd.)
  4. Registrace Microsoft Azure Entra ID jako služby
    OIDC(/rest/v1/oidc-services)
  5. Konfigurace ID služby na kartě
    Ověřování Microsoft Azure(Mapování koncového bodu zprostředkovatele)
  6. Nastavení deklarací identity tokenů a skupin v Microsoft Azure
    (Volitelné deklarace identity, oprávnění rozhraní API)
  7. Přidání klienta OAuth2 do CIAM
    (/rest/v1/oauth2-clients)
  8. Přidání aplikace do CIAM pro výměnu
    tokenů(/rest/v1/oauth2-token-exchanges)
  9. Získání tokenu Microsoft Azure pro výměnu za token
    PowerFlex(/rest/v1/token)
  10. Ověření přístupu k rozhraním API PowerFlex REST

 

 

Příkazy k výměně tokenů

Volání rozhraní API PowerFlex pomocí tokenu Microsoft Azure Entra


Příkaz k výměně tokenu:

curl -kL -X POST https://$PFMP_IP/rest/v1/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --header "ClientId: $CIAM_CLIENT_ID" \
  --header "ClientSecret: $CIAM_CLIENT_SECRET" \
  --data "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \
  --data "subject_token=${AZURE_TOKEN}" \
  --data "subject_token_type=urn:ietf:params:oauth:token-type:jwt" | jq '.'

Příklad:

curl -kL -X POST https://10.247.39.179/rest/v1/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --header "ClientId: 77ce10cb-c40e-4c1e-b922-07014b5b6e7b" \
  --header "ClientSecret: QXDtyVYO5l3Puj2ZMACz/MK+sTSOqDHy53oRhVkXiBc=" \
  --data "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \
  --data "subject_token=${AZURE_TOKEN}" \
  --data "subject_token_type=urn:ietf:params:oauth:token-type:jwt" | jq '.'

Volání rozhraní API zařízení PowerFlex Manager s vyměněným tokenem

curl -kL 'https://10.247.39.179/api/v1/appliance' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIzMkNrM2YwNEI5OG5pRENza19IVmZ3R..._dxDp9QGWdteptby-8aaA'

 

Volání rozhraní API bloku PowerFlex s vyměněným tokenem

curl -kL GET https://10.247.39.179/api/types/Volume/instances --header 'Content-Type: application/json' --header "Authorization: Bearer  eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIzMkNrM2YwNEI5OG5pRENza19IVmZ3R..._dxDp9QGWdteptby-8aaA " 
[
  {
    "genType": "EC",
    "mappedSdcInfo": [
      {
        "limitIops": null,
        "limitBwInMbps": null,
        "isDirectBufferMapping": null,
        "sdcIp": "",
        "sdcId": "15d47a2400010000",
        "sdcName": "513fda498aaf35e883da34f6ac46480",
        "nqn": "nqn.2014-08.org.nvmexpress:uuid:72f30442-1cf7-0f5b-129c-da4fae6a028b",
        "accessMode": "ReadWrite",
        "hostType": "NVMeHost"
      }
    ],
    "managedBy": "ScaleIO",
    "originalExpiryTime": 0,
    "retentionLevels": [],
    "snplIdOfSourceVolume": null,
    "volumeReplicationState": "UnmarkedForReplication",
    "replicationJournalVolume": false,
    "replicationTimeStamp": 0,
    "name": "csivol-21ef5b460c",
    "creationTime": 1763382058,
    "storagePoolId": "0ebdb61000000000",
    "dataLayout": "ErasureCoding",
    "vtreeId": "97957f7d00000002",
    "sizeInKb": 8388608,
    "compressionMethod": "NotApplicable",
    "volumeClass": "defaultclass",
    "accessModeLimit": "ReadWrite",
    "lockedAutoSnapshotMarkedForRemoval": false,
    "snplIdOfAutoSnapshot": null,
    "pairIds": null,
    "useRmcache": false,
    "volumeType": "ThinProvisioned",
    "consistencyGroupId": null,
    "ancestorVolumeId": null,
    "notGenuineSnapshot": false,
    "secureSnapshotExpTime": 0,
    "lockedAutoSnapshot": false,
    "autoSnapshotGroupId": null,
    "timeStampIsAccurate": false,
    "nsid": 3,
    "id": "77d698a400000002",
    "links": [
      {
        "rel": "self",
        "href": "/api/instances/Volume::77d698a400000002"
      },
      {
        "rel": "/dtapi/rest/v1/metrics/query",
        "href": "/dtapi/rest/v1/metrics/query",
        "body": {
          "resource_type": "volume",
          "ids": [
            "77d698a400000002"
          ]
        }
      },
      {
        "rel": "/api/parent/relationship/vtreeId",
        "href": "/api/instances/VTree::97957f7d00000002"
      },
      {
        "rel": "/api/parent/relationship/storagePoolId",
        "href": "/api/instances/StoragePool::0ebdb61000000000"
      }
    ]
  },
  {
    "genType": "EC",
    "mappedSdcInfo": null,
    "managedBy": "ScaleIO",
    "originalExpiryTime": 0,
    "retentionLevels": [],
    "snplIdOfSourceVolume": null,
    "volumeReplicationState": "UnmarkedForReplication",
    "replicationJournalVolume": false,
    "replicationTimeStamp": 0,
    "name": "csivol-4ea9633592",
    "creationTime": 1763380456,
    "storagePoolId": "0ebdb61000000000",
    "dataLayout": "ErasureCoding",
    "vtreeId": "9795586d00000000",
    "sizeInKb": 8388608,
    "compressionMethod": "NotApplicable",
    "volumeClass": "defaultclass",
    "accessModeLimit": "ReadWrite",
    "lockedAutoSnapshotMarkedForRemoval": false,
    "snplIdOfAutoSnapshot": null,
    "pairIds": null,
    "useRmcache": false,
    "volumeType": "ThinProvisioned",
    "consistencyGroupId": null,
    "ancestorVolumeId": null,
    "notGenuineSnapshot": false,
    "secureSnapshotExpTime": 0,
    "lockedAutoSnapshot": false,
    "autoSnapshotGroupId": null,
    "timeStampIsAccurate": false,
    "nsid": 1,
    "id": "77d6719400000000",
    "links": [
      {
        "rel": "self",
        "href": "/api/instances/Volume::77d6719400000000"
      },
      {
        "rel": "/dtapi/rest/v1/metrics/query",
        "href": "/dtapi/rest/v1/metrics/query",
        "body": {
          "resource_type": "volume",
          "ids": [
            "77d6719400000000"
          ]
    .
.
.
    ]
  }
]

Dotčené produkty

PowerFlex rack, ScaleIO
Vlastnosti článku
Číslo článku: 000444444
Typ článku: How To
Poslední úprava: 14 Apr 2026
Verze:  4
Najděte odpovědi na své otázky od ostatních uživatelů společnosti Dell
Služby podpory
Zkontrolujte, zda se na vaše zařízení vztahují služby podpory.