AWS SDK for JavaScript V3 API リファレンスガイドでは、 AWS SDK for JavaScript バージョン3 (V3) のすべての API オペレーションについて詳しく説明します。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
最小 TLS バージョンを強制する
AWS サービスと通信するときにセキュリティを強化するには、TLS 1.2 以降を使用する AWS SDK for JavaScript ように を設定します。
Transport Layer Security (TLS) は、ネットワーク上で交換されるデータのプライバシーと整合性を確保するために、ウェブブラウザやその他のアプリケーションで使用されるプロトコルです。
重要
2024 年 6 月 10 日現在、TLS 1.3 が各 AWS リージョン AWS のサービス API エンドポイントで利用可能であることを発表しましたhttps.Agent
を介して設定可能な Node.js によって決定される TLS バージョンを使用します。 AWS では、現在の Active LTS バージョンの Node.js を使用することをお勧めします。
Node.js での TLS の検証と適用
Node.js AWS SDK for JavaScript で を使用する場合、基盤となる Node.js セキュリティレイヤーを使用して TLS バージョンを設定します。
Node.js 12.0.0 以降では、TLS 1.3 をサポートする OpenSSL 1.1.1b 以降のバージョンが使用されます。Node.js は、使用可能な場合はデフォルトで TLS 1.3 を使用します。必要に応じて、別のバージョンを明示的に指定できます。
OpenSSL および TLS のバージョンを検証します。
コンピュータ上の Node.js で使用されている OpenSSL のバージョンを取得するには、次のコマンドを実行します。
node -p process.versions
リスト内の OpenSSL のバージョンは、次の例に示すように、Node.js で使用されるバージョンです。
openssl: '1.1.1b'
コンピュータ上の Node.js で使用されている TLS のバージョンを取得するには、Node シェルを起動し、次のコマンドを順に実行します。
>
var tls = require("tls");>
var tlsSocket = new tls.TLSSocket();>
tlsSocket.getProtocol();
最後のコマンドは、次の例に示すように TLS のバージョンを出力します。
'TLSv1.3'
Node.js はデフォルトでこのバージョンの TLS を使用し、呼び出しが失敗した場合は別のバージョンの TLS のネゴシエートを試みます。
サポートされる TLS バージョンの最小バージョンと最大バージョンの確認
開発者は、次のスクリプトを使用して Node.js でサポートされている最小および最大 TLS バージョンを確認できます。
import tls from "tls"; console.log("Supported TLS versions:", tls.DEFAULT_MIN_VERSION + " to " + tls.DEFAULT_MAX_VERSION);
最後のコマンドは、次の例に示すようにデフォルトの最小および最大の TLS のバージョンを出力します。
Supported TLS versions: TLSv1.2 to TLSv1.3
TLS の最小バージョンの指定
Node.js は、呼び出しが失敗した場合に TLS のバージョンをネゴシエートします。コマンドラインからスクリプトを実行するとき、または JavaScript コードのリクエストごとに、このネゴシエーション中に TLS の最小バージョンを指定できます。
コマンドラインから TLS の最小バージョンを指定するには、Node.js バージョン 11.4.0 以降を使用する必要があります。特定の Node.js バージョンをインストールするには、まず「Node Version Managerのインストールと更新
nvm install 11 nvm use 11
ブラウザスクリプトでの TLS の検証と適用
ブラウザスクリプトで SDK for JavaScript を使用する場合、ブラウザの設定によって、使用される TLS のバージョンが制御されます。ブラウザで使用される TLS のバージョンは、スクリプトによって検出または設定できないため、ユーザーが設定する必要があります。ブラウザスクリプトで使用される TLS のバージョンを検証して適用する方法については、お使いのブラウザの手順を参照してください。
v3 リクエストでの TLS AWS SDK for JavaScript バージョンの取得
AWS SDK リクエストで使用される TLS バージョンは、次のスクリプトを使用してログに記録できます。
import { S3Client, ListBucketsCommand } from "@aws-sdk/client-s3"; import tls from "tls"; const client = new S3Client({ region: "us-east-1" }); const tlsSocket = new tls.TLSSocket(); client.middlewareStack.add((next, context) => async (args) => { console.log(`Using TLS version: ${tlsSocket.getProtocol()}`); return next(args); });
次の例に示すように、最後のコマンドは使用中の TLS バージョンを出力します。
Using TLS version: TLSv1.3