Role Data

Prev Next

VPC環境で利用できます。

サーバインスタンスに付与されたロール(Role)関連情報を照会します。

ロール関連の照会機能を使用するには、Sub Accountを通じてサーバインスタンスにロール(Role)を付与する必要があります。ロール付与の詳細は、Sub Accountご利用ガイドのロールの管理をご参照ください。

Role ID照会と仮 Access Keyの発行機能は、ncloud-sdkと Object Storage CLIで環境変数と configureファイルのいずれも Access Keyが設定されていない場合に利用できます。

参考

言語別 ncloud-sdkリストとインストール方法、Ncloud CLI、Object Storage CLI使用の詳細は、次をご参照ください。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

呼び出しのパス 説明
/{version}/meta-data/iam/ このバージョンで提供するロール(Role)関連データの項目をリストで照会
/{version}/meta-data/iam/info サーバインスタンスに付与されたロール(Role)の詳細情報を照会
/{version}/meta-data/iam/security-credentials サーバインスタンスに付与されたロール(Role)の ID照会
  • 出力結果の末尾に改行文字(\n)がない
  • ncloud-sdkと Object Storage CLI内部から Role IDを取得するために使用可能
/{version}/meta-data/iam/security-credentials/{roleId} サーバインスタンスに付与されたロール(Role)に対する仮 Access Key (STS)を発行
  • 発行された仮 Access Keyは Roleに設定されたポリシー(Policy)に従って権限を取得
  • サブアカウントの Access Keyと同様に API、CLI、SDKで使用可能
  • 出力結果の末尾に改行文字(\n)がない
  • ncloud-sdkと Object Storage CLI内部から仮 Access Keyを取得するために使用可能

サンプルコードは次の通りです。

Metadata v1

Metadata v1のサンプルコードは次の通りです。

# 項目の照会
[root@test-server ~]# curl http://169.254.169.254/latest/meta-data/iam/
info
security-credentials

# ロール詳細情報の照会
[root@test-server ~]# curl http://169.254.169.254/latest/meta-data/iam/info
{
  "roleId" : "***-***-***-***-***ec4",
  "roleName" : "test-role",
  "roleType" : "Server",
  "createTime" : "2024-05-04T08:24:35Z"
}

# Role IDの照会
[root@test-server ~]# curl http://169.254.169.254/latest/meta-data/iam/security-credentials
***-***-***-***-***ec4[root@test-server ~]#

# 仮 Access Keyの発行
[root@test-server ~]# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/***-***-***-***-***ec4
{
  "Type" : "NCP-HMAC",
  "AccessKeyId" : "s_***976",
  "SecretAccessKey" : "***6ab",
  "Expiration" : "2024-05-22T11:50:45Z",
  "Token" : "",
  "LastUpdated" : "2024-04-21T23:50:45Z",
  "Code" : "Success"
}[root@test-server ~]#

Metadata v2

Metadata v2のサンプルコードは次の通りです。
サンプルコードの2番目以降のリクエストは、最初のリクエストで生成したトークンの有効期限が切れていないと仮定して、そのトークンを使用した例です。

# 項目の照会
[root@test-server ~]# TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-NCP-METADATA-TOKEN-TTL-SECONDS: 21600"` \
&& curl -H "X-NCP-METADATA-TOKEN: $TOKEN" http://169.254.169.254/latest/meta-data/iam/
info
security-credentials

# ロール詳細情報の照会
[root@test-server ~]# curl -H "X-NCP-METADATA-TOKEN: $TOKEN" http://169.254.169.254/latest/meta-data/iam/info
{
  "roleId" : "***-***-***-***-***ec4",
  "roleName" : "test-role",
  "roleType" : "Server",
  "createTime" : "2024-05-04T08:24:35Z"
}

# Role IDの照会
[root@test-server ~]# curl -H "X-NCP-METADATA-TOKEN: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials
***-***-***-***-***ec4[root@test-server ~]#

# 仮 Access Keyの発行
[root@test-server ~]# curl -H "X-NCP-METADATA-TOKEN: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/***-***-***-***-***ec4
{
  "Type" : "NCP-HMAC",
  "AccessKeyId" : "s_***976",
  "SecretAccessKey" : "***6ab",
  "Expiration" : "2024-05-22T11:50:45Z",
  "Token" : "",
  "LastUpdated" : "2024-04-21T23:50:45Z",
  "Code" : "Success"
}[root@test-server ~]#