메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

인스턴스 자격 증명 문서

인스턴스 자격 증명 문서는 인스턴스를 설명하는 JSON 파일입니다. 인스턴스 자격 증명 문서에는 문서에 제공된 정보의 정확도, 오리진 및 신뢰성을 확인하는 데 사용할 수 있는 서명 및 PKCS7 서명이 함께 제공됩니다. 예를 들어, 유료 업데이트가 포함된 무료 소프트웨어를 다운로드했을 수 있습니다.

인스턴스 자격 증명 문서는 인스턴스를 시작할 때 생성되고 인스턴스 메타데이터를 통해 인스턴스에 공개됩니다. 이 문서는 인스턴스의 속성(예: 구독 소프트웨어, 인스턴스 크기, 인스턴스 유형, 운영 체제, AMI 등)이 유효한지 검사합니다.

중요

인스턴스 자격 증명 문서와 서명은 동적인 특성을 지니고 있기 때문에 규칙적으로 인스턴스 자격 증명 문서와 서명을 검색하는 것이 좋습니다.

인스턴스 자격 증명 문서 및 서명 가져오기

인스턴스 자격 증명 문서를 검색하려면 실행 중인 인스턴스에서 다음 명령을 사용합니다.

Copy
[ec2-user ~]$ curl http://169.254.169.254/latest/dynamic/instance-identity/document

다음은 예제 출력입니다.

{ "devpayProductCodes" : null, "availabilityZone" : "us-west-2b", "privateIp" : "10.158.112.84", "version" : "2010-08-31", "instanceId" : "i-1234567890abcdef0", "billingProducts" : null, "instanceType" : "t2.micro", "accountId" : "123456789012", "imageId" : "ami-5fb8c835", "pendingTime" : "2016-11-19T16:32:11Z", "architecture" : "x86_64", "kernelId" : null, "ramdiskId" : null, "region" : "us-west-2" }

인스턴스 자격 증명 서명을 검색하려면 실행 중인 인스턴스에서 다음 명령을 사용합니다.

Copy
[ec2-user ~]$ curl http://169.254.169.254/latest/dynamic/instance-identity/signature

다음은 예제 출력입니다.

dExamplesjNQhhJan7pORLpLSr7lJEF4V2DhKGlyoYVBoUYrY9njyBCmhEayaGrhtS/AWY+LPx lVSQURF5n0gwPNCuO6ICT0fNrm5IH7w9ydyaexamplejJw8XvWPxbuRkcN0TAA1p4RtCAqm4ms x2oALjWSCBExample=

PKCS7 서명을 검색하려면 실행 중인 인스턴스에서 다음 명령을 사용합니다.

Copy
[ec2-user ~]$ curl http://169.254.169.254/latest/dynamic/instance-identity/pkcs7

다음은 예제 출력입니다.

MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE

PKCS7 서명 확인

PKCS7 서명을 사용해 해당 AWS 퍼블릭 인증서에 대해 유효성을 검증함으로써 인스턴스를 확인할 수 있습니다.

AWS 계정에서 제공하는 리전의 AWS 퍼블릭 서명은 다음과 같습니다.

Copy
-----BEGIN CERTIFICATE----- MIIC7TCCAq0CCQCWukjZ5V4aZzAJBgcqhkjOOAQDMFwxCzAJBgNVBAYTAlVTMRkw FwYDVQQIExBXYXNoaW5ndG9uIFN0YXRlMRAwDgYDVQQHEwdTZWF0dGxlMSAwHgYD VQQKExdBbWF6b24gV2ViIFNlcnZpY2VzIExMQzAeFw0xMjAxMDUxMjU2MTJaFw0z ODAxMDUxMjU2MTJaMFwxCzAJBgNVBAYTAlVTMRkwFwYDVQQIExBXYXNoaW5ndG9u IFN0YXRlMRAwDgYDVQQHEwdTZWF0dGxlMSAwHgYDVQQKExdBbWF6b24gV2ViIFNl cnZpY2VzIExMQzCCAbcwggEsBgcqhkjOOAQBMIIBHwKBgQCjkvcS2bb1VQ4yt/5e ih5OO6kK/n1Lzllr7D8ZwtQP8fOEpp5E2ng+D6Ud1Z1gYipr58Kj3nssSNpI6bX3 VyIQzK7wLclnd/YozqNNmgIyZecN7EglK9ITHJLP+x8FtUpt3QbyYXJdmVMegN6P hviYt5JH/nYl4hh3Pa1HJdskgQIVALVJ3ER11+Ko4tP6nwvHwh6+ERYRAoGBAI1j k+tkqMVHuAFcvAGKocTgsjJem6/5qomzJuKDmbJNu9Qxw3rAotXau8Qe+MBcJl/U hhy1KHVpCGl9fueQ2s6IL0CaO/buycU1CiYQk40KNHCcHfNiZbdlx1E9rpUp7bnF lRa2v1ntMX3caRVDdbtPEWmdxSCYsYFDk4mZrOLBA4GEAAKBgEbmeve5f8LIE/Gf MNmP9CM5eovQOGx5ho8WqD+aTebs+k2tn92BBPqeZqpWRa5P/+jrdKml1qx4llHW MXrs3IgIb6+hUIB+S8dz8/mmO0bpr76RoZVCXYab2CZedFut7qc3WUH9+EUAH5mw vSeDCOUMYQR7R9LINYwouHIziqQYMAkGByqGSM44BAMDLwAwLAIUWXBlk40xTwSw 7HX32MxXYruse9ACFBNGmdX2ZBrVNGrN9N2f6ROk0k9K -----END CERTIFICATE-----

AWS GovCloud (US) 리전을 위한 AWS 퍼블릭 인증서는 다음과 같습니다.

Copy
-----BEGIN CERTIFICATE----- MIICuzCCAiQCCQDrSGnlRgvSazANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMRMwEQYDVQQKEwpBbWF6 b24uY29tMRYwFAYDVQQLEw1FQzIgQXV0aG9yaXR5MRowGAYDVQQDExFFQzIgQU1J IEF1dGhvcml0eTEqMCgGCSqGSIb3DQEJARYbZWMyLWluc3RhbmNlLWlpZEBhbWF6 b24uY29tMB4XDTExMDgxMjE3MTgwNVoXDTIxMDgwOTE3MTgwNVowgaExCzAJBgNV BAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHU2VhdHRsZTETMBEGA1UEChMK QW1hem9uLmNvbTEWMBQGA1UECxMNRUMyIEF1dGhvcml0eTEaMBgGA1UEAxMRRUMy IEFNSSBBdXRob3JpdHkxKjAoBgkqhkiG9w0BCQEWG2VjMi1pbnN0YW5jZS1paWRA YW1hem9uLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqaIcGFFTx/SO 1W5G91jHvyQdGP25n1Y91aXCuOOWAUTvSvNGpXrI4AXNrQF+CmIOC4beBASnHCx0 82jYudWBBl9Wiza0psYc9flrczSzVLMmN8w/c78F/95NfiQdnUQPpvgqcMeJo82c gHkLR7XoFWgMrZJqrcUK0gnsQcb6kakCAwEAATANBgkqhkiG9w0BAQUFAAOBgQDF VH0+UGZr1LCQ78PbBH0GreiDqMFfa+W8xASDYUZrMvY3kcIelkoIazvi4VtPO7Qc yAiLr6nkk69Tr/MITnmmsZJZPetshqBndRyL+DaTRnF0/xvBQXj5tEh+AmRjvGtp 6iS1rQoNanN8oEcT2j4b48rmCmnDhRoBcFHwCYs/3w== -----END CERTIFICATE-----

다른 리전에 대해서는 AWS Support에 문의하여 AWS 퍼블릭 인증서를 얻으십시오.

PKCS7 서명을 확인하려면

  1. 인스턴스에서 PKCS7 서명을 위한 임시 파일을 만듭니다.

    Copy
    [ec2-user ~]$ PKCS7=$(mktemp)
  2. 임시 PKCS7 파일에 -----BEGIN PKCS7----- 헤더를 추가합니다.

    Copy
    [ec2-user ~]$ echo "-----BEGIN PKCS7-----" > $PKCS7
  3. 인스턴스 메타데이터로부터 얻은 PKCS7 서명의 내용을 추가하고 새 줄을 추가합니다.

    Copy
    [ec2-user ~]$ curl -s http://169.254.169.254/latest/dynamic/instance-identity/pkcs7 >> $PKCS7 [ec2-user ~]$ echo "" >> $PKCS7
  4. -----END PKCS7----- 바닥글을 추가합니다.

    Copy
    [ec2-user ~]$ echo "-----END PKCS7-----" >> $PKCS7
  5. 인스턴스 자격 증명 문서를 위한 임시 파일을 만듭니다.

    Copy
    [ec2-user ~]$ DOCUMENT=$(mktemp)
  6. 인스턴스 메타데이터로부터 얻은 문서의 내용을 임시 문서 파일에 추가합니다.

    Copy
    [ec2-user ~]$ curl -s http://169.254.169.254/latest/dynamic/instance-identity/document > $DOCUMENT
  7. 텍스트 편집기를 열어 AWSpubkey라는 파일을 만듭니다. 파일에 위 AWS 퍼블릭 인증서의 내용을 복사해 붙여 넣은 다음 저장합니다.

  8. OpenSSL 도구를 사용해 다음과 같이 서명을 확인합니다.

    Copy
    [ec2-user ~]$ openssl smime -verify -in $PKCS7 -inform PEM -content $DOCUMENT -certfile AWSpubkey -noverify > /dev/null Verification successful