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

Object Storage Service:サーバ側暗号化 (Node.js SDK)

最終更新日:Nov 30, 2025

Object Storage Service (OSS) は、データに対してサーバ側暗号化機能を提供します。データをアップロードすると、OSS はデータを暗号化してからストレージに保存します。データをダウンロードする際は、OSS が自動的にデータを復号し、生データを返します。データがサーバー側で暗号化されたことは、HTTP 応答ヘッダーで示されます。

バケットの暗号化設定

以下のコードを使用して、バケットのデフォルトの暗号化方式を設定します。この設定が完了すると、暗号化方式を指定せずにバケットにアップロードされたオブジェクトは、すべてバケットのデフォルト方式で暗号化されます。

const OSS = require("ali-oss");

const client = new OSS({
  // region をバケットが配置されているリージョンに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourbucketname'
});

async function putBucketEncryption() {
  try {
    // バケットの暗号化方式を設定します。    

    const result = await client.putBucketEncryption("bucket-name", {
      SSEAlgorithm: "AES256", // この例では、AES256 暗号化を設定する方法を示します。KMS 暗号化を使用する場合は、KMSMasterKeyID プロパティを追加する必要があります。
      // KMSMasterKeyID: "yourKMSMasterKeyId"。KMS キー ID を設定します。このパラメーターは、暗号化方式が KMS の場合に設定できます。SSEAlgorithm の値が KMS で、指定したキーを使用して暗号化する場合、キー ID を入力する必要があります。それ以外の場合、このパラメーターは空にする必要があります。
    });
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

putBucketEncryption();

バケットの暗号化設定の取得

以下のコードは、バケットの暗号化設定を取得します。

const OSS = require("ali-oss");

const client = new OSS({
  // region をバケットが配置されているリージョンに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourbucketname'
});

async function getBucketEncryption() {
  try {
    const result = await client.getBucketEncryption("bucket-name");
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

getBucketEncryption();

バケットの暗号化設定の削除

以下のコードは、バケットの暗号化設定を削除します。

const OSS = require("ali-oss");

const client = new OSS({
  // region をバケットが配置されているリージョンに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourbucketname'
});

async function deleteBucketEncryption() {
  try {
    // バケットの暗号化設定を削除します。
    const result = await client.deleteBucketEncryption("bucket-name");
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

deleteBucketEncryption();

関連ドキュメント

  • サーバ側暗号化の完全なサンプルコードについては、「GitHub の例」をご参照ください。

  • サーバ側暗号化を設定するために使用される API 操作の詳細については、「PutBucketEncryption」をご参照ください。

  • サーバ側暗号化設定を取得するために使用される API 操作の詳細については、「GetBucketEncryption」をご参照ください。

  • サーバ側暗号化設定を削除するために使用される API 操作の詳細については、「DeleteBucketEncryption」をご参照ください。