最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Minio以STS方式獲得臨時(shí)憑據(jù)過程

 更新時(shí)間:2026年01月06日 08:37:38   作者:兔子先生°  
MinIO通過STS(Security Token Service)機(jī)制提供臨時(shí)訪問憑證,提升安全性,臨時(shí)憑證具有時(shí)效性、權(quán)限受限和不可長期持有的特點(diǎn),有效避免長期密鑰泄露和精細(xì)化權(quán)限控制,MinIO兼容AWSS3的STS API,無需額外部署組件,通過創(chuàng)建策略和用戶并綁定策略

前言

在使用對(duì)象存儲(chǔ)服務(wù)(如MinIO)時(shí),安全性始終是首要考慮的問題。直接將長期訪問密鑰(Access Key 和 Secret Key)暴露給前端應(yīng)用或不可信的客戶端,存在極大的安全風(fēng)險(xiǎn)——一旦泄露,攻擊者可能長期非法訪問存儲(chǔ)資源。

為了解決這一問題,MinIO 提供了基于 ??STS(Security Token Service,安全令牌服務(wù))?? 的臨時(shí)憑據(jù)機(jī)制,允許用戶動(dòng)態(tài)獲取具有有限權(quán)限和有效期的臨時(shí)訪問憑證,既滿足業(yè)務(wù)需求,又大幅提升安全性。

一、STS 臨時(shí)憑據(jù)的核心概念

什么是 STS?

STS 是一種安全服務(wù),允許用戶通過調(diào)用接口動(dòng)態(tài)申請(qǐng)臨時(shí)訪問憑證(包括臨時(shí) Access Key、Secret Key 和 Security Token)。這些臨時(shí)憑證具有以下特性:

  • ??時(shí)效性??:默認(rèn)有效期較短(如 15 分鐘~1 小時(shí)),過期后自動(dòng)失效。
  • 權(quán)限受限??:臨時(shí)憑證的權(quán)限由關(guān)聯(lián)的 ??策略(Policy)?? 嚴(yán)格限制,僅能執(zhí)行被明確授權(quán)的操作(例如僅允許上傳到特定 Bucket)。
  • ??不可長期持有??:無法像長期密鑰一樣長期使用,需每次使用時(shí)重新申請(qǐng)。

為什么需要 STS?

  • 避免長期密鑰泄露??:前端應(yīng)用(如 Web/移動(dòng)端)無需直接接觸長期 Access Key,降低因代碼泄露導(dǎo)致的數(shù)據(jù)風(fēng)險(xiǎn)。??
  • 精細(xì)化權(quán)限控制??:通過策略動(dòng)態(tài)定義臨時(shí)憑證的權(quán)限范圍(例如“僅允許上傳圖片到 user-uploads/目錄”)。
  • ??符合最小權(quán)限原則??:臨時(shí)憑證僅授予完成當(dāng)前任務(wù)所需的最小權(quán)限,減少攻擊面

二、MinIO 對(duì) STS 的支持

MinIO 完全兼容 AWS S3 的 STS API(基于 AWS Signature V4),因此可以直接使用 AWS 官方文檔中的 STS 接口規(guī)范(如 AssumeRole)。

MinIO 的 STS 服務(wù)默認(rèn)內(nèi)置于服務(wù)中,無需額外部署組件,只需正確配置即可使用。

關(guān)鍵點(diǎn):

  • MinIO 的 STS 接口地址通常與主服務(wù)一致(如 http://minio.example.com),通過特定路徑(如 /sts)訪問。
  • 需要為 STS 操作配置一個(gè) ??角色(Role)?? 或 ??策略模板??,用于定義臨時(shí)憑證的權(quán)限。
  • 客戶端通過調(diào)用 AssumeRole接口(或其他 STS 接口,如 GetFederationToken),傳入角色信息及可選參數(shù)(如會(huì)話名稱),獲取臨時(shí)憑證。

三、配置

1.創(chuàng)建策略


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}

2.創(chuàng)建用戶,綁定策略


3.通過Java 獲得憑據(jù)

    public CredentialsToken getCredentials() {
        try {
            AssumeRoleProvider provider = new AssumeRoleProvider(OssConfiguration.endpoint, OssConfiguration.stsUser,
                    OssConfiguration.stsPassword, Math.toIntExact(OssConfiguration.expire),
                    null, OssConfiguration.region, null, null, null, null);
            Credentials credential = provider.fetch();
            return new CredentialsToken(credential.accessKey(), credential.secretKey(), credential.sessionToken(), OssConfiguration.expire);
        } catch (NoSuchAlgorithmException e) {
            log.debug("Failed to obtain sts.");
            e.printStackTrace();
        }
        return null;
    }

總結(jié)

通過 MinIO 的 STS 機(jī)制,開發(fā)者可以安全地實(shí)現(xiàn)“按需授權(quán)、臨時(shí)訪問”的對(duì)象存儲(chǔ)方案,有效平衡業(yè)務(wù)靈活性與數(shù)據(jù)安全性。

無論是前端直傳、第三方集成還是多租戶場景,STS 都是推薦的實(shí)踐方式。結(jié)合自定義策略和合理的有效期設(shè)置,能夠進(jìn)一步降低安全風(fēng)險(xiǎn),構(gòu)建可靠的云存儲(chǔ)架構(gòu)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot使用filter獲取自定義請(qǐng)求頭的實(shí)現(xiàn)代碼

    springboot使用filter獲取自定義請(qǐng)求頭的實(shí)現(xiàn)代碼

    這篇文章主要介紹了springboot使用filter獲取自定義請(qǐng)求頭的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Spring Data JPA 簡單查詢--方法定義規(guī)則(詳解)

    Spring Data JPA 簡單查詢--方法定義規(guī)則(詳解)

    下面小編就為大家?guī)硪黄猄pring Data JPA 簡單查詢--方法定義規(guī)則(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • java文件操作工具類

    java文件操作工具類

    這篇文章主要為大家介紹了一個(gè)非常詳細(xì)的java文件操作工具類,具有很強(qiáng)的實(shí)用性,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Spring @Lookup深入分析實(shí)現(xiàn)原理

    Spring @Lookup深入分析實(shí)現(xiàn)原理

    這篇文章主要介紹了Spring @Lookup實(shí)現(xiàn)原理,我們知道在spring容器中單獨(dú)的一個(gè)抽象類是不能成為一個(gè)bean的,那么有沒有辦法呢?這個(gè)時(shí)候我們可以使用Lookup注解
    2023-01-01
  • Java源碼解析CopyOnWriteArrayList的講解

    Java源碼解析CopyOnWriteArrayList的講解

    今天小編就為大家分享一篇關(guān)于Java源碼解析CopyOnWriteArrayList的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • JavaWeb的監(jiān)聽器和過濾器你了解嗎

    JavaWeb的監(jiān)聽器和過濾器你了解嗎

    這篇文章主要為大家詳細(xì)介紹了JavaWeb的監(jiān)聽器和過濾器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Knife4j文檔請(qǐng)求異常問題及解決過程

    Knife4j文檔請(qǐng)求異常問題及解決過程

    解決再學(xué)習(xí)黑馬蒼穹外賣項(xiàng)目Swagger時(shí)遇到的Knife4j請(qǐng)求異常問題,通過自檢、檢查SpringBoot版本兼容性、更改項(xiàng)目SpringBoot版本和啟動(dòng)項(xiàng)目等步驟,最終成功解決并訪問到Swagger接口頁面
    2026-05-05
  • Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例

    Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例

    這篇文章主要介紹了Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例,本文講解了使用BLOB類型保存和讀取圖片的代碼實(shí)例,需要的朋友可以參考下
    2015-06-06
  • @PathVariable和@RequestParam傳參為空問題及解決

    @PathVariable和@RequestParam傳參為空問題及解決

    這篇文章主要介紹了@PathVariable和@RequestParam傳參為空問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java Swing JSlider滑塊的實(shí)現(xiàn)示例

    Java Swing JSlider滑塊的實(shí)現(xiàn)示例

    這篇文章主要介紹了Java Swing JSlider滑塊的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論

鄂托克前旗| 庆安县| 周口市| 原阳县| 正蓝旗| 卫辉市| 遂平县| 宜兰县| 利津县| 周至县| 松原市| 韶关市| 永德县| 吐鲁番市| 平原县| 凤庆县| 钟祥市| 合江县| 南漳县| 甘南县| 漠河县| 榆树市| 平罗县| 拉萨市| 凤山县| 剑河县| 浏阳市| 麻阳| 合阳县| 大竹县| 博白县| 当涂县| 时尚| 瓮安县| 姜堰市| 巴林右旗| 广水市| 手游| 安仁县| 申扎县| 麦盖提县|