ecs的ExportSnapshot调用一直报错InvalidUser.NotInWhiteList[阿里云服务器]

ecs的ExportSnapshot调用一直报错InvalidUser.NotInWhiteList

用go的sdk
github.com/aliyun/alibaba-cloud-sdk-go/services/ecs

ak/sk的账户权限给了AdministratorAccess

然后创建的oss桶也给了所有用户完全访问权限

代码如下

有大佬知道怎么解决吗

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
5 条回复 A 作者 M 管理员
  1. 这个错误通常表示您的AWS账户不在导出快照的允许用户列表中。在AWS控制台中,转到IAM(身份和访问管理)服务,并检查您的用户或角色是否具有导出快照的权限。在导出快照的API调用中,您需要提供要导出的快照的ID。

  2. 楼主你好,这个错误代表您的用户还没有被添加到ECS快照导出服务的白名单中。您需要在阿里云管理控制台中将这个用户添加到白名单中,具体操作如下:

    1. 登录阿里云管理控制台,选择“RAM”服务,进入“用户管理”页面。

    2. 找到要添加到ECS快照导出服务的白名单中的用户,点击该用户的“编辑”按钮。

    3. 进入“基本信息”页面,找到“权限策略”选项,点击“编辑”。

    4. 在“编辑权限策略”页面搜索“ExportSnapshot”,找到该服务的权限策略,并勾选。

    5. 点击“确认”保存更改。

    6. 返回ECS控制台,尝试重新导出快照。

    如果您仍然遇到同样的错误,请检查您的SDK是否正确设置了AK/SK,并选择正确的地域和实例ID。建议您通过阿里云CLI或控制台手动导出快照,以确认您的AK/SK和权限配置是否正确。

  3. 根据您提供的信息,您使用的是阿里云的Go SDK进行ECS的操作,但在调用ExportSnapshot接口时遇到了”InvalidUser.NotInWhiteList”的错误。

    这个错误通常表示您的账户没有在白名单中,因此无法执行此操作。要解决这个问题,您可以尝试以下几个步骤:

    1. 确保您使用的是正确的AccessKey和SecretKey。您可以在阿里云控制台的”访问控制”中的”AccessKey管理”中获取到正确的AK/SK。

    2. 确保您的AK/SK拥有足够的权限。在您提到的情况下,您已经给予了AdministratorAccess权限,这应该足够了。但请确保您没有其他的权限策略限制了您的操作。

    3. 确保您的ECS资源和OSS桶在同一个区域。如果您的ECS实例和OSS桶不在同一个区域,可能会导致调用ExportSnapshot接口失败。

  4. InvalidUser.NotInWhiteList 错误通常表示用户没有在白名单中,无法执行指定的操作。这可能是因为您没有在阿里云管理控制台上设置正确的白名单规则,或者您的账号权限不足以执行导出快照操作。

    在阿里云管理控制台上,进入相应的 ECS 实例,然后在安全组中设置白名单规则,允许您的 IP 地址或者子网掩码访问 ECS 实例;
    检查您的账号是否具有执行导出快照操作的权限;
    如果以上方法都无法解决,可以联系阿里云客服协助解决。

  5. 报错信息是”InvalidUser.NotInWhiteList”,这通常表示您使用的AK/SK(Access Key/Secret Key)没有在阿里云的白名单中或者是用户没有权限。

    使用阿里云账号访问RAM访问控制,授予ECS对OSS资源的访问权限(即ECS通过扮演AliyunECSImageExportDefaultRole角色获得该权限)。

    使用阿里云账号登录RAM控制台。

    在左侧导航栏,选择身份管理 > 用户。

    在用户页面,单击目标RAM用户操作列的添加权限。

    在添加权限面板,为RAM用户添加权限。

    选择授权应用范围。

    整个云账号:权限在当前阿里云账号内生效。

    指定资源组:权限在指定的资源组内生效。

    说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务。
    输入授权主体。

    授权主体即需要添加权限的RAM用户。

    选择权限策略。

    权限策略包括系统策略和自定义策略两种,您可以根据需要选择对应的权限策略。

    说明 每次最多绑定5条策略,如需绑定更多策略,请分多次操作。
    单击确定。

    单击完成。

  6. 您好,根据错误提示InvalidUser.NotInWhiteList来看的话还是说您操作的用户权限问题,使用阿里云账号访问RAM访问控制,授予ECS对OSS资源的访问权限(即ECS通过扮演AliyunECSImageExportDefaultRole角色获得该权限)。
    如果您需要通过阿里云账号创建OSS Bucket,通过RAM用户导出自定义镜像,则仅需要为RAM用户授予OSS Bucket的读权限

    如果您需要通过RAM用户创建OSS Bucket和导出自定义镜像,则需要为RAM用户授予OSS Bucket的读写权限

    详细内容可以参考文档:文档