Web服務安全性和SOA路線圖的人為維度

在大多數非平凡的SOA環境中,很難跟蹤系統之間不斷發展的集成,除非有明確的發布和查找適當信息的方法。 概述IT環境,定義當前或將要連接的內容,是維護環境的先決條件。 缺少這種情況通常會導致“面向意大利面條的環境”的感覺,并且不愿大膽嘗試。

這句話聽起來很明顯,但實際上并不總是考慮在內。 一些組織要么沒有這樣的集中式集成控制,要么因為“妨礙了一切”而停止使用它。 充其量,這意味著集成信息被保存在某些關鍵人物的頭上,這很冒險。 通常,在這樣的地方的團隊不敢“在某些情況下仍然依賴它們”更新服務合同,而是在需要更新時隨時復制它們,這與SOA相反。

有時,一個好主意只需要退后幾步即可正確應用。 我在這篇文章中解釋了為什么我認為對SOA路線圖的需求應能激發大多數Web服務(包括非敏感服務)上存在安全訪問限制。

為什么這么簡單的想法很難付諸實踐?

有幾個因素可以促使團隊跳過這一重要的文檔編制步驟:

  • 其他重要的短期任務的緊迫性,以及團隊不斷地“撲滅大火”的感覺,沒有時間做其他事情
  • 缺少明確標識的中央存儲庫,該存儲庫用于在何處訪問和發布此類信息(例如SOA注冊中心或存儲庫),或者缺乏對這些信息的使用。
  • 缺乏集中式的管理,無法監督整合

從人為因素的角度來看,“我已經受夠了”綜合癥會使這種情況惡化。 在復雜的多團隊/多項目環境中,已經為眼前的問題所困擾的個人通常不會主動尋找其他項目難以解決(并解決)的依賴問題。 我們需要對此進行預測并積極幫助那些團隊,同時要記住,他們要處理的其他問題當然也很重要。

以上內容的核心根源是,在可能的情況下,更容易跳過集成的驗證/文檔步驟。 我們必須通過宣傳集中式集成信息的價值以及提高實現無證集成的難度來扭轉這種感覺。

我們需要的

我們需要一個易于使用的過程來收集,驗證和發布系統之間當前和將來的依賴關系。 一個關鍵方面是以“足夠的治理”方式使它保持簡單并與實際使用它的人保持聯系。

四個主要組成部分似乎是:

  • 一個清晰的過程,用于請求新的集成或更新現有的集成。 這包括從業務和技術角度進行驗證,以確保環境保持盡可能清潔和面向未來。 如果執行了EA工作,那么大多數請求都來自EA團隊或來自EA團隊,這使得此步驟變得微不足道! 在實踐中,當項目團隊在詳細的設計或實施階段確定所需的依賴關系時,也將來自項目團隊。
  • 一個明確標識且易于訪問的存儲庫,可在其中查找當前和計劃中的集成。 該存儲庫必須包括每個未來依賴項的版本控制以及棄用/停用計劃。
  • 負責更新中央存儲庫的團隊,使路線圖保持最新。 如果可以的話,通常是EA團隊。
  • 在技??術層面上,如果不涉及上述三個組件,則無法執行集成。 這應避免在合同更新引發問題之前一直隱藏的“幻影依賴項”。

在實踐中,第四個組件應是企業范圍內的IT原則,該原則規定每個Web Service實現必須要求調用應用程序具有安全授權。 當服務需要時,這將不會阻止其他安全機制的存在,例如,傳輸帶有發起原始業務操作的人工用戶身份的票證(REST和SOAP都允許同時存在多個安全令牌)。

通常必須通過將技術文檔和代碼示例附加到IT原理上來簡化該原理的實現。 因為我們不希望同事之間互相攻擊,所以可以采取低風險的方法,其目的只是確保讓EA團隊更容易建立幻影依賴。 使用SOAP時,我的建議是使用簡單的WS-UsernameToken策略,并為每個客戶端應用程序關聯一個用戶名/密碼對。 使用REST時,一種眾所周知的機制是使用HMAC,將請求的一部分與隨機數和/或到期日期一起進行哈希處理(此機制類似于Amazon S3所使用的機制)。

結論

在本文中,我試圖解釋為什么我認為在每個Web服務中系統地采用一個簡單的安全策略有助于跟蹤IT狀況,并確保SOA治理團隊看不到“幻影依賴項”。 此安全策略的實施必須簡單易行,并得到幫助文檔的支持,并且不能過于強大,僅足以確保EA團隊了解所有集成實施。

參考:來自Svend博客的 JCG合作伙伴 Svend Vanderveken的Web服務安全性和SOA路線圖的人為因素 。


翻譯自: https://www.javacodegeeks.com/2012/09/web-service-security-and-human.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371336.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371336.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371336.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pccad自定義圖框_(PCCAD自定義標題欄詳細方法.doc

PCCAD2011自定義標題欄詳細方法下面以圖3-1為例說明標題欄的自定義過程。圖3-11.新建文件(用New 命令)。2.用繪圖和文字中的相關命令設計出圖3-1所示的圖形。其中在使用中不變的內容,如廠名等均用“文字”命令標出,而需臨時填充的…

ThinkPHP 3.2.x 集成極光推送指北

3.2版本已經過了維護生命周期,官方已經不再維護,請及時更新至5.0版本 —— ThinkPHP 官方倉庫 以上,如果有條件,請關閉這個頁面,然后升級至 ThinkPHP 5,如果由于各種各樣的原因無法升級至 TP 5 &#xff0c…

Java:選擇正確的集合

這是在應用程序中選擇Set , List或Map的正確實現的快速指南。 最好的通用或“主要”實現可能是ArrayList,LinkedHashMap和LinkedHashSet。 它們的整體性能更好,除非您需要其他實現提供的特殊功能,否則應使用它們。 該特殊功能通常…

Java多線程——不變性與安全發布

1、不變性 某個對象在被創建后其狀態就不能被修改,那么這個對象就稱為不可變對象,不可變對象一定是線程安全的。不可變對象很簡單。他們只有一種狀態,并且該狀態由構造函數來控制。 當滿足以下條件時,對象才是不可變的&#xff1a…

中tr不能顯示字符_垃圾文本識別中基本操作指南和錯誤總結,第三部分

創建模型需要用到機器學習的庫,所以我們先下載sklearn庫sklearn庫下載完成后再輸入庫文件,就可以完美運行。然后就是劃分測試集和訓練集,需要注意的是,在從數據處理函數中導入數據時,足足運行了有將近30多秒&#xff0…

mvc后臺post發送json數據

代碼比較簡單&#xff0c;不廢話&#xff0c;直接上代碼&#xff1a; /// <summary>/// 提交json數據&#xff0c;并接收/// </summary>/// <param name"apipath">要請求的服務器地址</param>/// <param name"jsonStr">要提…

(轉載)20分鐘讀懂程序集

轉自&#xff1a;http://www.cnblogs.com/damonlan/p/3221347.html 說到程序集&#xff0c;我剛開始對這個名詞特別的郁悶&#xff01;~。然后 前些天花了些時間 好好讀了一下&#xff0c;現在比較清晰了&#xff0c;把一些書上看到的 記下來&#xff0c;以饗讀者。希望沒浪費你…

大數據胸_喂母乳會導致胸下垂?!你被這個謠言騙了多少年?

很多人認為&#xff0c;給寶寶喂奶會導致胸下垂。有些愛美的媽媽&#xff0c;甚至在寶寶出生6個月后就著急斷奶。那么&#xff0c;喂奶真的會導致胸下垂么&#xff1f;給大家講兩個真實的調查結果哈~2004年的一次針對496名新媽媽的調查結果顯示&#xff0c;有75%的母乳喂養母親…

Spring Shell項目發布

Spring Source昨天發布了Spring Shell 。 Spring Shell是一個交互式Shell&#xff0c;可以使用基于Spring的編程模型輕松地通過命令進行擴展。 它是通過除去OSGi依賴項從Spring Roo項目中提取的&#xff0c;并變成了一個獨立項目。 這使得那些只希望使用交互式外殼功能的人更容…

自制ACL+DHCP實驗(初版)

&#xff08;實驗用gns模擬器&#xff09; ACL 實驗拓撲&#xff1a; 實驗要求&#xff1a; 1.1.1.1→3.3.3.3 不通 11.11.11.11→3.3.3.3 通 2.2.2.2→3.3.3.3 通 實驗步驟&#xff1a; 步驟一&#xff1a;基本配置 R1&#xff1a; R1#conf t R1(config)#int lo0 R1(config-if…

pil 圖像最大值_第97天:圖像庫 PIL(二)

上節我們講了 Python 的圖像處理庫 PIL 的基本圖像處理功能&#xff0c;打開了 PIL 的神秘面紗。這節我們接著講 PIL 的 Image 模塊的常用方法。Image 模塊的方法convertImage.convert(modeNone, matrixNone, ditherNone, palette0, colors256)參數說明&#xff1a;mode&#x…

c#的委托用法delegate

轉載于:https://www.cnblogs.com/douzujun/p/6555886.html

yii2.0

yii是一個高性能的適用于開發web2.0應用的框架&#xff0c;它自帶豐富的功能&#xff0c;包括mvc&#xff0c;dao/aciverecord&#xff0c;緩存&#xff0c;身份驗證和基于角色的訪問控制&#xff0c;腳手架&#xff0c;測試等&#xff0c;可顯著縮短開發時間yii只加載你需要的…

Java中常見的代碼沖突

在工作中&#xff0c;最近我對現有Java項目進行了代碼清理。 完成該練習后&#xff0c;我可以看到在代碼中一次又一次地發生了一組常見的代碼沖突。 因此&#xff0c;我想出了此類常見違規的清單&#xff0c;并與同行分享&#xff0c;以使人們有意識地提高代碼質量和可維護性。…

np讀取csv文件_被 Pandas read_csv 坑了

-- 不怕前路坎坷&#xff0c;只怕從一開始就走錯了方向Pandas 是python的一個數據分析包&#xff0c;納入了大量庫和一些標準的數據模型&#xff0c;提供了高效地操作大型數據集所需的工具。Pandas 就是為解決數據分析任務生的&#xff0c;無論是數據分析還是機器學習項目數據預…

Python 第三方庫 cp27、cp35 等文件名的含義

What does version name ‘cp27’ or ‘cp35’ mean in Python? 如對于 gensim-0.12.4-cp27-none-win_amd64.whl文件名而言&#xff0c;將其文件名拆分的話&#xff0c;含義分別是&#xff1a; 0.12.4 - package version, they may be using semantic versioningcp27 - this p…

JAVA: 序列化

對象序列化 - 一個對象可以被表示為一個字節序列&#xff0c;保存對象的類型信息、對象的數據&#xff0c;還有對象中的數據類型&#xff0c;以便存儲或傳輸。 反序列化 - 將序列化對象寫入文件之后&#xff0c;可以從文件中讀取出來&#xff0c;并且對它進行反序列化&#xff…

尋找隨機的錯誤-一個真實的故事

幾周前&#xff0c;我完成了RapidFTR開源項目的錯誤查找 &#xff0c;這花了我三個晚上。 我認為可能值得分享狩獵的故事。 本文將介紹我的工作。 我將概述我的旅程&#xff0c;以實際找到正在發生的事情的根本原因。 我在本文中的目標是突出顯示可以使用的技術示例&#xff0c…

鈴木uy125摩托車機油_UY125 新瑞夢UM125發布 濟南鈴木于湖南株洲吹響國IV集結號...

?4月18日&#xff0c;濟南鈴木在湖南株洲天臺開元酒店舉行了2019年新品發布會&#xff0c;并于現場發布了兩款極具終端戰略意義的新款國IV車型&#xff0c;分別為定位“實用運動”的全新個性化踏板車型UY125&#xff0c;以及能夠進一步鞏固濟南鈴木在國IV入門級踏板車型領域絕…

473. 核電站問題

★ 輸入文件&#xff1a;nucle.in 輸出文件&#xff1a;nucle.out 簡單對比 時間限制&#xff1a;1 s 內存限制&#xff1a;128 MB 【問題描述】 一個核電站有 N 個放核物質的坑&#xff0c;坑排列在一條直線上。如果連續 M 個坑中放入核物質&#xff0c;則會發生爆炸&…