ベアメタルサーバーのメタデータサービスの使用
ベアメタルサーバーの ID アクセストークンを取得すると、メタデータサービスにアクセスしてベアメタルサーバーに関するメタデータを取得できます。 以下の情報では、初期化データ、ネットワークインターフェース、ボリュームの接続、公開SSH鍵、配置グループなどのベアメタルサーバーのメタデータにアクセスするために、APIを呼び出す方法について説明します。
ベアメタルサーバーのメタデータサービスにAPIコールを行うと、アクティビティ追跡イベントがトリガーされる。 詳細については、 ベアメタルサーバーのイベントを 参照してください。
開始前に
メタデータサービスにアクセスするには、ベアメタルサーバーのIDアクセストークンが必要です。 持っていない場合は、 ベアメタルサーバーのIDアクセストークンを取得するを 参照してください。
デフォルトでは、メタデータ・サービスは無効になっています。 有効にするには、『メタデータ・サービスの有効化または無効化』を参照してください。
これらのAPIコールの詳細と例については、 メタデータ・サービスAPIリファレンスを 参照のこと。
Windows ユーザーは、メタデータ サービスにアクセスして利用するために、追加の要件があります。 詳細については、 メタデータ・サービスを使用するためのウィンドウズ・サーバーのセットアップを 参照してください。
ベアメタルサーバーのIDアクセストークンサービスを使用してメタデータサービスにアクセスする
ベアメタルサーバーのメタデータサービスにアクセスするには、まずベアメタルサーバーの ID アクセストークンを取得する必要があります。 後でベアメタルサーバーのIDアクセストークンからIAMトークンを生成し、それを使ってIAM対応サービスにアクセスすることができる。
Windows ユーザーは、メタデータ サービスにアクセスして利用するために、追加の要件があります。 詳細については、 メタデータ・サービスを使用するためのウィンドウズ・サーバーのセットアップを 参照してください。
ベアメタルサーバーのアイデンティティ・アクセストークンの概念
ベアメタルサーバの ID アクセストークンは、メタデータサービスにアクセスするためのセキュリ ティ証明書を提供する。 これは、ベアメタルサーバーに関する情報およびトークンリクエストで渡された情報に基づいて、一連のクレームを持つ署名付きトークンです。
ベアメタルサーバーの ID にアクセスするには、ベアメタルサーバーのホスト名を呼び出す メタデータサービス API を 使用して PUT "http://api.metadata.cloud.ibm.com /identity/v1/token を呼び出す。 ベアメタルサーバーとメタデータサービス間の通信がホストを離れることはない。
ベアメタルサーバー内からトークンを取得する。 ベアメタルサーバーのメタデータサービスへの安全なアクセスがベアメタルサーバーで有効になっている場合は、 http プロトコルの代わりに https プロトコルを使用します。
リクエストでは、トークンの有効期限を指定します。 デフォルトは5分ですが、有効期限をそれより早くしたり遅くしたり(5秒~1時間)するように指定することもできます。
この応答(JSONペイロード)には、ベアメタルサーバーのIDアクセストークンが含まれています。 このトークンを使用して、メタデータ・サービスにアクセスします。
また、このトークンからIAMトークンを生成し、APIを使用してIAM対応のサービスを呼び出すこともできます。 詳細については、「 ベアメタルサーバーの ID アクセストークンから IAM トークンを生成する 」を参照してください。
ベアメタルサーバーのIDアクセストークンの取得
Metadata service API を使用して、 PUT "http://api.metadata.cloud.ibm.com /identity/v1/token を呼び出し、ベアメタルサーバーの ID アクセストークンを取得する。 次の例では、 jq を使用して JSON API のレスポンスを解析し、ベアメタルサーバーの ID アクセストークンの値を抽出しています。 任意の JSON パーサーを使用できます。
この例では、CURL コマンドの戻り値はベアメタルサーバーの識別アクセストークンであり、これは jq によって抽出され、 identity_token 環境変数に設定されます。 メタデータ・エンドポイントに到達するには、メタデータ・サービスに対する GET 呼び出しでこの変数を指定します。 詳細については、 実行中のベアメタルサーバーからメタデータを取得するを 参照してください。
この例では、パーサーとして jq (MIT license でライセンス交付を受けるサード・パーティーのツール) を使用します。 一部のオペレーティングシステムでは、 jq がデフォルトで含まれていない場合があります。 使用前に jq をインストールするか、別のJSONパーサーに置き換えてください。
identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com /identity/v1/token?version=2025-06-30"\
-H "Metadata-Flavor: ibm"\
-d '{
"expires_in": 3600
}' | jq -r '(.access_token)'`
以下の JSON レスポンスには、ベアメタルサーバーの ID アクセストークンの文字列、作成日時、有効期限、およびユーザーが設定した有効期限が表示されています。 トークンの有効期限は5分であることに留意してください。
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IlZTSS1DUl91cy1lYXN0X2I5...",
"created_at": "2022-08-08T11:08:39.363Z",
"expires_at": "2022-08-08T11:13:39.363Z",
"expires_in": 3600
}
ベアメタルサーバーのIDアクセストークンからIAMトークンを生成する
アカウント IBM Cloud のIAM対応サービスにアクセスするには、信頼済みプロファイル情報を使用して、ベアメタルサーバーのIDアクセストークンからIAMトークンを生成できます。 IAMトークンを生成したら、そのトークンを使用して、 IBM Cloud Object Storage、Cloud Database Service、VPC APIなど、IAM対応サービスにアクセスできます。 このトークンは何度でも再利用できます。
POST /identity/v1/iam_tokens 呼び出しを行い、トラステッド・プロファイルの ID を指定します。 このリクエストは、IAM アクセストークンを生成するために、ベアメタルサーバーの ID アクセストークンと、ベアメタルサーバーにリンクされている信頼されたプロファイルを使用する。 信頼済みプロファイルは、ベアメタルサーバーの作成時にリンクするか、リクエスト本文で指定することができます。
ベアメタルサーバーのIDアクセストークンを渡してIAMトークンを生成するために使用されていたIAM APIは、非推奨となります。 ベータ版ユーザーは、 POST /identity/v1/iam_tokens を使用して IAM トークンを生成するために、メタデータ・サービス API に移行する必要があります。
要求例:
iam_token=`curl -X POST "http://api.metadata.cloud.ibm.com/identity/v1/iam_tokens?version=2025-06-30"\
-H "Authorization: Bearer $identity_token"\
-d '{
"trusted_profile": {
"id": "Profile-8dd84246-7df4-4667-94e4-8cede51d5ac5"
}
}' | jq -r '(.access_token)'`
JSON 応答に IAM トークンが示されます。
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGVfYmVzdCI6I8...",
"created_at": "2022-08-08T14:10:15Z",
"expires_at": "2022-08-08T15:10:15Z",
"expires_in": 3600
}
信頼済みプロファイルの詳細については、「 信頼済みプロファイルを使用して、ベアメタルサーバーのIAM対応サービスを呼び出す 」を参照してください。
ベアメタルサーバーの信頼済みプロファイルを作成する
コンピュートリソースID用の信頼されたプロファイルは、 IBM Cloud® IAM IDをベアメタルサーバーなどの IBM Cloud® リソースに割り当てるのに役立ちます。 ベアメタルサーバーにIAMシークレットを管理・配布しなくても、ベアメタルサーバーからIAM対応サービスを呼び出すことができる。 ベアメタルサーバーのIDアクセストークンからIAMトークンを生成し、それをベアメタルサーバーに関連付けることで、信頼済みプロファイルを作成できます。 詳細については、 ベアメタルサーバーのIAM対応サービスの呼び出しに信頼済みプロファイルを使用するを 参照してください。
次のステップ
トラステッド・プロファイルを作成し、それを使用して IAM 対応サービスにアクセスします。