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

Object Storage Service:アクセス認証情報の設定 (Harmony SDK)

最終更新日:Nov 30, 2025

Object Storage Service (OSS) SDK for Harmony を使用してリクエストを開始するには、ID とアクセス権限を検証するために使用されるアクセス認証情報を設定する必要があります。 認証と権限付与の要件に基づいて、さまざまな種類のアクセス認証情報を選択できます。

注意事項

一般的な設定例

STS トークンの使用 (推奨)

アプリケーションが OSS への一時的なアクセスを必要とする場合は、STS からの一時的な ID 認証情報を使用してクライアントを初期化できます。 これらの認証情報には、AccessKey ID、AccessKey Secret、およびセキュリティトークンが含まれます。

重要

以下は、OSS にアクセスするための AccessKey ペアを明示的に指定するために、アクセス認証情報をハードコーディングするサンプルコードです。

import Client from '@aliyun/oss';

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // STS から取得した AccessKey ID を指定します。 Alibaba Cloud アカウントの AccessKey ID は使用しないでください。
  // STS から提供される AccessKey ID は STS で始まることにご注意ください。
  accessKeyId: 'STS.****************',
  // STS から取得した AccessKey Secret を指定します。
  accessKeySecret: 'yourAccessKeySecret',
  // STS から取得したセキュリティトークンを指定します。
  securityToken: 'yourSecurityToken',
  // バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを oss-cn-hangzhou に設定します。
  region: 'oss-cn-hangzhou',
});

// 作成した OSS クライアントインスタンスを使用してリクエストを開始します。

RAM ユーザーの AccessKey ペアの使用

アプリケーションがアクセス認証情報を頻繁にローテーションすることなく OSS への長期的なアクセスを必要とし、外部からの攻撃に対して脆弱ではない安全で安定した環境で実行されると仮定します。 この場合、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ペア (AccessKey ID と AccessKey Secret) を使用して、認証情報プロバイダーを初期化できます。

重要
  • RAM ユーザーの AccessKey ペアを作成する方法については、「AccessKey の作成」をご参照ください。 RAM ユーザーの AccessKey ペアは、RAM ユーザーの作成時にのみ表示されます。 AccessKey ペアは適時に保存してください。 AccessKey ペアを忘れた場合は、ローテーションのために新しい AccessKey ペアを作成してください。

  • Alibaba Cloud アカウントはそのリソースに対する完全な権限を持っており、その AccessKey ペアが漏洩すると重大なセキュリティリスクをもたらします。 したがって、最小限の必要な権限が付与された RAM ユーザーの AccessKey ペアを使用することを推奨します。

以下は、OSS にアクセスするための AccessKey ペアを明示的に指定するために、アクセス認証情報をハードコーディングするサンプルコードです。

警告

本番環境にデプロイされたアプリケーションコードにアクセス認証情報を埋め込まないでください。 この方法はテスト目的のみを意図しています。

import Client from '@aliyun/oss';

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // RAM ユーザーの AccessKey ID を指定します。
  accessKeyId: 'yourAccessKeyID',
  // RAM ユーザーの AccessKey Secret を指定します。
  accessKeySecret: 'yourAccessKeySecret',
  // バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを oss-cn-hangzhou に設定します。
  region: 'oss-cn-hangzhou',
});

// 作成した OSS クライアントインスタンスを使用してリクエストを開始します。

よくある質問

認証情報プロバイダーを初期化する際に、STS から提供される一時的なアクセス認証情報と RAM ユーザーの AccessKey ペアをどのように区別すればよいですか?

STS から取得した一時的なアクセス認証情報 (AccessKey ID、AccessKey Secret、STS トークン) を使用して認証情報プロバイダーを初期化する場合、STS から返される AccessKey ID と RAM ユーザーの AccessKey ID を混同しないでください。 STS から取得した AccessKey ID は STS で始まります。 例:

image

RAM ユーザーの AccessKey ID を表示する方法は? AccessKey ペアの AccessKey Secret を表示できますか?

  1. RAM ユーザーの AccessKey ペアに関する情報の表示」で説明されている手順に従って、RAM ユーザーの AccessKey ペアを表示できます。

  2. RAM ユーザーの AccessKey Secret は、AccessKey ペアの作成時にのみ表示されます。 後で AccessKey ペアを表示することはできません。 AccessKey Secret を忘れた場合、それを取得することはできません。 この場合、RAM コンソールで直接新しい AccessKey ペアを作成してローテーションできます。 詳細については、「AccessKey ペアの作成」をご参照ください。

RAM ユーザーの AccessKey ペアを使用してファイルをアップロードする際に発生する AccessDenied エラーを修正するにはどうすればよいですか?

AccessDenied エラーは通常、間違った AccessKey ペア、またはアップロード権限の不足という 2 つの理由で発生します。 AccessDenied エラーをトラブルシューティングするには、次の手順を実行します:

  1. RAM ユーザーの AccessKey ペアに関する情報の表示」で説明されている手順に従って、提供された AccessKey ペアが正しいかどうかを確認します。

  2. RAM ユーザーの AccessKey Secret は、AccessKey ペアの作成時にのみ表示されます。 後で AccessKey ペアを表示することはできません。 AccessKey Secret を忘れた場合、それを取得することはできません。 この場合、RAM コンソールで直接新しい AccessKey ペアを作成してローテーションできます。 詳細については、「AccessKey ペアの作成」をご参照ください。

  3. RAM コンソールで、RAM ユーザーが OSS にファイルをアップロードする権限を持っているかどうかを確認します。 持っていない場合は、必要な権限を付与します。

パブリック OSS エンドポイントを使用して OSS にアクセスする際の接続エラーを修正するにはどうすればよいですか?

パブリックエンドポイント経由で OSS にアクセスする際に接続エラーが発生した場合、エンドポイントが正しくない可能性があります。 エラーを修正するには、次のチェックを実行します:

  1. OSS コンソールでバケットのリージョンを確認します。

  2. 指定されたエンドポイントがリージョンに対して正しいものであるかを確認します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、oss-cn-hangzhou.aliyuncs.com エンドポイントを使用してパブリックネットワークアクセスを有効にします。 OSS エンドポイントのリストについては、「リージョンとエンドポイント」をご参照ください。

  3. ご利用の環境がインターネットに接続できるかどうかを確認します。

エラーが報告された場合、エラーの種類をどのように判断すればよいですか?

OSS は、エラーの具体的な種類を判断するのに役立つエラーコードを提供しています。 たとえば、一般的な認証エラーについては、02-AUTH をご参照ください。