Utilizzo della firma con codifica base64 per verificare l'Documenti di identità dell'istanza - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della firma con codifica base64 per verificare l'Documenti di identità dell'istanza

Questo argomento spiega come verificare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico RSA. AWS

Per convalidare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico RSA AWS
  1. Collegati all'istanza.

  2. Recuperare la firma con codifica base64 dai metadati dell'istanza, convertirla in un array di byte e aggiungerla alla variabile denominata $Signature. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza.

    IMDSv2
    PS C:\> [string]$token = (Invoke-WebRequest -Method Put -Headers @{'X-aws-ec2-metadata-token-ttl-seconds' = '21600'} http://169.254.169.254/latest/api/token).Content
    PS C:\> $Signature = [Convert]::FromBase64String((Invoke-WebRequest -Headers @{'X-aws-ec2-metadata-token' = $Token} http://169.254.169.254/latest/dynamic/instance-identity/signature).Content)
    IMDSv1
    PS C:\> $Signature = [Convert]::FromBase64String((Invoke-WebRequest http://169.254.169.254/latest/dynamic/instance-identity/signature).Content)
  3. Recuperare il documento di identità dell'istanza in testo normale dai metadati dell'istanza, convertirlo in un array di byte e aggiungerlo a una variabile denominata $Document. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza.

    IMDSv2
    PS C:\> $Document = [Text.Encoding]::UTF8.GetBytes((Invoke-WebRequest -Headers @{'X-aws-ec2-metadata-token' = $Token} http://169.254.169.254/latest/dynamic/instance-identity/document).Content)
    IMDSv1
    PS C:\> $Document = [Text.Encoding]::UTF8.GetBytes((Invoke-WebRequest http://169.254.169.254/latest/dynamic/instance-identity/document).Content)
  4. Trovare il certificato pubblico RSA per la propria regione in AWS certificati pubblici e aggiungere i contenuti in un nuovo file denominato certificate.pem.

  5. Verificare il documento di identità dell'istanza.

    PS C:\> [Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Path certificate.pem)).PublicKey.Key.VerifyData($Document, 'SHA256', $Signature)

    Se la firma è valida, il comando restituisce True. Se non è possibile verificare la firma, contattare AWS Support.