信頼済みプロファイルを使用して、ベアメタルサーバーのIAM対応サービスを呼び出す

IBM Cloud® Identity and Access Management、コンピュートリソースIDの信頼されたプロファイルを作成し、ベアメタルサーバーにIAM対応サービスのアクセス権を割り当てることができる。 これらのサービスは、ベアメタルサーバーにIAMシークレットを管理・配布することなく、ベアメタルサーバーから呼び出すことができる。 ベアメタルサーバーの初期設定の一環として、IAM対応サービスを呼び出したい場合は、このオプションを使用してください。

コンピュート・リソース ID のトラステッド・プロファイルについて

ベアメタルサーバーなどの個々のコンピュートリソースに Cloud Identity and Access Management IDを割り当てるには、コンピュートリソースID用の信頼されたプロファイルを使用します。 サービス ID を作成し、API キーを生成し、アプリケーションに保存させ、そのキーを検証する代わりに、ベアメタルサーバーに直接 IAM ID を割り当て、ベアメタルサーバーの ID アクセストークンを取得することができる。

コンピュートリソースアイデンティティサービスは、ベアメタルサーバーが IBM Cloud Object Storage や IBM® Key Protect などのIAM対応サービスを呼び出せるようにアクセス権を割り当てる、信頼されたプロファイルを作成します。 ベアメタルサーバーのプロビジョニング時に、信頼済みプロファイルをリンクします。 信頼済みプロファイルは、ベアメタルサーバー上で実行されるすべてのアプリケーションの承認を定義する。

ベアメタルサーバーのプロビジョニング時に指定した信頼済みプロファイルが、デフォルトの信頼済みプロファイルとなります。 UIを使用すると、自動的にベアメタルサーバーにリンクされる。 API から、同じ呼び出し内でリンクを設定して、ベアメタルサーバーを作成することができます。

ベアメタルサーバーは、デフォルトの信頼済みプロファイルで定義されているアクセス権を継承する。 VPC は、ベアメタルサーバーの ID 要求において、トークン生成リクエストで信頼済みプロファイルが指定されていない場合、その信頼済みプロファイルを使用して、ベアメタルサーバーの ID アクセストークンから IAM トークンを生成します。

開始前に

  1. IBM Cloud CLI および VPC CLI プラグインをインストールします (CLI の前提条件を参照)。

  2. CLIを使用してベアメタルサーバーを作成 したことを確認する。

  3. 浮動 IP アドレスを介して仮想サーバーに ping し、SSH で接続できるように浮動 IP を構成します。

  4. トラステッド・プロファイルを作成します。 詳細については、 コンピュート・リソースにおけるアプリのアクセス管理を 参照してください。

トラステッド・プロファイルをリンクするための IAM 許可

信頼済みプロファイルをベアメタルサーバーにリンクするには、十分な権限が必要です。 適切な IAM パーミッションがあれば、ベアメタルサーバーにリンクされているすべての信頼済みプロファイルをコンソールで見ることができます。

アクセス権限が、 IAM Identity Service のAdministratorまたはEditorに割り当てられていることを確認してください:

コンソールで、

  1. 管理」 >「 アクセス 」>「 アイデンティティの管理 」>「 ユーザー 」の順に選択します。
  2. ユーザー] をクリックし、名前を選択すると詳細が表示されます。
  3. アクセス]をクリックし、[ アクセスポリシー ]までスクロールします。

信頼できるプロファイルへのリンクを作成するには、以下の IAM アクセス・ロールが必要です: iam-identity.profile.update および iam-identity.profile.linkToResource

詳細については、 IAM API リファレンスを 参照のこと。

コンピュート・リソース ID のトラステッド・プロファイルの使用

信頼済みプロファイルの使用に関する一般的な手順と背景については、表1に説明されている。

最初のステップで動的なルールを設定し、信頼済みプロファイルを新しいベアメタルサーバーに自動的に紐付けることで、プロセスを効率化できます。

IAMトークンは、メタデータサービスを通じて取得したベアメタルサーバーのIDアクセストークンをIAMトークンと交換することで取得されます。

信頼できるプロファイルを使用する手順
手順 context 呼び出されるサービス ユーザー・アクション
1 IBM Cloud IAM IAM トラステッド・プロファイルを作成します
2 IBM Cloud IAM IAM トラステッド・プロファイルにアクセス権を割り当てます。
3 IBM Cloud VPC API または UI APIを使用して、 メタデータサービスを 有効にして構成された新しいベアメタルサーバーを作成するリクエストを行う。 任意のユーザー・データおよびデフォルトのトラステッド・プロファイルを指定します。 同じ呼び出しで、トラステッド・プロファイルをリンクすることを指定します。
コンソールで、 ベアメタルサーバーを作成 し、信頼済みプロファイルを選択してベアメタルサーバーにリンクする。 既存のベアメタルサーバーのメタデータサービスを有効にする こともできます。
4 ベアメタル・サーバー VPC API メタデータトークンサービスにAPIリクエストを行い、 ベアメタルサーバーのIDアクセストークンを取得 する。
5 ベアメタル・サーバー メタデータ・サービス API API リクエストを行い、 ベアメタルサーバーの ID アクセストークンから IAM トークンを生成 する。 IAM トークンは、すべての IAM 対応サービスへのアクセスを許可します。
6 ベアメタル・サーバー IAM 対応サービス IAM トークンを渡して IAM 対応サービス API を呼び出します。 サービスに対する必要なアクセス権は、トラステッド・プロファイル内にあります。

詳しくは、トラステッド・プロファイルのセットアップに関する IAM の資料を参照してください。

トラステッド・プロファイルを使用して IAM 対応サービスを呼び出すためのエンドツーエンド・プロシージャー

デフォルトの信頼済みプロファイルは、既存のベアメタルサーバーでは変更できない。 デフォルトの信頼済みプロファイルは、ベアメタルサーバーのプロビジョニング中にのみ指定できます。

  1. 新しいベアメタルサーバーの 信頼済みプロファイルを 作成します。

  2. ベアメタルサーバーを作成し、ベアメタルサーバーのプロビジョニング中にデフォルトの信頼済みプロファイルを指定します。 VPC API を使用して、 auto_link プロパティを true に設定し、信頼済みプロファイルをベアメタルサーバに自動的にリンクします。 トラステッド・プロファイル ID またはトラステッド・プロファイルの CRN を指定します。 以下に例を示します。

    curl -X POST "$vpc_api_endpoint/v1/bare_metal_servers?version=2025-06-30&generation=2" -H "Authorization: Bearer $iam_token"
    -d '{
        "default_trusted_profile": {
           "auto_link": true,
           "target": {
              "crn": "crn:v1:bluemix:public:iam-identity::a/123456::profile:Profile-9fd84264-7de4-4627-94c4-8ecde51d5ac5
              }
           },
          .
          .
          .
        }'
    

    この手順を完了するには、IAMの「管理者」または「編集者」の権限が必要です。 詳細については、 信頼済みプロファイルをリンクするためのIAM権限を 参照してください。

  3. ベアメタルサーバーのIDアクセストークンを取得し、そのための環境変数を作成する:

    1. IBM Cloud CLI にログインします。

    2. 既存のベアメタルサーバーに行く。 ibmcloud is bare-metal-server 、メタデータ・サービスを有効にするベアメタルサーバーを探す。 ベアメタルサーバーには関連するVPCが必要です。

    3. 浮動 IP アドレスを介して仮想マシンに ping できるように、セキュリティー・グループ・ルールをリストします。

      ibmcloud is security-group-rules {id}
      
    4. SSHを使用してベアメタルサーバーに接続し、メタデータサービス向けのAPIを実行します。

    5. ベアメタルサーバーにログインしてください。 ストック・イメージまたはカスタム・イメージを実行できます。 メタデータ・サービスは、すべてのストック・イメージ、カスタム・イメージ、および CPU プロファイルでサポートされます。 その後、フローティングIPが割り当てられ、セキュリティグループが配置される。 これでベアメタルサーバー内で作業することになる。

    6. メタデータトークンサービスにAPIリクエストを行い、ベアメタルサーバーのIDアクセストークンを取得する。 トークンの有効期間を指定してください。例:3600秒(1時間)。 この例では、コマンドは、JSON 応答をフォーマットする jq パーサーを介して実行されます。 任意のパーサーを選択できます。

      identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com /identity/v1/token?version=2025-06-30"\
        -H "Metadata-Flavor: ibm"\
        -H "Accept: application/json"\
        -d '{
             "expires_in": 3600
             }' | jq -r '(.identity_token)'`
      

      応答は、アクセス・トークン・ペイロードです。

    7. これで、メタデータサービスへのリクエストを行うことができます。 最初の呼び出しは、初期化情報を取得するためのものです:

      curl -X GET "http://api.metadata.cloud.ibm.com/metadata/v1/bare_metal_servers/{id}/initialization?version=2025-06-30"\
         -H "Accept: application/json"\
         -H "Authorization: Bearer $identity_token"
         | jq -r
      

      応答に含まれる情報には、仮想サーバーのプロビジョニング時に指定されたSSHキーおよびユーザーデータが表示されています。 パスワードを構成した場合は、その情報も返されます。

  4. メタデータサービスから取得したベアメタルサーバーのIDアクセストークンから IAMトークンを生成する

  5. IAM トークンを使用して、IAM 対応サービスを呼び出します。

次のステップ

ベアメタルサーバー、SSHキー、配置グループデータについて、ベアメタルサーバーメタデータサービスを呼び出す。 ベアメタルサーバーのメタデータサービスの使用 」を参照してください。