ECS:API curlコマンドの使用方法

Résumé: アプリケーション プログラミング インターフェイス(API)curlコマンドをGETおよびPUTの例で使用する方法。

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Instructions

このナレッジベース記事では、ECS APIの使用にcurlコマンドを使用する方法について説明します。

『ECS管理ガイド』や『データ アクセス ガイド』などのユーザー ガイドには、curlコマンドを使用したAPIの使用例が記載されています

curlコマンドを使用してAPIでGETおよびPUTを実行する方法が表示されます。この例では、KB ECSごとのLDAPS証明書APIは 次のようになります。ECSでLDAPSを介してすべての証明書をセットアップして受け入れる方法。


Curlの例 - LDAPS証明書APIの例:
LDAPS証明書APIは管理IPを使用し、emcmonitorアクセスは許可せず、代わりにrootユーザーを許可します。これはECS APIの使用例で、LDAPS証明書APIは "/vdc/truststore"の詳細を確認してください。お使いの API は異なり、場所も異なる場合があります

LDAPS証明書の設定に関するECS設定を確認するには、まず使用するノード管理IPを取得します。UI管理にネットワーク分離がある場合は、getrackinfo -n" には "mgmt" 値があります。次の手順では、ノードのpublic.mgmt IPアドレスを使用します。レプリケーションとデータ ネットワークの分離は必要ありません。

# getrackinfo -n
Named networks
==============
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface
1            repl              10.xxx.xxx.11     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
1            mgmt              10.xxx.xxx.21     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
1            data              10.xxx.xxx.31     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
2            repl              10.xxx.xxx.12     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
2            mgmt              10.xxx.xxx.22     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
2            data              10.xxx.xxx.32     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
3            repl              10.xxx.xxx.13     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
3            mgmt              10.xxx.xxx.23     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
3            data              10.xxx.xxx.33     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
4            repl              10.xxx.xxx.14     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
4            mgmt              10.xxx.xxx.24     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
4            data              10.xxx.xxx.34     255.255.254.0      xxx.xxx.xxx.xxx    15                 public

VDCにネットワークpublic.mgmtの分離がない場合は、代わりにノードのパブリックIPアドレスを使用します。public.mgmtネットワーク分離アドレスが設定されている場合は、優先されることに注意してください。

# getrackinfo
Node private      Node              Public                                  BMC
Ip Address        Id       Status   Mac                 Ip Address          Mac                 Ip Address          Node Name
===============   ======   ======   =================   =================   =================   =================   =========
192.1XX.2XX.1     1        MA       a4:bf:xx:xx:xx:74   10.xx.xx.1          a4:bf:xx:xx:xx      192.1XX.2XX.101     provo-red
192.1XX.2XX.2     2        SA       a4:bf:xx:xx:xx:c8   10.xx.xx.2          a4:bf:xx:xx:xx      192.1XX.2XX.102     sandy-red
192.1XX.2XX.3     3        SA       a4:bf:xx:xx:xx:e0   10.xx.xx.3          a4:bf:xx:xx:xx      192.1XX.2XX.103     orem-red
192.1XX.2XX.4     4        SA       a4:bf:xx:xx:xx:56   10.xx.xx.4          a4:bf:xx:xx:xx      192.168.219.104     ogden-red

取得した管理IPアドレスを使用してrootユーザー トークンを取得します。rootユーザーのパスワードが必要です。

# curl -s -k -v -u root https://<NodeManagementIP>:4443/login 2>&1

Example:

# curl -s -k -v -u root https://10.xxx.xxx.21:4443/login 2>&1
Enter host password for user 'root':
......

< HTTP/1.1 200 OK
< Date: Thu, 14 Jan 2021 13:51:24 GMT
< Content-Type: application/xml
< Content-Length: 93
< Connection: keep-alive
< X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8=
< X-SDS-AUTH-USERNAME: root
< X-SDS-AUTH-MAX-AGE: 28800
<
* Connection #0 to host 10.xxx.xxx.21 left intact
root

出力が「HTTP/1.1 200 OK」でない場合は、パスワードとIPアドレスを確認し、コマンド「getrackinfo -n」。rootユーザー トークンを使用してトークン変数を作成し、新しいCLIセッションで次の場合に有効なトークンを更新する必要があります。

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='

トークンが有効であることをテストするには、curlコマンドを実行できます。

# curl -k -X GET -H "$TOKEN"  https://10.xxx.xxx.21:4443/object/capacity  | xmllint --format -        
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100   176  100   176    0     0    249      0 --:--:-- --:--:-- --:--:--   250

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cluster_capacity>
  <totalFree_gb>100657</totalFree_gb>
  <totalProvisioned_gb>447005</totalProvisioned_gb>
</cluster_capacity>

上記の手順の目的は、rootユーザー トークンを使用してECS UIトラストストアへのcurlアクセスを取得することです。「カスタムLDAP証明書の追加」の詳細については、『ECS管理者ガイド』を参照してください。このECS APIの使用例では、LDAPS証明書APIは "/vdc/truststore"の詳細を確認してください。API は別の場所にある可能性があります。

 

Curl GETの例:

curl GETコマンドを使用してトラストストア設定を取得します。

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings

Example:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}


上記の例では、トラストストア "accept_all_certificates" は false に設定されています。つまり、アップロードされたLDAPS証明書のうちAD/LDAPサーバー証明書と一致するもののみが、ECSによって信頼されることが許可されます。ユーザーは、必要に応じてこれをtrueまたはfalseに設定できます。LDAPS接続をテストするには、trueに設定し、ユーザー ログインをテストすることで、LDAPS接続を検証できます

jsonファイルを作成して、jsonペイロードを使用したcurlコマンドでトラストストア設定を変更します。

# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}


Python の json.tool モジュールでは、json ファイル形式を検証できます。エラーが発生した場合、ファイルはjsonファイルではない可能性があります。この例では、エラーが発生せず、ファイルが出力されるため、これはフォーマットされたjsonファイルです。

# python -m json.tool truststoresettings.json
{
    "accept_all_certificates": "true"
}

 

Curl PUTの例:

curl PUTコマンドを使用して、ペイロードとしてjsonファイルを含むcurlコマンドを実行します。

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://:4443/vdc/truststore/settings -d @truststoresettings.json

アップデートされていることを確認するには、curl GETコマンドを実行します。

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}

Produits concernés

ECS

Produits

ECS Appliance
Propriétés de l’article
Numéro d’article: 000194272
Type d’article: How To
Dernière modification: 04 nov. 2025
Version:  4
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.