本文为您介绍在调用DMS API时,如何指定真正的API调用者。若调用API时指定了调用者,且API调用成功后,在DMS会清晰地展示真正操作的用户和代理操作的用户。
背景信息
通常情况下,调用DMS API需要使用阿里云账号或RAM用户提供的AccessKeyId(简称AK)、AccessKeySecret(简称SK),在DMS会记录调用API的账号UID,方便后续进行操作审计。
在特定场景下,存在多个非密钥所属用户共用一组固定的密钥(AK、SK)调用DMS API。DMS仅记录AK、SK所属的用户,而非实际的执行者,从而在审计追踪中难以精准识别每一次操作的实际执行者,给审计流程的有效性和准确性带来挑战。
为了解决上述问题,DMS在部分API中增加了请求参数RealLoginUserUid
,允许您在调用API时指定真正的调用者UID。调用成功后,DMS将展示真正调用API的用户及其账号UID。支持的API,请参见支持的API。
前提条件
进行指定API调用者的阿里云账号需要拥有AssumeUser权限。DMS管理员默认拥有该权限。
AssumeUser属于ABAC(Attribute-Based Access Control)的能力,目前处于灰度内测阶段。如果DMS的普通用户需要使用该能力,可以联系管理员在DMS用户管理中为您添加管理员角色,或直接通过钉钉群(群号:67215001618)联系DMS技术支持。给用户添加角色的操作,请参见编辑用户信息。
支持的API
调用示例
以普通用户B(dmsuser_test)使用管理员账号A(db_doc)调用审批工单API ApproveOrder为例。
以管理员账号A(db_doc)进入OpenAPI门户。
在目标API页面,填写
RealLoginUserUid
参数以及其他相关参数,并单击发起调用。示例填写实际调用API的B(dmsuser_test)的阿里云账号UID。
调用成功后,可前往DMS查看实际操作者的信息。
由下图可见,A(db_doc)扮演B(dmsuser_test)进行了工单审批操作。