in solution/solution-compliance-audit-for-data-plane/source/function/ecs-patch-baseline/index.js [121:154]
async function getOosClient(eventParams, context) {
const { regionId, accountId } = eventParams.invokingEvent.configurationItem;
const { credentials } = context;
// Assume Role 到需要检测的目标账号
const stsClient = new RPCClient({
accessKeyId: credentials.accessKeyId,
accessKeySecret: credentials.accessKeySecret,
securityToken: credentials.securityToken,
endpoint: `https://sts.${regionId}.aliyuncs.com`,
apiVersion: '2015-04-01',
});
const accountCredentials = await stsClient.request(
'AssumeRole',
{
RegionId: regionId,
RoleArn: `acs:ram::${accountId}:role/${eventParams.ruleParameters.configFcExecutionRoleName}`,
RoleSessionName: 'EcsPatchBaselineInspection',
},
requestOption
);
// 构造 oos 服务的 client
const oosClient = new RPCClient({
accessKeyId: accountCredentials.Credentials.AccessKeyId,
accessKeySecret: accountCredentials.Credentials.AccessKeySecret,
securityToken: accountCredentials.Credentials.SecurityToken,
endpoint: `https://oos.${regionId}.aliyuncs.com`,
apiVersion: '2019-06-01',
});
return oosClient;
}