Object Storage Service (OSS) SDK for Harmony を使用してリクエストを開始するには、ID とアクセス権限を検証するために使用されるアクセス認証情報を設定する必要があります。 認証と権限付与の要件に基づいて、さまざまな種類のアクセス認証情報を選択できます。
注意事項
OSS のリージョンとエンドポイントのリストについては、「OSS のリージョンとエンドポイント」をご参照ください。
RAM ユーザーの AccessKey ペアを作成する方法については、「AccessKey の作成」をご参照ください。
Security Token Service (STS) から一時的なアクセス認証情報を取得する方法の詳細については、「STS の一時的なアクセス認証情報を使用して OSS にアクセスする」をご参照ください。
一般的な設定例
STS トークンの使用 (推奨)
アプリケーションが OSS への一時的なアクセスを必要とする場合は、STS からの一時的な ID 認証情報を使用してクライアントを初期化できます。 これらの認証情報には、AccessKey ID、AccessKey Secret、およびセキュリティトークンが含まれます。
AssumeRole API 操作を呼び出すことで、一時的なアクセス認証情報を取得できます。 詳細については、「AssumeRole - ロールを引き受けるための一時的な ID 認証情報の取得」をご参照ください。
OSS SDK を使用して一時的なアクセス認証情報を取得することもできます。 詳細については、「STS の一時的なアクセス認証情報を使用して OSS にアクセスする」をご参照ください。
STS トークンを生成する際に、その有効期間を指定する必要があります。 期限切れのトークンは使用できません。
STS エンドポイントのリストについては、「サービスエンドポイント」をご参照ください。
以下は、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 クライアントインスタンスを使用してリクエストを開始します。