すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:認証、権限付与、または環境検証にインスタンスの動的データを使用する

最終更新日:Jun 23, 2026

インスタンスアイデンティティは、インスタンスアイデンティティドキュメントとインスタンスアイデンティティ署名で構成され、Elastic Compute Service (ECS) インスタンスを安全に識別します。アプリケーションのアクセスの制御やソフトウェアのアクティベーションにおける信頼の基盤として使用できます。このトピックでは、インスタンスアイデンティティの概要、利用シーン、およびその取得方法と使用方法について説明します。

インスタンスアイデンティティ

インスタンスアイデンティティは、動的に生成されるインスタンスアイデンティティドキュメント (ドキュメント) とインスタンスアイデンティティ署名 (署名) で構成されます。

  • インスタンスアイデンティティドキュメント

    インスタンスアイデンティティドキュメントは、インスタンス ID や IP アドレスなど、インスタンスに関する ID 情報を提供します。次の表に、ドキュメント内のプロパティを示します。

    パラメーター

    説明

    owner-account-id

    インスタンスを所有する Alibaba Cloud アカウントの ID。

    instance-id

    インスタンスの ID。

    mac

    インスタンスのプライマリネットワークインターフェースの MAC アドレス。

    region-id

    インスタンスが属するリージョンの ID。

    serial-number

    インスタンスのシリアル番号。

    zone-id

    インスタンスが属するゾーンの ID。

    instance-type

    インスタンスタイプ。

    image-id

    インスタンスが使用するイメージの ID。

    private-ipv4

    インスタンスのプライベート IPv4 アドレス。

  • インスタンスアイデンティティ署名

    インスタンスアイデンティティ署名は、インスタンスアイデンティティドキュメントの真正性と整合性を検証します。この署名は、セキュリティと信頼性を確保するために、PKCS#7 形式でデジタル署名されています。

    インスタンスアイデンティティ署名は、カスタムの audience パラメーターをサポートしています。これは、署名の不正使用を防ぐための認証に使用されます。audience パラメーターには、ランダムな文字列、タイムスタンプ、定期的に変更される情報、またはアルゴリズムによって生成されたデータを指定できます。audience パラメーターを渡した場合、第三者がインスタンスアイデンティティドキュメントとインスタンスアイデンティティ署名の一部を取得したとしても、audience パラメーターの値を推測することは困難です。audience パラメーターは認証に使用されます。詳細については、「インスタンスアイデンティティの使用」をご参照ください。

利用シーン

インスタンスアイデンティティは、以下のシナリオで認証、権限付与、または環境検証に使用できます。

  • 使い捨てのアクティベーションコードを使用する従来のソフトウェアライセンスは、動的なクラウド環境には柔軟性がありません。アプリケーションを Alibaba Cloud Marketplace に出品する際、インスタンスアイデンティティを使用して、柔軟かつ動的なユーザー権限付与を実装できます。

  • ECS インスタンスに機密データを書き込む際、インスタンスアイデンティティを使用して、異なる環境ではなく、正しい ECS インスタンスにデータを書き込んでいることを確認できます。

  • その他、ターゲットサーバーの出所を確認する必要があるシナリオ。

インスタンスアイデンティティの取得

(推奨) セキュリティ強化モード

  • Linux インスタンス

    # サーバーアクセス認証情報を取得します。有効期限を設定する必要があります。X-Forwarded-For ヘッダーは含めないでください。
    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<credential-expiration-in-seconds>"`
    # インスタンスアイデンティティを取得します。
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/<dynamic data>
  • Windows インスタンス

    # サーバーアクセス認証情報を取得します。有効期限を設定する必要があります。X-Forwarded-For ヘッダーは含めないでください。
    $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<credential-expiration-in-seconds>"} -Method PUT -Uri http://100.100.100.200/latest/api/token
    # インスタンスアイデンティティを取得します。
    Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/<dynamic data>
    • <credential-expiration-in-seconds>:サーバーアクセス認証情報は、データセキュリティを強化するための認証を提供します。この値は、認証情報の有効期間を秒単位で設定します。有効な値:1~21600。

      • 認証情報は有効期限が切れるまで再利用できます。有効期限が切れた後は、新しい認証情報を取得する必要があります。

      • 認証情報は、取得元のインスタンスでのみ有効です。他のインスタンスで認証情報を使用しようとすると、アクセスが拒否されます。

    • <dynamic data>:これを、目的のインスタンスアイデンティティドキュメントまたは署名へのパスに置き換えます。

      • インスタンスアイデンティティドキュメント:dynamic/instance-identity/document

      • インスタンスアイデンティティ署名:dynamic/instance-identity/pkcs7?audience=XXXX

        重要

        ?audience=XXXX パラメーターはオプションです。詳細については、「インスタンスアイデンティティ署名」をご参照ください。

通常モード

  • Linux インスタンス

    curl http://100.100.100.200/latest/<dynamic data>
  • Windows インスタンス (PowerShell)

    Invoke-RestMethod http://100.100.100.200/latest/<dynamic data>

    <dynamic data>:これを、目的のインスタンスアイデンティティドキュメントまたは署名へのパスに置き換えます。

    • インスタンスアイデンティティドキュメント:dynamic/instance-identity/document

    • インスタンスアイデンティティ署名:dynamic/instance-identity/pkcs7?audience=XXXX

      重要

      ?audience=XXXX パラメーターはオプションです。詳細については、「インスタンスアイデンティティ署名」をご参照ください。

インスタンスアイデンティティの使用

ここでは、Alibaba Cloud Linux 3 を実行する ECS インスタンスで、セキュリティ強化モードでインスタンスアイデンティティを使用する手順を説明します。

重要

インスタンスアイデンティティの検証と使用には OpenSSL が必要です。ご利用のインスタンスに OpenSSL がインストールされていない場合は、OpenSSL 公式サイトにアクセスしてダウンロードし、インストールしてください。

  1. Linux インスタンスにリモート接続します。

    詳細については、「ワークベンチを使用して Linux インスタンスにログオンする」をご参照ください。

  2. (オプション) 次のコマンドを実行して、インスタンスアイデンティティドキュメントとインスタンスアイデンティティ署名を表示します。

    # サーバーアクセス認証情報を取得し、有効期限を 3600 秒に設定します。
    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:3600"`
    # インスタンスアイデンティティドキュメントを取得します。
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/document
    # インスタンスアイデンティティ署名を取得します。
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/pkcs7
    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:3600"`
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100    29  100    29    0     0    805      0 --:--:-- --:--:-- --:--:--   805
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/document
    {"zone-id":"cn-hangzhou-h","serial-number":"es4xxx","instance-id":"i-bp1xxx","region-id":"cn-hangzhou","private-ipv4":"xxx","owner-account-id":"xxx","mac":"xxx","image-id":"aliyun_3_x64_20G_alibase_20240528.vhd","instance-type":"ecs.e-c1m1.large"}
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/pkcs7
    MIIDHwYJKo7ThvcNAOcrCoTfDCCAwwCAQExCzAJBgUrDpMCGgUAMTTRWOYJKo7ThvcNAOcrBoTfBSpSCAU77TnpvhmUltaWOiOiJhIoaYW5nbmVhdmS1dToidw2VvalEsl W51bWJ1ciI6TGtIMlINDk4MiNi TO2YmOtNDpzNv1hMTJhI wWyQAMmRhMi3k3OTAQNvTsTmur3RhbmNl1wlkTioia5i3ciDE1dn
    BqdGo
    aWJho
    UEAxM
    v45mv
  3. インスタンスアイデンティティドキュメント、インスタンスアイデンティティ署名、および Alibaba Cloud パブリック証明書をファイルに保存します。

    1. 次のコマンドを実行して、インスタンスアイデンティティドキュメントを document という名前のファイルに保存します。

      curl 100.100.100.200/latest/dynamic/instance-identity/document > document
    2. 次のコマンドを実行して、インスタンスアイデンティティ署名を signature という名前のファイルに保存します。

      echo "-----BEGIN CERTIFICATE-----" > signature
      curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7 >> signature
      echo "" >> signature
      echo "-----END CERTIFICATE-----" >> signature
    3. 次のコマンドを実行して、Alibaba Cloud パブリック証明書を cert.cer という名前のファイルに保存します。

      cat <<EOF > cert.cer
      -----BEGIN CERTIFICATE-----
      MIIDdzCCAl+gAwIBAgIEZmbRhzANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdV
      bmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYD
      VQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3du
      MB4XDTE4MDIyMzAxMjkzOFoXDTM4MDIxODAxMjkzOFowbDEQMA4GA1UEBhMHVW5r
      bm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UE
      ChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCC
      ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIJwy5sbZDiNyX4mvdP32pqM
      YMK4k7+5lRnVR2Fky/5uwyGSPbddNXaXzwEm+u4wIsJiaAN3OZgJpYIoCGik+9lG
      5gVAIr0+/3rZ61IbeVE+vDenDd8g/m/YIdYBfC2IbzgS9EVGAf/gJdtDODXrDfQj
      Fk2rQsvpftVOUs3Vpl9O+jeCQLoRbZYm0c5v7jP/L2lK0MjhiywPF2kpDeisMtnD
      /ArkSPIlg1qVYm3F19v3pa6ZioM2hnwXg5DibYlgVvsIBGhvYqdQ1KosNVcVGGQa
      HCUuVGdS7vHJYp3byH0vQYYygzxUJT2TqvK7pD57eYMN5drc7e19oyRQvbPQ3kkC
      AwEAAaMhMB8wHQYDVR0OBBYEFAwwrnHlRgFvPGo+UD5zS1xAkC91MA0GCSqGSIb3
      DQEBCwUAA4IBAQBBLhDRgezd/OOppuYEVNB9+XiJ9dNmcuHUhjNTnjiKQWVk/YDA
      v+T2V3t9yl8L8o61tRIVKQ++lDhjlVmur/mbBN25/UNRpJllfpUH6oOaqvQAze4a
      nRgyTnBwVBZkdJ0d1sivL9NZ4pKelJF3Ylw6rp0YMqV+cwkt/vRtzRJ31ZEeBhs7
      vKh7F6BiGCHL5ZAwEUYe8O3akQwjgrMUcfuiFs4/sAeDMnmgN6Uq8DFEBXDpAxVN
      sV/6Hockdfinx85RV2AUwJGfClcVcu4hMhOvKROpcH27xu9bBIeMuY0vvzP2VyOm
      DoJeqU7qZjyCaUBkPimsz/1eRod6d4P5qxTj
      -----END CERTIFICATE-----
      EOF
  4. 次のコマンドを実行して、OpenSSL でインスタンスアイデンティティを検証します。

    openssl smime -verify -in signature -inform PEM -content document -certfile cert.cer -noverify > /dev/null

    応答が Verification successful の場合、インスタンスは正常に認証されたことを示します。

    コマンドのパラメーターは次のとおりです。

    • document:取得した ID ドキュメントを含むファイル。

    • signature:取得した ID 署名を含むファイル。

      説明

      インスタンスアイデンティティ署名を取得する際に audience パラメーターを指定した場合は、インスタンスアイデンティティドキュメントの末尾に手動でそのパラメーターを追加する必要があります。形式は ,"audience":"your_audience_value" です。

    • cert.cer:Alibaba Cloud パブリック証明書を含むファイル。

      Alibaba Cloud パブリック証明書を表示するにはクリック

      -----BEGIN CERTIFICATE-----
      MIIDdzCCAl+gAwIBAgIEZmbRhzANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdV
      bmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYD
      VQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3du
      MB4XDTE4MDIyMzAxMjkzOFoXDTM4MDIxODAxMjkzOFowbDEQMA4GA1UEBhMHVW5r
      bm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UE
      ChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCC
      ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIJwy5sbZDiNyX4mvdP32pqM
      YMK4k7+5lRnVR2Fky/5uwyGSPbddNXaXzwEm+u4wIsJiaAN3OZgJpYIoCGik+9lG
      5gVAIr0+/3rZ61IbeVE+vDenDd8g/m/YIdYBfC2IbzgS9EVGAf/gJdtDODXrDfQj
      Fk2rQsvpftVOUs3Vpl9O+jeCQLoRbZYm0c5v7jP/L2lK0MjhiywPF2kpDeisMtnD
      /ArkSPIlg1qVYm3F19v3pa6ZioM2hnwXg5DibYlgVvsIBGhvYqdQ1KosNVcVGGQa
      HCUuVGdS7vHJYp3byH0vQYYygzxUJT2TqvK7pD57eYMN5drc7e19oyRQvbPQ3kkC
      AwEAAaMhMB8wHQYDVR0OBBYEFAwwrnHlRgFvPGo+UD5zS1xAkC91MA0GCSqGSIb3
      DQEBCwUAA4IBAQBBLhDRgezd/OOppuYEVNB9+XiJ9dNmcuHUhjNTnjiKQWVk/YDA
      v+T2V3t9yl8L8o61tRIVKQ++lDhjlVmur/mbBN25/UNRpJllfpUH6oOaqvQAze4a
      nRgyTnBwVBZkdJ0d1sivL9NZ4pKelJF3Ylw6rp0YMqV+cwkt/vRtzRJ31ZEeBhs7
      vKh7F6BiGCHL5ZAwEUYe8O3akQwjgrMUcfuiFs4/sAeDMnmgN6Uq8DFEBXDpAxVN
      sV/6Hockdfinx85RV2AUwJGfClcVcu4hMhOvKROpcH27xu9bBIeMuY0vvzP2VyOm
      DoJeqU7qZjyCaUBkPimsz/1eRod6d4P5qxTj
      -----END CERTIFICATE-----

audience パラメーターなし

この例では、ソフトウェアベンダーがインスタンスアイデンティティを使用して、Alibaba Cloud Marketplace に出品されているアプリケーションを承認する方法を示します。

  1. Linux インスタンスにリモート接続します。

    詳細については、「ワークベンチを使用して Linux インスタンスにログオンする」をご参照ください。

  2. 次のコマンドを実行して、インスタンスメタデータからマーケットプレイスイメージの product-codecharge-type を取得します。このステップでは、現在の ECS インスタンスが Alibaba Cloud Marketplace のイメージを使用していることを確認します。

    メタデータの詳細については、「インスタンスメタデータ」をご参照ください。

    curl http://100.100.100.200/latest/meta-data/image/market-place/product-code
    curl http://100.100.100.200/latest/meta-data/image/market-place/charge-type
  3. cert.cer という名前のファイルを作成し、Alibaba Cloud パブリック証明書を保存します。

    cat <<EOF > cert.cer
    -----BEGIN CERTIFICATE-----
    MIIDdzCCAl+gAwIBAgIEZmbRhzANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdV
    bmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYD
    VQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3du
    MB4XDTE4MDIyMzAxMjkzOFoXDTM4MDIxODAxMjkzOFowbDEQMA4GA1UEBhMHVW5r
    bm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UE
    ChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCC
    ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIJwy5sbZDiNyX4mvdP32pqM
    YMK4k7+5lRnVR2Fky/5uwyGSPbddNXaXzwEm+u4wIsJiaAN3OZgJpYIoCGik+9lG
    5gVAIr0+/3rZ61IbeVE+vDenDd8g/m/YIdYBfC2IbzgS9EVGAf/gJdtDODXrDfQj
    Fk2rQsvpftVOUs3Vpl9O+jeCQLoRbZYm0c5v7jP/L2lK0MjhiywPF2kpDeisMtnD
    /ArkSPIlg1qVYm3F19v3pa6ZioM2hnwXg5DibYlgVvsIBGhvYqdQ1KosNVcVGGQa
    HCUuVGdS7vHJYp3byH0vQYYygzxUJT2TqvK7pD57eYMN5drc7e19oyRQvbPQ3kkC
    AwEAAaMhMB8wHQYDVR0OBBYEFAwwrnHlRgFvPGo+UD5zS1xAkC91MA0GCSqGSIb3
    DQEBCwUAA4IBAQBBLhDRgezd/OOppuYEVNB9+XiJ9dNmcuHUhjNTnjiKQWVk/YDA
    v+T2V3t9yl8L8o61tRIVKQ++lDhjlVmur/mbBN25/UNRpJllfpUH6oOaqvQAze4a
    nRgyTnBwVBZkdJ0d1sivL9NZ4pKelJF3Ylw6rp0YMqV+cwkt/vRtzRJ31ZEeBhs7
    vKh7F6BiGCHL5ZAwEUYe8O3akQwjgrMUcfuiFs4/sAeDMnmgN6Uq8DFEBXDpAxVN
    sV/6Hockdfinx85RV2AUwJGfClcVcu4hMhOvKROpcH27xu9bBIeMuY0vvzP2VyOm
    DoJeqU7qZjyCaUBkPimsz/1eRod6d4P5qxTj
    -----END CERTIFICATE-----
    EOF
  4. インスタンスアイデンティティを検証します。

    スクリプト例:

    #!/usr/bin/bash
    function verify_signature_without_audience(){
    curl 100.100.100.200/latest/dynamic/instance-identity/document > document
    echo "-----BEGIN CERTIFICATE-----" > signature
    curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7 >> signature
    echo "" >> signature
    echo "-----END CERTIFICATE-----" >> signature
    openssl smime -verify -in signature -inform PEM -content document -certfile cert.cer -noverify > /dev/null
    }
    verify_signature_without_audience
  5. 返された結果が Verification successful の場合、インスタンスは正常に認証されたことを意味します。その後、アプリケーションソフトウェアの権限コントロールを無効にできます。

例 2:Audience パラメーターを渡す例

このセクションでは、Alibaba Cloud Marketplace にイメージを出品する別の例を示し、アプリケーション販売者としてインスタンスアイデンティティを使用する方法を説明します。ライセンスの不正使用を防ぐために、インスタンスアイデンティティをカスタムの audience パラメーターと組み合わせ、権限コントロールをリリースする前にアプリケーションサーバーでポリシーコントロールを実装できます。

  1. Linux インスタンスにリモート接続します。

    詳細については、「ワークベンチを使用して Linux インスタンスにログオンする」をご参照ください。

  2. 次のコマンドを実行して、インスタンスメタデータからマーケットプレイスイメージの product-codecharge-type を取得します。このステップでは、現在の ECS インスタンスが Alibaba Cloud Marketplace のイメージを使用していることを確認します。

    メタデータの詳細については、「インスタンスメタデータ」をご参照ください。

    curl http://100.100.100.200/latest/meta-data/image/market-place/product-code
    curl http://100.100.100.200/latest/meta-data/image/market-place/charge-type
  3. cert.cer という名前のファイルを作成し、Alibaba Cloud パブリック証明書を保存します。

    cat <<EOF > cert.cer
    -----BEGIN CERTIFICATE-----
    MIIDdzCCAl+gAwIBAgIEZmbRhzANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdV
    bmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYD
    VQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3du
    MB4XDTE4MDIyMzAxMjkzOFoXDTM4MDIxODAxMjkzOFowbDEQMA4GA1UEBhMHVW5r
    bm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UE
    ChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCC
    ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIJwy5sbZDiNyX4mvdP32pqM
    YMK4k7+5lRnVR2Fky/5uwyGSPbddNXaXzwEm+u4wIsJiaAN3OZgJpYIoCGik+9lG
    5gVAIr0+/3rZ61IbeVE+vDenDd8g/m/YIdYBfC2IbzgS9EVGAf/gJdtDODXrDfQj
    Fk2rQsvpftVOUs3Vpl9O+jeCQLoRbZYm0c5v7jP/L2lK0MjhiywPF2kpDeisMtnD
    /ArkSPIlg1qVYm3F19v3pa6ZioM2hnwXg5DibYlgVvsIBGhvYqdQ1KosNVcVGGQa
    HCUuVGdS7vHJYp3byH0vQYYygzxUJT2TqvK7pD57eYMN5drc7e19oyRQvbPQ3kkC
    AwEAAaMhMB8wHQYDVR0OBBYEFAwwrnHlRgFvPGo+UD5zS1xAkC91MA0GCSqGSIb3
    DQEBCwUAA4IBAQBBLhDRgezd/OOppuYEVNB9+XiJ9dNmcuHUhjNTnjiKQWVk/YDA
    v+T2V3t9yl8L8o61tRIVKQ++lDhjlVmur/mbBN25/UNRpJllfpUH6oOaqvQAze4a
    nRgyTnBwVBZkdJ0d1sivL9NZ4pKelJF3Ylw6rp0YMqV+cwkt/vRtzRJ31ZEeBhs7
    vKh7F6BiGCHL5ZAwEUYe8O3akQwjgrMUcfuiFs4/sAeDMnmgN6Uq8DFEBXDpAxVN
    sV/6Hockdfinx85RV2AUwJGfClcVcu4hMhOvKROpcH27xu9bBIeMuY0vvzP2VyOm
    DoJeqU7qZjyCaUBkPimsz/1eRod6d4P5qxTj
    -----END CERTIFICATE-----
    EOF
  4. インスタンスアイデンティティを検証します。

    スクリプト例:

    #!/usr/bin/bash
    function verify_signature_with_specified_audience(){
    audience='your audience' # これをオーディエンスの値に置き換えます。
    document=$(curl 100.100.100.200/latest/dynamic/instance-identity/document)
    audience_json=',"audience":''"'${audience}'"}'
    echo -n ${document%?}${audience_json} > document
    echo "-----BEGIN CERTIFICATE-----" > signature
    curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7?audience=${audience} >> signature
    echo "" >> signature
    echo "-----END CERTIFICATE-----" >> signature
    openssl smime -verify -in signature -inform PEM -content document -certfile cert.cer -noverify > /dev/null
    }
    verify_signature_with_specified_audience
  5. 返された結果が Verification successful の場合、インスタンス認証が成功したことを示します。アプリケーションの権限コントロールを解除します。

参考資料