日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

跨賬號STS Token方式調用

本文向您介紹如何通過STS Token配置的方式實現風險識別產品的跨賬號使用。

STS Token應用場景

STS Token可以支持跨賬號使用風險識別產品,一個典型的場景是:同一個客戶的A賬號購買了風險識別流量包,而在正式使用時,其期望通過B賬號發起請求,此時可以通過角色扮演調用。這樣做的好處是滿足了跨賬號調用的同時,保護了A賬號的AK信息。

STS Token配置方式

以上述場景為例,首先需要客戶登錄已購買的A賬號,并對B賬號進行權限配置,才能實現跨賬號調用。

1. 登錄已購買的賬號A。

2. 新建角色

選擇可信實體類型為阿里云賬號,設置角色名稱、并填寫B賬號為信任的云賬號。創建角色

3. 為角色授權

在角色創建成功頁面,點擊為角色授權。添加權限值:AliyunYundunSAFFullAccess。添加權限

4. 獲取角色ARN

點擊角色名,進入角色詳情展示頁,復制右側ARN信息。ARN信息在B賬號調用時需要使用,請妥善保管。決策信息

至此,B賬號已經可以通過主賬號調用風險識別產品了。若需要授權B賬號的子賬號進行調用,則還需要開通子賬號的STS調用權限,授權策略為:AliyunSTSAssumeRoleAccess。STS授權

STS Token調用代碼Demo

1. 獲取STS調用信息

public static AssumeRoleResponse.Credentials getSTSToken() throws Exception {
    String stsRegionId = "cn-shanghai";
    // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
    // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
    // 本示例通過從環境變量中讀取B賬號的RAM用戶AccessKey,來實現API訪問的身份驗證。運行本示例代碼前,請確認配置這兩個環境變量:ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    String bAccessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
    String bAccessSecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
    IClientProfile profile = DefaultProfile.getProfile(stsRegionId, bAccessId, bAccessSecret);
    IAcsClient client = new DefaultAcsClient(profile);
    AssumeRoleRequest request = new AssumeRoleRequest();
    // 指定請求方法
    request.setSysMethod(com.aliyuncs.http.MethodType.POST);
    request.setAcceptFormat(FormatType.JSON);
    // 獲取方式詳細見步驟1.3
    request.setRoleArn("{your_role_ARN}");
    // A賬號的主賬號ID
    request.setRoleSessionName("{account_A_main_user_id}");
    AssumeRoleResponse httpResponse = client.getAcsResponse(request);
    return httpResponse.getCredentials();
}

2. 通過STS Token方式調用

AssumeRoleResponse.Credentials credentials = getSTSToken();
IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", credentials.getAccessKeyId(), credentials.getAccessKeySecret(), credentials.getSecurityToken());