实例RAM角色

Posted 小东子李

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例RAM角色相关的知识,希望对你有一定的参考价值。

实例RAM角色

概述
实例RAM角色允许您将一个角色关联到ECS实例,在实例内部基于STS(Security Token Service)临时凭证访问其他云产品的API,临时凭证将周期性更新。即可以保证云账号AccessKey安全,还可以借助访问控制RAM实现精细化控制和权限管理。
操作步骤
步骤一:创建实例RAM角色
1.云账号登录RAM控制台。
2.在左侧导航栏,单击RAM角色管理。
3.单击创建RAM角色。
4.当前可信实体类型选择为阿里云服务,单击下一步。
在这里插入图片描述
5.选择角色类型为普通服务角色。
6.输入角色名称和备注。
7.选择受信服务为云服务器。
8.单击完成。
在这里插入图片描述
步骤二:为RAM角色授予权限
1.云账号登录RAM控制台。
2.(可选)如果您不使用系统权限,可以参见账号访问控制创建自定义权限策略章节创建一个自定义策略。
3.在左侧导航栏,单击RAM角色管理。
4.在RAM角色名称列表下,单击目标RAM角色名称。
5.在权限管理页签下,单击精确授权。
6.选择权限类型为系统策略或自定义策略。
7.输入策略名称。
8.单击确定。
9.单击关闭。
步骤三:为实例授予RAM角色
1.登录ECS管理控制台。
2.在左侧导航栏,单击实例与镜像 > 实例。
3.在顶部菜单栏左上角处,选择地域。
4.找到要操作的ECS实例,选择更多 > 实例设置 > 授予/ 收回RAM角色。
5.在弹窗中,选择创建好的实例RAM角色,单击确定完成授予。
在这里插入图片描述
更换实例RAM角色
1.登录ECS管理控制台。
2.在左侧导航栏,单击实例与镜像 > 实例。
3.在顶部菜单栏左上角处,选择地域。
4.选择一个已经授予RAM角色的ECS实例,选择更多 > 实例设置 > 授予/收回RAM角色。
5.操作类型选择授予,在已有RAM 角色中选择其他实例RAM角色,单击确定即可更换当前RAM角色。
在这里插入图片描述
收回实例RAM角色
1.登录ECS管理控制台。
2.在左侧导航栏,选择实例与镜像 > 实例。
3.在顶部菜单栏左上角处,选择地域。
4.选择一个已经授予RAM角色的ECS实例,选择更多 > 实例设置 > 授予/收回RAM角色。
5.操作类型选择收回,单击确定即可收回实例RAM角色。
在这里插入图片描述
通过API使用实例RAM角色
步骤一:创建实例RAM角色
调用CreateRole接口创建实例RAM角色。

设置RoleName参数,例如将其值置为EcsRamRoleDocumentTesting。

按如下策略设置参数AssumeRolePolicyDocument:

{
     "Statement": [
     {
         "Action": "sts:AssumeRole",
         "Effect": "Allow",
         "Principal": {
         "Service": [
         "ecs.aliyuncs.com"
         ]
         }
     }
     ],
     "Version": "1"
 }

步骤二:授权实例RAM角色
1.调用CreatePolicy接口新建授权策略。
设置如下参数:
设置RoleName参数,例如 EcsRamRoleDocumentTestingPolicy。
按如下策略设置参数PolicyDocument:

{
     "Statement": [
         {
         "Action": [
             "oss:Get*",
             "oss:List*"
         ],
         "Effect": "Allow",
         "Resource": "*"
         }
     ],
     "Version": "1"
 }

2.调用AttachPolicyToRole接口授权角色策略。
设置如下参数:
设置PolicyType参数为Custom。
设置PolicyName参数,例如EcsRamRoleDocumentTestingPolicy。
设置RoleName参数,例如EcsRamRoleDocumentTesting。
步骤三:授予实例RAM角色
调用AttachInstanceRamRole接口为实例授予RAM角色。
设置如下参数:
设置RegionId及InstanceIds参数指定一个ECS实例。
设置RamRoleName参数,例如EcsRamRoleDocumentTesting。

步骤四:(可选)收回实例RAM角色

调用DetachInstanceRamRole接口收回实例RAM角色。

设置如下参数:
设置RegionId及InstanceIds参数指定一个ECS实例。
设置RamRoleName参数,例如EcsRamRoleDocumentTesting。
步骤五:(可选)获取临时授权Token
您可以获得实例RAM角色的临时授权Token,该临时授权Token可以执行实例RAM角色的权限和资源,并且该临时授权Token会自动周期性地更新。操作步骤如下:

检索名为EcsRamRoleDocumentTesting的实例RAM角色的临时授权Token。
Linux实例:执行命令curl http://100.100.100.200/latest/meta-data/Ram/security-credentials/EcsRamRoleDocumentTesting。
Windows实例:具体操作,请参见实例元数据。
获得临时授权Token。返回示例如下:

{
"AccessKeyId" : "XXXXXXXXX",
"AccessKeySecret" : "XXXXXXXXX",
"Expiration" : "2017-11-01T05:20:01Z",
"SecurityToken" : "XXXXXXXXX",
"LastUpdated" : "2017-10-31T23:20:01Z",
"Code" : "Success"
}

步骤六:(可选)授权RAM用户使用实例RAM角色

{
        "Version": "2016-10-17",
        "Statement": [
            {
            "Effect": "Allow",
            "Action": [
                "ecs: [ECS RAM Action]",
                "ecs: CreateInstance",
                "ecs: AttachInstanceRamRole",
                "ecs: DetachInstanceRAMRole"
            ],
            "Resource": "*"
            },
            {
        "Effect": "Allow",
        "Action": "ram:PassRole",
        "Resource": "*"
            }
        ]
}

账号访问控制RAM.

阿里云官方文档

以上是关于实例RAM角色的主要内容,如果未能解决你的问题,请参考以下文章

创建片段而不从 java 代码实例化它

用户角色 - 添加角色功能 php 片段 - Wordpress

片段事务中的实例化错误

web前端开发JQuery常用实例代码片段(50个)

如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?

创建片段的新实例时菜单未膨胀