结合KMS服务
KMS服务内置了对QingTian Enclave证明的支持。通过使用QingTian Enclave SDK中包含的KMS API,您可以在QingTian Enclave实例中基于QingTian Enclave证明来执行KMS操作,比如解密、生成随机数和加密等操作。KMS服务提取来自QingTian Enclave的证明文档并根据预设的IAM授权策略对其进行访问权限控制。
比如,如下是一个IAM授权策略的举例。该授权策略允许调用KMS的解密数据或解密数据密钥功能API,但限制条件是要求请求者必须在QingTian Enclave环境中运行,且Enclave的度量值PCR0和PCR8都必须和指定的PCR值相同。
设置IAM授权策略成功导出的json信息如下:
{
"Version": "1.1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:cmk:decrypt",
"kms:dek:decrypt"
],
"Resource": "*",
"Condition": {
"StringEqualsIgnoreCase": {
"kms:RecipientAttestation/PCR0": [
"c5158cb6ee9dbb0ead648c3dc80e472c85e0d67f19fb53fbd3fb94c3371aec63cdb93b80d727a7084248873b1d8e8b41"
],
"kms:RecipientAttestation/PCR8": [
"705afb1012d27f4e07a25e674e6a17dec57305e29cd412184b7bcb78d9e67f16a0cc26d8706a4fab418a5da5788bc949"
]
}
}
}
]
}
json信息说明:
- Action:对应身份策略内容的操作。
- Resource:该身份策略可以获取的资源。
- *:表示所有资源均可获取。
- Condition:请求条件。使用QingTian Enclave时支持使用PCR0、PCR3、PCR4、PCR8的任意组合作为请求条件,示例中使用的是PCR0和PCR8。
创建用户组的操作指导,请参见:创建用户组并授权
创建自定义策略的操作指导,请参见:创建自定义策略