當前位置:首頁 » 雲伺服器 » 亞馬遜雲伺服器怎麼用密鑰登錄

亞馬遜雲伺服器怎麼用密鑰登錄

發布時間: 2024-09-13 16:50:57

⑴ 如何實現用戶認證授權系統

1、首先打開I電腦桌面,單擊此電腦右鍵選擇屬性按鈕。

⑵ 亞馬遜雲科技防火牆管理系統的優勢是什麼

在安全與數據穩私保護方面,亞馬遜雲科技一直秉承客戶擁有和控制數據的理念,由客戶來控制自己的數據,並且提供復雜的技術和物理措施來防止未經授權的訪問。此外,亞馬遜雲科技還堅持安全責任共擔,亞馬遜雲科技負責主機操作系統、虛擬化層、物理基礎設施的安全,客戶負責上層操作系統以及相關應用程序的安全,負責配置亞馬遜雲科技提供的安全組防火牆,通過安全責任共擔,集合多方面的力量,共同應對雲安全威脅。亞馬遜雲科技的雲安全五大優勢可以幫助用戶有效應對愈加復雜且嚴峻的雲安全挑戰。
(一)打造雲端深度可視化和控制力,實現擴展安全
在每一個IT環境內,可視化是確保安全性的關鍵所在。亞馬遜雲科技用戶可以控制數據的存儲位置、有權訪問用戶在任何給定時刻消耗的資源。如每一位亞馬遜雲科技用戶都有一個用於確保亞馬遜雲科技賬戶安全性的秘密訪問密鑰和訪問密鑰ID,使用一個亞馬遜雲科技安全令牌服務就可以向一個賬號授予臨時訪問許可權。另外,亞馬遜雲科技身份和訪問管理服務還提供了基於角色的訪問,用戶和應用程序都被賦予了預定義的角色,非常有助於控制對特定資源和應用程序的訪問。
亞馬遜雲科技還提供多元的身份驗證選項,還可實現合規性檢查的自動化,可以捕獲資源的當前狀態和跟蹤變更,然後向用戶警告那些不符合亞馬遜雲科技安全性最佳實踐的變更。通過使用安全自動化和活動監控服務,來檢測整個生態系統中的可疑安全事件,從而實現擴展安全。
(二)通過深度集成的服務實現自動化並降低風險
眾所周知,雲端自動化部署服務一直深受用戶歡迎,創建一個自動化和可重復的部署流程能夠提升業務配置效率,並且有效地擴展和升級。執行安全任務的流程也是如此,實現自動化可以通過減少人工配置錯誤,將工作人員從日常繁瑣的工作和加班中解放出來,從而有更多的精力和時間投入到安全業務的創新之中。亞馬遜雲科技為各種應用場景提供了不同的解決方案,針對的應用場景不同,這些服務的關注點也不同。用戶可以從各種深度集成的解決方案中進行選擇然後重新組合,讓其以新穎的方式自動執行任務,從而加強安全團隊與其他團隊密切合作,以便更高效安全地完成工作。
以機器學習為例,在傳統的機器學習中,用戶通過自己搭建模型訓練數據需要耗費大量的時間成本和人力成本,而通過亞馬遜雲科技控制台,開發人員只需要將訓練所需的數據上傳,便能自動以幾十種不同的訓練模型建立機器學習任務自動訓練,還可以自動連續地發現、分類和保護亞馬遜雲科技中的敏感數據,並給出可視化結果,節省了大量的開發成本,並且迅速提升了數據保護能力。
(三)以最高的隱私和數據安全標准進行構建
數據不僅是數字經濟的關鍵要素,也是信息時代重要的生產要素,數據安全更是被上升為與國家安全同等重要的地位。對於企業而言,數據安全也是其持續發展的基礎。大量企業的數據存在雲端,數據安全面臨著十分嚴峻的挑戰。亞馬遜雲科技針對用戶對數據安全的擔憂,組建了一支世界一流的安全專家團隊,並構建了全天候監控系統。此外,亞馬遜雲科技還擁有全球雲基礎設施,這個高安全性、高擴展性和高可靠性的雲平台可提供來自全球數據中心的175 多種功能全面的服務,用戶可以在平台上加密、移動以及管理保留自己的數據。另外,在數據中心和區域互連的亞馬遜雲科技全球網路中,所有的數據流動在離開亞馬遜雲科技的安全設施之前,都經過物理層自動加密。
另外,亞馬遜雲科技全球基礎設施可以讓用戶完全控制數據實際所在的區域。比如亞馬遜雲科技將物理數據中心分為多個邏輯單元,這些邏輯單元稱為「可用區」,把可用區想像成一個邏輯數據中心。數據中心通過完全冗餘的專用低延遲連接相互連接,然後把多個可用區域組成一個亞馬遜雲科技區域,但是它們在物理上是彼此分開並相互隔離的,因此,如果一個可用區出現故障,其他可用區不會受到影響,從而確保了數據安全性,並滿足了用戶數據駐留要求。
(四)更繁榮的安全合作夥伴和解決方案生態系統
當前,越來越多的企業需要在雲上構建更敏捷、更彈性和更安全的企業IT系統。為了更好的提升用戶的體驗,解決用戶上雲的安全擔憂,亞馬遜雲科技通過使用用戶了解和信任的熟悉解決方案提供商提供的安全技術和咨詢服務來擴展自身的優勢。因此,亞馬遜雲科技在逐步壯大合作夥伴生態系統,與百家APN合作夥伴開展聯合解決方案,重點覆蓋了金融、製造、汽車、零售與電商、醫療與生命科學、媒體、教育、游戲、能源與電力九大行業。尤其在安全領域,亞馬遜雲科技精心挑選了具有深厚專業知識和經過證實的成功經驗的提供商,構建了端到端的解決方案和服務,以確保雲採用的每個階段的安全及合規。亞馬遜雲科技的APN合作夥伴提供了幾百個工具和功能,涵蓋網路安全、配置管理、訪問控制和數據加密的方方面面,以幫助亞馬遜雲科技用戶實現安全目的。
(五)繼承最為全面的安全性與合規性控制
雲計算作為一種新興服務模式,已經成為企業發展的關鍵因素,使用雲計算,可以讓其擺脫數據中心、節省成本、加快遷移速度,並且享受雲上的無限資源,但是在此過程中,面臨著一個重要問題就是要滿足安全合規要求。為了幫助用戶實現合規,亞馬遜雲科技會定期對數千個全球合規性要求進行第三方驗證,並進行持續監控,同時還不斷加強用戶自己的合規性和認證計劃。亞馬遜雲科技支持數十種安全標准和合規性認證,滿足全球幾乎所有監管機構的合規性要求。

⑶ 深入理解Spring Cloud Security OAuth2及JWT

OAuth2是一個關於授權的開放標准,核心思路是通過各類認證手段(具體什麼手段OAuth2不關心)認證用戶身份,並頒發token(令牌),使得第三方應用可以使用該令牌在 限定時間 限定范圍 訪問指定資源。主要涉及的RFC規范有 RFC6749 (整體授權框架), RFC6750 (令牌使用), RFC6819 (威脅模型)這幾個,一般我們需要了解的就是 RFC6749 。獲取令牌的方式主要有四種,分別是 授權碼模式 , 簡單模式 , 密碼模式 和 客戶端模式 ,如何獲取token不在本篇文章的討論范圍,我們這里假定客戶端已經通過某種方式獲取到了access_token,想了解具體的oauth2授權步驟可以移步阮一峰老師的 理解OAuth 2.0 ,裡面有非常詳細的說明。

這里要先明確幾個OAuth2中的幾個重要概念:

明確概念後,就可以看OAuth2的協議握手流程,摘自RFC6749

Spring Security是一套安全框架,可以基於RBAC(基於角色的許可權控制)對用戶的訪問許可權進行控制,核心思想是通過一系列的filter chain來進行攔截過濾,以下是ss中默認的內置過濾器列表,當然你也可以通過 custom-filter 來自定義擴展filter chain列表

這裡面最核心的就是 FILTER_SECURITY_INTERCEPTOR ,通過 來進行資源許可權的匹配, AccessDecisionManager 來執行訪問策略。

一般意義來說的應用訪問安全性,都是圍繞認證(Authentication)和授權(Authorization)這兩個核心概念來展開的。即首先需要確定用戶身份,在確定這個用戶是否有訪問指定資源的許可權。認證這塊的解決方案很多,主流的有 CAS 、 SAML2 、 OAUTH2 等(不巧這幾個都用過-_-),我們常說的單點登錄方案(SSO)說的就是這塊,授權的話主流的就是spring security和shiro。shiro我沒用過,據說是比較輕量級,相比較而言spring security確實架構比較復雜。

將OAuth2和Spring Security集成,就可以得到一套完整的安全解決方案。

為了便於理解,現在假設有一個名叫「臉盆網」的社交網站,用戶在首次登陸時會要求導入用戶在facebook的好友列表,以便於快速建立社交關系。具體的授權流程如下:

不難看出,這個假設的場景中,臉盆網就是第三方應用(client),而facebook既充當了認證伺服器,又充當了資源伺服器。這個流程裡面有幾個比較重要的關鍵點,我需要重點說一下,而這也是其他的涉及spring security與OAuth2整合的文章中很少提及的,很容易雲里霧里的地方。

細心的同學應該發現了,其實在標準的OAuth2授權過程中,5、6、8這幾步都不是必須的,從上面貼的 RFC6749 規范來看,只要有1、2、3、4、7這幾步,就完成了被保護資源訪問的整個過程。事實上, RFC6749 協議規範本身也並不關心用戶身份的部分,它只關心token如何頒發,如何續簽,如何用token訪問被保護資源(facebook只要保證返回給臉盆網的就是當前用戶的好友,至於當前用戶是誰臉盆網不需要關心)。那為什麼spring security還要做5、6這兩步呢?這是因為spring security是一套完整的安全框架,它必須關心用戶身份!在實際的使用場景中,OAuth2一般不僅僅用來進行被保護資源的訪問,還會被用來做單點登陸(SSO)。在SSO的場景中,用戶身份無疑就是核心,而token本身是不攜帶用戶信息的,這樣client就沒法知道認證伺服器發的token到底對應的是哪個用戶。設想一下這個場景,臉盆網不想自建用戶體系了,想直接用facebook的用戶體系,facebook的用戶和臉盆網的用戶一一對應(其實在很多中小網站現在都是這種模式,可以選擇使用微信、QQ、微博等網站的用戶直接登陸),這種情況下,臉盆網在通過OAuth2的認證後,就希望拿到用戶信息了。所以現在一般主流的OAuth2認證實現,都會預留一個用戶信息獲取介面,就是上面提到的 https://api.facebook.com/user (雖然這不是OAuth2授權流程中必須的),這樣client在拿到token後,就可以攜帶token通過這個介面獲取用戶信息,完成SSO的整個過程。另外從用戶體驗的角度來說,如果獲取不到用戶信息,則意味者每次要從臉盆網訪問facebook的資源,都需要重定向一次進行認證,用戶體驗也不好。

首先要明確一點, OAuth2並不是一個SSO框架,但可以實現SSO功能 。以下是一個使用github作為OAuth2認證伺服器的配置文件

可以看到 accessTokenUri 和 userAuthorizationUri 都是為了完成OAuth2的授權流程所必須的配置,而 userInfoUri 則是spring security框架為了完成SSO所必須要的。所以總結一下就是: 通過將用戶信息這個資源設置為被保護資源,可以使用OAuth2技術實現單點登陸(SSO),而Spring Security OAuth2就是這種OAuth2 SSO方案的一個實現。

Spring Security在調用user介面成功後,會構造一個 OAuth2Authentication 對象,這個對象是我們通常使用的 對象的一個超集,裡面封裝了一個標準的 ,同時在 detail 中還攜帶了OAuth2認證中需要用到的一些關鍵信息(比如 tokenValue , tokenType 等),這時候就完成了SSO的登陸認證過程。後續用戶如果再想訪問被保護資源,spring security只需要從principal中取出這個用戶的token,再去訪問資源伺服器就行了,而不需要每次進行用戶授權。這里要注意的一點是 此時瀏覽器與client之間仍然是通過傳統的cookie-session機制來保持會話,而非通過token。實際上在SSO的過程中,使用到token訪問的只有client與resource server之間獲取user信息那一次,token的信息是保存在client的session中的,而不是在用戶本地 。這也是之前我沒搞清楚的地方,以為瀏覽器和client之間也是使用token,繞了不少彎路,對於Spring Security來說, 不管是用cas、saml2還是Oauth2來實現SSO,最後和用戶建立會話保持的方式都是一樣的

根據前面所說,大家不難看出,OAuth2的SSO方案和CAS、SAML2這樣的純SSO框架是有本質區別的。在CAS和SAML2中,沒有資源伺服器的概念,只有認證客戶端(需要驗證客戶信息的應用)和認證伺服器(提供認證服務的應用)的概念。在CAS中這叫做 cas-client 和 cas-server ,SAML2中這叫做 Service Providers 和 Identity Provider ,可以看出CAS、SAML2規范天生就是為SSO設計的,在報文結構上都考慮到了用戶信息的問題(SAML2規范甚至還帶了許可權信息),而OAuth2本身不是專門為SSO設計的,主要是為了解決資源第三方授權訪問的問題,所以在用戶信息方面,還需要額外提供一個介面。

臉盆網的這個例子中,我們看到資源伺服器和認證伺服器是在一起的(都是facebook),在互聯網場景下一般你很難找到一個獨立的、權威的、第三方的認證中心(你很難想像騰訊的QQ空間通過支付寶的認證中心去授權,也很難想像使用谷歌服務要通過亞馬遜去授權)。但是如果是在公司內部,這種場景其實是很多的,尤其在微服務架構下,有大量服務會對外提供資源訪問,他們都需要做許可權控制。那麼最合理的當然就是建立一個統一的認證中心,而不是每個服務都做一個認證中心。我們前面也介紹了,token本身是不攜帶用戶信息的,在分離後resouce server在收到請求後,如何檢驗token的真實性?又如何從token中獲取對應的用戶信息?這部分的介紹網上其實非常少,幸好我們可以直接從官方文檔獲取相關的蛛絲馬跡,官方文檔對於resouce server的配置是這樣描述的:

寥寥數語,但已經足夠我們分析了。從這個配置可以看出,client在訪問resource server的被保護資源時,如果沒有攜帶token,則資源伺服器直接返回一個401未認證的錯誤

如果攜帶了token,則資源伺服器會使用這個token向認證伺服器發起一個用戶查詢的請求,若token錯誤或已經失效,則會返回

若token驗證成功,則認證伺服器向資源伺服器返回對應的用戶信息,此時resource server的spring security安全框架就可以按照標準的授權流程進行訪問許可權控制了。

從這個流程中我們可以看出,通過OAuth2進行SSO認證,有一個好處是做到了 認證與授權的解耦 。從日常的使用場景來說,認證比較容易做到統一和抽象,畢竟你就是你,走到哪裡都是你,但是你在不同系統裡面的角色,卻可能千差萬別(家裡你是父親,單位里你是員工,父母那裡你是子女)。同時角色的設計,又是和資源伺服器的設計強相關的。從前面的配置中不難發現,如果希望獲得為不同資源伺服器設計的角色,你只需要替換 https://api.facebook.com/user 這個配置就行了,這為我們的許可權控制帶來了更大的靈活性,而這是傳統的比如SAML2這樣的SSO框架做不到的。

終於來到了著名的JWT部分了,JWT全稱為Json Web Token,最近隨著微服務架構的流行而越來越火,號稱新一代的認證技術。今天我們就來看一下,jwt的本質到底是什麼。

我們先來看一下OAuth2的token技術有沒有什麼痛點,相信從之前的介紹中你也發現了,token技術最大的問題是 不攜帶用戶信息 ,且資源伺服器無法進行本地驗證,每次對於資源的訪問,資源伺服器都需要向認證伺服器發起請求,一是驗證token的有效性,二是獲取token對應的用戶信息。如果有大量的此類請求,無疑處理效率是很低的,且認證伺服器會變成一個中心節點,對於SLA和處理性能等均有很高的要求,這在分布式架構下是很要命的。

JWT就是在這樣的背景下誕生的,從本質上來說,jwt就是一種 特殊格式 的token。普通的oauth2頒發的就是一串隨機hash字元串,本身無意義,而jwt格式的token是有特定含義的,分為三部分:

這三部分均用base64進行編碼,當中用 . 進行分隔,一個典型的jwt格式的token類似 xxxxx.yyyyy.zzzzz 。關於jwt格式的更多具體說明,不是本文討論的重點,大家可以直接去官網查看 官方文檔 ,這里不過多贅述。

相信看到簽名大家都很熟悉了,沒錯,jwt其實並不是什麼高深莫測的技術,相反非常簡單。認證伺服器通過對稱或非對稱的加密方式利用 payload 生成 signature ,並在 header 中申明簽名方式,僅此而已。通過這種本質上極其傳統的方式,jwt可以實現 分布式的token驗證功能 ,即資源伺服器通過事先維護好的對稱或者非對稱密鑰(非對稱的話就是認證伺服器提供的公鑰),直接在本地驗證token,這種去中心化的驗證機制無疑很對現在分布式架構的胃口。jwt相對於傳統的token來說,解決以下兩個痛點:

在上面的那個資源伺服器和認證伺服器分離的例子中,如果認證伺服器頒發的是jwt格式的token,那麼資源伺服器就可以直接自己驗證token的有效性並綁定用戶,這無疑大大提升了處理效率且減少了單點隱患。

就像布魯克斯在《人月神話》中所說的名言一樣:「沒有銀彈」。JWT的使用上現在也有一種誤區,認為傳統的認證方式都應該被jwt取代。事實上,jwt也不能解決一切問題,它也有適用場景和不適用場景。

適用場景:

這些場景能充分發揮jwt無狀態以及分布式驗證的優勢

不適用的場景:

不要試圖用jwt去代替session。 這種模式下其實傳統的session+cookie機制工作的更好,jwt因為其無狀態和分布式,事實上只要在有效期內,是無法作廢的,用戶的簽退更多是一個客戶端的簽退,服務端token仍然有效,你只要使用這個token,仍然可以登陸系統。另外一個問題是續簽問題,使用token,無疑令續簽變得十分麻煩,當然你也可以通過redis去記錄token狀態,並在用戶訪問後更新這個狀態,但這就是硬生生把jwt的無狀態搞成有狀態了,而這些在傳統的session+cookie機制中都是不需要去考慮的。這種場景下,考慮高可用,我更加推薦採用分布式的session機制,現在已經有很多的成熟框架可供選擇了(比如spring session)。

熱點內容
什麼是伺服器機箱批發 發布:2024-09-18 10:26:10 瀏覽:195
sqlserver查看錶結構 發布:2024-09-18 09:56:18 瀏覽:37
伺服器生成錯誤是什麼意思 發布:2024-09-18 09:55:37 瀏覽:772
萬能鑰匙怎麼解密碼 發布:2024-09-18 09:17:12 瀏覽:382
麥塊和快吧電腦版里伺服器一樣嗎 發布:2024-09-18 09:14:05 瀏覽:201
phpmysql報錯 發布:2024-09-18 09:13:43 瀏覽:914
python數據保存 發布:2024-09-18 08:52:35 瀏覽:911
海康網路視頻伺服器原始ip 發布:2024-09-18 08:19:01 瀏覽:488
java教程視頻馬士兵 發布:2024-09-18 08:05:31 瀏覽:212
安卓耳機入耳安卓怎麼關閉 發布:2024-09-18 07:25:45 瀏覽:952