このトピックでは、AccessKeyペアまたはSecurity Token Service (STS) トークンを使用してApsaraVideo VOD SDK for Javaを初期化する方法について説明します。 ビジネス要件に基づいてどちらの方法も使用できます。
背景情報
ApsaraVideo VOD SDKは、2つの異なる方法を使用して初期化できます。 権限付与ポリシーに基づいて必要な権限が付与されたAlibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを使用してSDKを初期化できます。 AccessKeyペアは、Alibaba CloudアカウントまたはRAMユーザーの作成後も有効です。 サーバーでこの方法を使用することを推奨します。 または、権限付与ポリシーに基づいて必要な権限が付与されたSTSトークンを使用してSDKを初期化できます。 STSトークンの有効期間を指定できます。
前提条件
ApsaraVideo VOD SDK for Javaがインストールされています。 詳細については、「インストール」をご参照ください。
RAM (Resource Access Management) ユーザーが作成され、必要な権限がRAMユーザーに付与されます。 詳細については、「Create and grant permissions to a RAM user」をご参照ください。
ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数を設定します。 詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。
重要Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 RAMユーザーのAccessKeyペアを使用して、API操作を呼び出したり、ルーチンのO&Mを実行したりすることを推奨します。
AccessKey IDとAccessKeyシークレットをプロジェクトコードにハードコードしないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。
ApsaraVideo VODを使用するリージョンが指定されています。 たとえば、中国 (上海) リージョンでApsaraVideo VODを使用している場合、リージョンIDは
cn-Shanghai
です。 詳細については、「VODセンターとエンドポイント」をご参照ください。
AccessKeyペアを使用してSDKを初期化する
ApsaraVideo VOD API操作を呼び出すことができるように、AccessKeyペアを取得してID検証を完了します。 AccessKey ペアを取得する方法の詳細については、「AccessKey ペアの取得」をご参照ください。
AccessKeyペアを使用してSDKを初期化します。 サンプルコード:
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
// Obtain the AccessKey information.
public static DefaultAcsClient initVodClient() throws ClientException {
String regionId = "cn-shanghai"; // Specify the region in which ApsaraVideo VOD is activated.
// The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. We recommend that you use a RAM user to call API operations or perform routine O&M.
// We recommend that you not include your AccessKey pair (AccessKey ID and AccessKey secret) in your project code. Otherwise, the AccessKey pair may be leaked and the security of all resources within your account may be compromised.
// In this example, ApsaraVideo VOD reads the AccessKey pair from the environment variables to implement identity verification for API access. Before you run the sample code, configure the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET.
DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
DefaultAcsClient client = new DefaultAcsClient(profile);
return client;
}
STSトークンを使用してSDKを初期化する
SDKを初期化するためにSTSトークンが取得されます。 STSトークンを取得する方法の詳細については、「STSを使用してロールを作成し、ロールに一時的なアクセス許可を付与する」トピックの「STSを使用してアクセスを許可する」セクションを参照してください。
STSトークンを使用してSDKを初期化します。 サンプルコード:
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
// Obtain the STS information.
public static DefaultAcsClient initVodClient() throws ClientException {
String regionId = "cn-shanghai"; // Specify the region in which ApsaraVideo VOD is activated.
DefaultProfile profile = DefaultProfile.getProfile(
regionId, // The region ID
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), // The AccessKey ID of the RAM account
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), // The AccessKey Secret of the RAM account
System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")); // STS Token
DefaultAcsClient client = new DefaultAcsClient(profile);
return client;
}