composer 安装
创建composer.json的文件,内容如下:
{
"require":{
"qcloud_sts/qcloud-sts-sdk": "3.0.*"
}
}
请查看 demo 示例,里面描述了如何调用SDK。
获取临时密钥接口
字段 | 类型 | 描述 |
---|---|---|
secretId | string | 云 API 密钥 Id |
secretKey | string | 云 API 密钥 key |
durationSeconds | long | 要申请的临时密钥最长有效时间,单位秒,默认 1800,最大可设置 7200 |
bucket | string | 存储桶名称:bucketName-appid, 如 test-125000000 |
region | string | 存储桶所属地域,如 ap-guangzhou |
allowPrefix | string | 资源的前缀,如授予操作所有资源,则为* ;如授予操作某个路径a下的所有资源,则为 a/* ,如授予只能操作特定的文件a/test.jpg, 则为a/test.jpg |
allowActions | array | 授予 COS API 权限集合, 如简单上传操作:name/cos:PutObject |
policy | array | 策略:由 allowActions、bucket、region、allowPrefix字段组成的描述授权的具体信息 |
字段 | 类型 | 描述 |
---|---|---|
credentials | string | 临时密钥信息 |
tmpSecretId | string | 临时密钥 Id,可用于计算签名 |
tmpSecretKey | string | 临时密钥 Key,可用于计算签名 |
sessionToken | string | 请求时需要用的 token 字符串,最终请求 COS API 时,需要放在 Header 的 x-cos-security-token 字段 |
startTime | string | 密钥的起始时间,是 UNIX 时间戳 |
expiredTime | string | 密钥的失效时间,是 UNIX 时间戳 |
{
"expiredTime": 1589258683,
"expiration": "2020-05-12T04:44:43Z",
"credentials": {
"sessionToken": "Biypn6exa48PpMe7wFerEnNMpBKKPQo180c57e0a5275ebae506d7851a85f36a4P0TV5UFR3FYJjsoZA1tk6uRKoDRzc6-60BmwLqdS75OhjHEa7GlVYpL_ofKQJTpPKziKX7FnI10D_6qtLdjzf2NdsyUtQEd5kPpDCOQJZn9-BpleqWQe8oyH_2u7xi2f0FtjCYaoGIZ_lUqlILXQwr0B0t3hLfL4xNE-EmVjUlUXa16HxVCn4_hJetqo9LmI0AgLOjCbYx9aVrsV10eDsRta-TQSIXmJNP3aJ6oz8d8GBTgTE1I2qSFDnv9pjtQKW8HZWI_glPIfmHXCCwAESxEFL_owGz839Va0qYhF6LkfVmsuoU1zNcvJR1w3cIE6izV3SKHaOtWaew3IOervuOPoN3S2oYGNwv2EavtDAWyUBIeI7X6nMVzlpnyJ-3bkIhOq9QVIQAs8wh5A0u9mvKWugT5t6qgyEgvEZSj9k6p-JjwxMgLC6s5uK1i_nnf4fN7ZQ6I-JAfHnH4jEDiVtJgXqfuWPX_vnzskyR2Co6E",
"tmpSecretId": "AKIDTRPc-oe6c_avPSRwFVsPDyy3IoAr3szMajlOGuoEXY1232YLy6j4f-xZ5zL-NBMG",
"tmpSecretKey": "2v29SZztGYk6SGwHYm\/chJXdD3zPRFasmPoJiCmlR\/I="
},
"requestId": "69ef6295-b981-464d-9816-9c2ef92189d1",
"startTime": 1589256883
}
申请扮演角色
字段 | 类型 | 描述 | 必选 |
---|---|---|---|
roleArn | string | 角色的资源描述,可在 访问管理 点击角色名获取。 | 是 |
secretId | string | 云 API 密钥 Id | 是 |
secretKey | string | 云 API 密钥 key | 是 |
endpoint | string | 接入点,内网填写"internal.tencentcloudapi.com",外网填写"tencentcloudapi.com" | 是 |
durationSeconds | long | 要申请的临时密钥最长有效时间,单位秒,默认 1800,最大可设置 7200 | 否 |
bucket | string | 存储桶名称:bucketName-appid, 如 test-125000000 | 是 |
region | string | 存储桶所属地域,如 ap-guangzhou | 是 |
allowPrefix | string | 资源的前缀,如授予操作所有资源,则为* ;如授予操作某个路径a下的所有资源,则为 a/* ,如授予只能操作特定的文件a/test.jpg, 则为a/test.jpg |
是 |
allowActions | array | 授予 COS API 权限集合, 如简单上传操作:name/cos:PutObject | 是 |
policy | array | 策略:由 allowActions、bucket、region、allowPrefix字段组成的描述授权的具体信息 | 否 |
externalId | string | 角色外部ID | 否 |
字段 | 类型 | 描述 |
---|---|---|
credentials | string | 临时密钥信息 |
tmpSecretId | string | 临时密钥 Id,可用于计算签名 |
tmpSecretKey | string | 临时密钥 Key,可用于计算签名 |
sessionToken | string | 请求时需要用的 token 字符串,最终请求 COS API 时,需要放在 Header 的 x-cos-security-token 字段 |
startTime | string | 密钥的起始时间,是 UNIX 时间戳 |
expiredTime | string | 密钥的失效时间,是 UNIX 时间戳 |
{
"Response": {
"Credentials": {
"Token": "da1e9d2ee9dda83506832d5ecb903b790132dfe340001",
"TmpSecretId": "AKID65zyIP0mpXtaI******WIQVMn1umNH58",
"TmpSecretKey": "q95K84wrzuEGoc*******52boxvp71yoh"
},
"ExpiredTime": 1543914376,
"Expiration": "2018-12-04T09:06:16Z",
"RequestId": "4daec797-9cd2-4f09-9e7a-7d4c43b2a74c"
}
}