アイデンティティ・オペレーション
メタデータ・サービスを使用して、メタデータ・サービスから ID アクセストークンを取得し、IAM アクセストークンを生成し、ID 証明書を作成することができる。 これらのトークンと証明書は、IAM対応サービス呼び出しのためのメタデータサービスへのアクセス、およびファイル共有と仮想サーバーインスタンス間の暗号化接続の確立に使用できます。
アイデンティティ・アクセストークン
ID アクセストークンは、メタデータおよび VPC Identity サービスにアクセスするためのセキュリ ティ証明書を提供する。 これは、インスタンスに関する情報とトークン要求で渡される情報に基づく一連のクレームを持つ署名付きトークンです。 アイデンティティアクセストークン機能を使用するための最小バージョン日付は. です 2022-03-01。
インスタンスとメタデータサービス間の通信はホスト内に留まる。 インスタンス内からトークンを取得します。 インスタンスでメタデータ・サービスへのセキュア・アクセスが有効になっている場合は、「http」プロトコルの代わりに「https」プロトコルを使用する。
IDトークンを取得するには、 メタデータ・サービスAPIに PUT /identity/v1/token。
現在 メソッド /instance_identity/v1/token を使用しており、API リリースバージョン 2025-08-26 以降を採用したい場合は、移行ガイダンスに記載されている変更点を確認してください: VPC Identity API の バージョン 2025-08-26 への更新。
curl -X PUT "https://api.metadata.cloud.ibm.com/identity/v1/token?version=2025-08-26" -H "Metadata-Flavor: ibm" -d '{}'
リクエストでは、トークンの有効期限を指定できます。 デフォルトの有効期限は5分ですが、5秒から1時間の間で任意の値を指定できます。 セキュアアクセスが有効になっているホストの例を以下に示す。 次の例では、トークンの有効期限を1時間としている。
curl -X PUT "https://api.metadata.cloud.ibm.com/identity/v1/token?version=2025-08-26" -H "Metadata-Flavor: ibm" -d '{"expires_in": 3600}'
API レスポンスには ID アクセストークンが含まれる。 このトークンを使用して、メタデータ・サービスにアクセスします。
以下のJSONレスポンスは、IDアクセストークンの文字列、作成日時、有効期限日時、および設定した有効期限時間を示しています。 このトークンの有効期限は5分である。
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IlZTSS1DUl91cy1lYXN0X2I5...",
"created_at": "2025-06-10T11:08:39.363Z",
"expires_at": "2025-06-10T11:13:39.363Z",
"expires_in": 300
}
または、次のコマンドを使用することもできます:
identity_token=`curl -X PUT "https://api.metadata.cloud.ibm.com/identity/v1/token?version=2025-08-26"\
-H "Metadata-Flavor: ibm"\
-d '{
"expires_in": 3600
}' | jq -r '(.access_token)'`
以下の例では、 cURL コマンドの返り値は ID アクセストークンである。 トークンは jq によって抽出され、 identity_token 環境変数に置かれる。
identity_token=`curl -X PUT "https://api.metadata.cloud.ibm.com/identity/v1/token?version=2025-08-26"\
-H "Metadata-Flavor: ibm"\
-d '{
"expires_in": 3600
}' | jq -r '(.access_token)'`
この例では、 MITライセンス で提供されるサードパーティ製ツールである をパーサーとして jq 使用しています。インスタンス作成時に利用可能な jq すべてのVPCイメージに がプリインストールされているとは限りません。 使用前に jq インストールが必要になる場合があります。または、お好みの別のパーサーを使用してください。
メタデータ・メソッドの1つを呼び出すために、メタデータ・サービスへの GET 呼び出しで identity_token 変数を指定することができる。 詳しくは、実行中のインスタンスからのメタデータの取得を参照してください。
このアイデンティティトークンからIAMトークンを生成し、RIAS APIを使用してIAM対応サービスを呼び出すこともできます。 詳細については、 「アイデンティティアクセストークンからIAMトークンを生成する」 を参照してください。
アイデンティティアクセストークンからIAMトークンを生成する
アカウントIBM Cloud 内のIAM対応サービスにアクセスするには、アイデンティティアクセストークンと信頼されたプロファイルからIAMトークンを生成できます。 IAMトークンを生成した後、Cloud Database ServiceやVPC API IBM Cloud Object Storage など、IAM対応サービスへのアクセスに使用できます。 トークンは複数回再利用できます。
POST /identity/v1/iam_tokens 、信頼できるプロファイルのIDを指定する。 このリクエストは、アイデンティティアクセストークンと仮想サーバーインスタンスにリンクされた信頼済みプロファイルを使用して、IAMアクセストークンを生成します。 トラステッド・プロファイルは、インスタンスの作成時にリンクすることも、要求本体で指定することもできます。
アイデンティティアクセストークンを渡してIAMトークンを生成するために使用されるIAM APIは廃止予定です。 ベータ版ユーザーは、 POST /identity/v1/iam_tokens を使用して IAM トークンを生成するために、メタデータ・サービス API に移行する必要があります。
要求例:
iam_token=`curl -X POST "$vpc_metadata_api_endpoint/identity/v1/iam_tokens?version=2025-10-14" \
-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": "2025-06-10T14:10:15Z",
"expires_at": "2025-06-10T15:10:15Z",
"expires_in": 3600
}
トラステッド・プロファイルについて詳しくは、『トラステッド・プロファイルを使用した IAM 対応サービスの呼び出し』を参照してください。
IDアクセストークンを使用したID証明書の生成
仮想サーバーインスタンスと IBM Cloud® File Storage for VPC 共有間の転送で暗号化を有効にして使用するには、ID 証明書が必要です。 インスタンスのID証明書を生成するには、IDアクセストークンと証明書署名要求(CSR)を使用して POST /identity/v1/certificates。
証明書署名要求(CSR)は、オープンソースの OpenSSL コマンドラインツールキットから取得できます。
-
以下のコマンドは、opensslを使用して証明書署名要求 (CSR)と RSAキー・ペアを生成します。 コマンドを実行する際は、国番号
USを'/C=US'の2桁の国番号に置き換えてください。openssl req -sha256 -newkey rsa:4096 -subj '/C=US' -out ./sslcert.csr -keyout file.key -nodesCSRの作成に別のソフトウェアを使用している場合、国コード(C)、州(ST)、地域(L)、組織名(O)、組織単位(OU)など、所在地に関する情報を入力するよう求められることがあります。 これらの命名属性のどれでも使用できる。 その他の命名属性(例:一般名)は拒否される。 Metadata API へのリクエスト時に、システムは ID 証明書のサブジェクト共通名にインスタンス ID 値を適用するため、共通名が指定された CSR は拒否される。 延長されたCSRも拒否される。
-
メタデータサービスへのAPI呼び出しを行う前に、次のコマンドを使用してCSRをフォーマットしてください。
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' sslcert.csr
次に、メタデータ・サービスにAPIリクエストを行うことができる。 以下の例を参照してください。 この csr 値は必須です。 この expires_in 値はオプションです。 有効期限のデフォルト値は3600で、これは1時間に相当する。
curl -X POST "$vpc_metadata_api_endpoint/identity/v1/certificates?version=2024-11-12" \
-H "Authorization: Bearer $identity_token" \
-d '{ "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICnTCCAYUCAQAwWDELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCU1pbm5lc290YTES\nMBAGA1UEBwwJUm9jaGVzdGVyMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0\neSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYBvW12cKEkRUu\nyPScs7Xjwu/m+W8pZSQf9wrBa7DBVLFCdh440xOuSnIbsm+BNgYz4wL6/8la+N/K\nff06CdEwy9HLhPYc2z62tECxOBhI1G9gnsRUwb6WHNY71VulZs+37/9Mgd/eQy2n\nKHULNEU7sjNpLYoguKX8GRV3etKDp3tlFQmB6cNGOAgB3aQDmhdAh7K6oftesm0R\n8C7nmFA4SSjaI+855JxoxadlB2cCA5boaQ2gNO6YhYbtuTrMicQb0MTlZmacqzqP\nAxXWD3yFmAuUCpa2tBFBsavSW/kc52m4ldcO60U6hARvOxcXDqrbwu8r1ieY+tcZ\ncqjjBi99AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAgAqWjtH3yAsX8QfTa9Pv\n3kktYFQKFsBzntmFDdIrOkeGayWRCuSG06f3sHWH0RuGkpq1x/4bedjcyyNVSna7\nxYX6kPOQX5iqf9pISD7A0XIkfS6XAos7gOh/jadjtxSwPCkuztSqIPKObH9OClAE\nU1fYDEtZCaZxsUdLwWJwOzbsivT97g1UVnbJAEzAJrqyaV4cUbv/w/slytHF+GAg\nNoUvPD8NGOQ+VzuI2oQuK515cyHO1SXrJyvkEVwRVVr3SoasqqWIQRrIv6zgzgik\nLN+uQxpzL1EeTB8qKy7xjymo2y1PbmaZzVNQNaBnxJfLE522pfW69evBRJ1qhrby\nTQ==\n-----END CERTIFICATE REQUEST-----\n"}'
または、次のコマンドを使用することもできます:
curl -X POST "$vpc_metadata_api_endpoint/identity/v1/certificates?version=2025-08-26" \
-H "Authorization: Bearer $identity_token" \
-d '{ "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICnTCCAYUCAQAwWDELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCU1pbm5lc290YTES\nMBAGA1UEBwwJUm9jaGVzdGVyMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0\neSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYBvW12cKEkRUu\nyPScs7Xjwu/m+W8pZSQf9wrBa7DBVLFCdh440xOuSnIbsm+BNgYz4wL6/8la+N/K\nff06CdEwy9HLhPYc2z62tECxOBhI1G9gnsRUwb6WHNY71VulZs+37/9Mgd/eQy2n\nKHULNEU7sjNpLYoguKX8GRV3etKDp3tlFQmB6cNGOAgB3aQDmhdAh7K6oftesm0R\n8C7nmFA4SSjaI+855JxoxadlB2cCA5boaQ2gNO6YhYbtuTrMicQb0MTlZmacqzqP\nAxXWD3yFmAuUCpa2tBFBsavSW/kc52m4ldcO60U6hARvOxcXDqrbwu8r1ieY+tcZ\ncqjjBi99AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAgAqWjtH3yAsX8QfTa9Pv\n3kktYFQKFsBzntmFDdIrOkeGayWRCuSG06f3sHWH0RuGkpq1x/4bedjcyyNVSna7\nxYX6kPOQX5iqf9pISD7A0XIkfS6XAos7gOh/jadjtxSwPCkuztSqIPKObH9OClAE\nU1fYDEtZCaZxsUdLwWJwOzbsivT97g1UVnbJAEzAJrqyaV4cUbv/w/slytHF+GAg\nNoUvPD8NGOQ+VzuI2oQuK515cyHO1SXrJyvkEVwRVVr3SoasqqWIQRrIv6zgzgik\nLN+uQxpzL1EeTB8qKy7xjymo2y1PbmaZzVNQNaBnxJfLE522pfW69evBRJ1qhrby\nTQ==\n-----END CERTIFICATE REQUEST-----\n"}'
成功すると、新しい証明書が、そのID、作成日時、有効期限などの情報とともに返される。
{
"certificates": [
"-----BEGIN CERTIFICATE-----\nMIIDmTCCAoECFDGlhn2VlwNEQymsNpyt9rOiiiWDMA0GCSqGSIb3DQEBCwUAMIGJ\nMQswCQYDVQQGEwJVUzESMBAGA1UECAwJTWlubmVzb3RhMRIwEAYDVQQHDAlSb2No\nZXN0ZXIxDDAKBgNVBAoMA0lCTTEeMBwGA1UECwwVVmlydHVhbCBQcml2YXRlIENs\nb3VkMSQwIgYDVQQDDBtWUEMgRXhhbXBsZSBJbnRlcm1lZGlhdGUgQ0EwHhcNMjIx\nMTAxMTM1MDE0WhcNMjIxMTAxMTQyMDE0WjCBhzELMAkGA1UEBhMCVVMxEjAQBgNV\nBAgMCU1pbm5lc290YTESMBAGA1UEBwwJUm9jaGVzdGVyMQwwCgYDVQQKDANJQk0x\nHjAcBgNVBAsMFVZpcnR1YWwgUHJpdmF0ZSBDbG91ZDEiMCAGA1UEAwwZRXhhbXBs\nZSBTaGFyZSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBAM6JytY3R4zWo3zzw/dM9ldUw8TIDQ9dNt+0sm3bFHHlAXaSKvmI+Ls/uQoh\n9VPpRLTx+WyljnKNnkXC6BQOzlugjAfi8hE2f5CC0A0m58XcBiZqH5BwTeLI4vVZ\nO9pLySckkEtHcmFE4h70KS5+1jDApeOTTS6EJsQcal/AAVYg7PDyXr1jE2HTKxnt\nlXopB/+bvWmBQ2k50Km0h0D1n0Ipoqqwb1wwWCrzQ2ds2XNKCUGkCgN6buFiF2nN\nLYS1tsIaw6OsTx+VheNGlYdlOhMUVypCok9JQ85P4NU47O6YgITX1V63ewZBnn5p\napywqdg8K2X2YgU/tLdpl5Jz2ysCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEABuOX\npxGbBQPdG3VGkNCYScZUcxocqmx4mCegBFfv4PjWU2+eG+3JikB3YWwqD11hixQm\n5Qwge/zMXzuKPs5D4yyblpDJlq5Iz/0VMjEl2paCHg9nm5Z3QaSydFH3SCGwfvld\nRn9ib6DSw4a58hmqON+CiWUSSibQy46gUsqVvYhq2lJimejTAN2DlePY2su1xvNV\nAdmDjmvO7j7YV/eWk6r7OgcqtVaAovN3okaybwxf8sLAFxLzp/aUaqXL10qJ/ISz\nVL+UHN7t5WzjHdh2OjDXwz0BOyhdbjyNX8ptKd+E0O21PsFFe8ErfShDh00g/ERP\nzXuEUsCxzTyWRTm8GA==\n-----END CERTIFICATE-----\n",
"-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIUDzQruKqvBY7+CS6DL0u93Na6cLMwDQYJKoZIhvcNAQEL\nBQAwgYExCzAJBgNVBAYTAlVTMRIwEAYDVQQIDAlNaW5uZXNvdGExEjAQBgNVBAcM\nCVJvY2hlc3RlcjEMMAoGA1UECgwDSUJNMR4wHAYDVQQLDBVWaXJ0dWFsIFByaXZh\ndGUgQ2xvdWQxHDAaBgNVBAMME1ZQQyBFeGFtcGxlIFJvb3QgQ0EwHhcNMjIxMTAx\nMDM0OTI5WhcNMjcxMDMxMDM0OTI5WjCBiTELMAkGA1UEBhMCVVMxEjAQBgNVBAgM\nCU1pbm5lc290YTESMBAGA1UEBwwJUm9jaGVzdGVyMQwwCgYDVQQKDANJQk0xHjAc\nBgNVBAsMFVZpcnR1YWwgUHJpdmF0ZSBDbG91ZDEkMCIGA1UEAwwbVlBDIEV4YW1w\nbGUgSW50ZXJtZWRpYXRlIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAxjvxOtSFKsJKl4teBLgkX4+myxhClz2Qmg5MnNQ+oyhyNrpYvjG3+O+DrSUK\nKTXzmWSkKU/6BKmHQPNdpd4ymbb0cG7wmpcU3YjjrSNFgd/o3CEK9M7+ofIuQtTX\nXNUQWX5rb3wBqEA1TWazVTZpphhhcGQ8u03VTKvoF4S2DI6L3brDJJ0w1DM9Isaa\nB2mS64VYMIj3jLry39ryGEoYq1a0tC4C9fET3V5NmUnIRNqVDnGGkYBy/57VRACU\nXxXcQuW6eoPYGk6Ho3eKly34eilF2n9xD/bB41R4NzaxO/0lHq+caI5r1WlnTXtF\nE8wLpFoYMkuC0qiKBesyuyef2QIDAQABo2YwZDAdBgNVHQ4EFgQU2MIYc9g4Z7Kj\n79u2HPGYyTk5QHwwHwYDVR0jBBgwFoAUVnTLKJHyjHUcRp22jx+d3uGqnrwwEgYD\nVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD\nggEBADhOBfnBEaWVWCsZo3UR7UlP5/8i3mRgyFt4YkICPMacy2IcnDw8aoyjTO5b\n4BLO4J1m4AmcJnDJcFIEKLBSNbzsiDdP2rWIAAJKO4gKxdTArIuLgq7zrR74j46L\nn6IFwumKQRw0diGYD6wWIo/f9kGy1NQ46igmRYrEfzA5HWitEpF0mu6lz8mZ8m9s\na6CTEqwLFhP+qOcWtpGjNTa+OHENAmmAR4mR4Os4MsBBnb4RA//S/4suW419Cz8N\n1/Ul7KduYRKpRMSiS9YWbCvC5WiEvOvfp8Z4ecXlC+ohU5MLuCRPfP+blBvxNx2O\nsLotlbzDpim/gYiJCHgW3POlsLE=\n-----END CERTIFICATE-----\n"
],
"created_at": "2024-11-12T13:50:14Z",
"expires_at": "2024-11-12T14:50:14Z",
"expires_in": 3600,
"id": "9fd84246-7df4-4667-94e4-8ecde51d5ac5"
}
詳細については、 転送時の暗号化 - ファイル共有とホスト間のマウント接続の保護 を参照してください。
インスタンスの信頼済みプロファイルの作成
信頼されたプロファイルは、仮想サーバーインスタンスなどの IBM Cloud® コンピューティングリソースのIDにIAM IBM Cloud® IDを割り当てるのに役立ちます。 IAM シークレットを管理してインスタンスに配布しなくても、インスタンスからすべての IAM 対応サービスを呼び出すことができます。 アイデンティティアクセストークンからIAMトークンを生成し、それをインスタンスにリンクすることで、信頼済みプロファイルを作成できます。 詳しくは、トラステッド・プロファイルを使用した IAM 対応サービスの呼び出しを参照してください。
次のステップ
IDアクセストークンを作成し、メタデータサービスへのアクセスを有効にした後、インスタンス、SSHキー、および配置グループのメタデータを取得できます。 詳細については、 インスタンスからメタデータを取得するを 参照してください。