RAMアカウント:
RAMユーザーとは何ですか
RAM ユーザーは、特定の ID と ID 資格情報を持つ RAM のエンティティ ID タイプであり、通常は特定の個人またはアプリケーションに 1 つずつ対応します。RAM ユーザーには次の特徴があります。
- RAM ユーザーは、Alibaba Cloud アカウント (プライマリ アカウント)、または管理者権限を持つ他の RAM ユーザーまたは RAM ロールによって作成されます。作成が成功すると、そのユーザーは Alibaba Cloud アカウントに属し、独立した Alibaba Cloud アカウントではなくなります。
- RAM ユーザーはリソースを所有していないため、個別に請求することはできず、Alibaba Cloud アカウントによって一律に請求されます。
- RAM ユーザーには、コンソールにログインするか、API を使用して Alibaba Cloud アカウントのリソースにアクセスする権限が付与されている必要があります。
- RAM ユーザーは、独立したログイン パスワードまたはアクセス キーを持っています。
- 企業内の従業員、システム、またはアプリケーションに対応して、1 つの Alibaba Cloud アカウントの下に複数の RAM ユーザーを作成できます。
RAM ユーザーを作成し、異なる RAM ユーザーが異なるリソース アクセス許可を持つように、それらのユーザーを認証できます。企業に複数のユーザーが共同でリソースにアクセスするシナリオがある場合、RAM を使用すると、必要に応じてユーザーに最小限の権限を割り当てることができ、複数のユーザーが Alibaba Cloud アカウントのパスワードやアクセス キーを共有するのを防ぎ、企業のセキュリティ リスクを軽減できます。
Alibaba Cloudにログインし、実名認証を登録し、秘密鍵とIDを取得し、SMSサービスで署名管理とテンプレート管理を設定します
package com.macro.mall.common.util;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
public class SendSms {
public static void main(String[] args) {
// <accessKeyId>、<accessSecret>上面申请的秘钥
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI5tFtSbNxoSvjBNx8z9BL", "S0eA17aixIf2uz7yIqbHZoMvEEotkX");
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("RegionId", "cn-hangzhou");
request.putQueryParameter("PhoneNumbers", "XX");
request.putQueryParameter("SignName", "XXX");
request.putQueryParameter("TemplateCode", "SMS_XXX");
// 模板中的占位符
request.putQueryParameter("TemplateParam","{\"code\":\""+"XXX"+"\"}");
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}