阿里云sts结合kms服务
阿里云的sts集合kms服务1.服务需要每次先请求临时的keyid和secret以及token,然后用其来获得加密文件的所需密钥。由于不能讲原始的key等机密数据始终携带在代码中,所以才去机器授权的方式,当请求从该服务器来的时候,阿里云的sts服务就给提供临时的key和secret。所以采取以下的阿里云服务:实例RAM角色允许您将一个角色关联到ECS实例,在实例内部基于STS(Secur...
·
阿里云的sts集合kms服务
1.服务需要每次先请求临时的keyid和secret以及token,然后用其来获得加密文件的所需密钥。
由于不能将原始的key等机密数据始终携带在代码中,所以才去机器授权的方式,当请求从该服务器来的时候,阿里云的sts服务就给提供临时的key和secret。所以采取以下的阿里云服务:
实例RAM角色允许您将一个角色关联到ECS实例,在实例内部基于STS(Security Token Service)临时凭证(临时凭证将周期性更新)访问其他云产品的API。一方面可以保证AccessKey安全,另一方面也可以借助RAM实现权限的精细化控制和管理。
1.1.服务的ram角色创建
云账号登录RAM控制台。
在左侧导航栏,单击RAM角色管理。
单击新建RAM角色,选择可信实体类型为阿里云服务,单击下一步。
输入角色名称和备注。
选择受信服务为云服务器。
单击完成。
1.2.ram角色授权策略
云账号登录RAM控制台。
(可选)如果您不使用系统权限,可以参见账号访问控制创建自定义权限策略章节创建一个自定义策略。()
在左侧导航栏,单击RAM角色管理。
在RAM角色名称列表下,单击目标RAM角色名称。
在权限管理页签下,单击精确授权。
选择权限类型为系统策略或自定义策略。
输入策略名称。
单击确定。
单击关闭。
例子,该角色能访问的资源以及权限:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketStat",
"oss:GetBucketInfo",
"oss:GetBucketTagging",
"oss:GetBucketAcl"
],
"Resource": [
"acs:oss:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:GetObjectAcl"
],
"Resource": [
"acs:oss:*:*:system-test/*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:system-test"
]
}
]
}
例子,该角色能使用的kms服务的授权:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": [
"acs:kms:cn-beijing:1570893*******" (资源的arn)
],
"Condition": {}
}
]
}
==
注: 以上两个策略可以整合
==
1.3.ram角色实例授予
登录ECS管理控制台。
在左侧导航栏,单击实例与镜像 > 实例。
在顶部状态栏左上角处,选择地域。
找到要操作的ECS实例,选择更多 > 实例设置 > 授予/收回RAM角色。
1.4.实际使用中,生产环境里面使用阿里云提供的借口来调用sts服务
curl http://100.100.100.200/latest/meta-data/Ram/security-credentials/role名
1.5.官方链接
阿里云的文档链接:
https://help.aliyun.com/document_detail/61175.html?spm=a2c4g.11186623.6.867.735c5d5acTiUAZ
https://help.aliyun.com/document_detail/61178.html?spm=a2c4g.11186623.6.873.1227444fG2OgeX
2.0.aliyun的kms服务使用
在阿里云控制台搜索:密钥管理服务 即可开通,密钥ID即是所需的主ID,并非是版本ID,
3.0.测试的实际应用情况
测试的时候需要本地调试,但是获取的sts服务需要在某服务器上,所以需要本地通过代理去获得sts提供临时key。故在nginx的配置中,新加一个域名,使得最终的请求从特定机器上获得的临时key和token:
设置域名,同时将location配置如下:
server_name stage-*.***.net;
location /latest/meta-data/Ram/security-credentials/Role名 {
proxy_next_upstream error timeout http_503 http_502 http_504;
proxy_pass http://100.100.100.200/latest/meta-data/Ram/security-credentials/PIIsystemRole;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
}
在阿里云上做好域名解析即可
相关文档链接
https://help.aliyun.com/document_detail/131058.html?spm=a2c4g.11186623.6.574.1d5a4a3fzN284i
https://help.aliyun.com/document_detail/100624.html?spm=a2c4g.11186623.2.10.481a412fkHmJz3#concept-xzh-nzk-2gb
更多推荐
所有评论(0)