日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-17审计

發布時間:2023/12/29 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-17审计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

親歷的企業級微服務的完整構建過程-系列文章目錄

本人參與了這次的企業級微服務的完整構建,想要記錄下來以便以后復習,同時也想分享給小伙伴們,拋磚引玉,歡迎大家提出自己的意見和建議,大家一起探討一起成長。以下為該系列所有文章的鏈接:

  • 搭建和使用Maven私有倉庫(Nexus)(更新中。。。)
  • API網關(待發布)
  • 認證中心(待發布)
  • Redis框架(待發布)
  • RabbitMQ(待發布)
  • MyBatis(待發布)
  • Web模塊(待發布)
  • 低代碼(待發布)
  • Core
  • JSON工具類(待發布)
  • 日期工具類(待發布)
  • String工具類(待發布)
  • Number工具類(待發布)
  • Spring操作工具類(待發布)
  • API結構統一封裝(待發布)
  • 監控和告警(待發布)
  • MongoDB(待發布)

  • 搭建和使用Maven私有倉庫(Nexus)-系列文章目錄

    說明:

    • 以下部分模塊,絕大多數人,在日常工作中都是用不到的,所以我就沒有介紹,畢竟時間是最重要的成本,沒必要花大量時間在我們用不到的內容上。
    • 下面的“1 通用”章節,系列文章中的每一篇內容都相同,介紹一些背景、約定和官網鏈接等,大家只要知道這些內容了,就不用每篇文章都去看了。
  • 安裝步驟
  • 登錄和界面
  • 備份和恢復
  • 管理:講述了Nexus的管理功能,包括用戶管理、權限管理、任務管理等
  • 管理菜單
  • 倉庫管理
  • 格式(Formats)(暫時用不到,略)
  • 分期(Staging)(暫時用不到,略)
  • 標記(Tagging)(暫時用不到,略)
  • Maven和Jenkins插件(暫時用不到,略)
  • 任務(Tasks)
  • 訪問控制
  • 領域(Realms)管理
  • 權限(Privileges)管理
  • 角色(Roles)管理
  • 用戶(Users)管理
  • 默認角色(Default Role)管理
  • 內容選擇器(Content Selectors)管理
  • 用戶認證(暫時用不到,略)
  • 能力(Capabilities)(暫時用不到,略)
  • 節點(Nodes)
  • 配置SSL
  • HTTP和HTTPS請求和代理設置(暫時用不到,略)
  • 電子郵件服務器配置
  • 重試限制配置(暫時用不到,略)
  • 審計
  • 安裝和更新許可證
  • 支持功能
  • 使用Nexus倉庫:講述了使用(而非管理) Nexus Repository 的方方面面的知識
  • 倉庫管理器概念:使用 Nexus 需要先理解一些概念,該節內容提供了必要的背景和知識
  • 組件、倉庫和倉庫格式(暫時用不到,略)
  • 一個示例 - Maven 倉庫格式(暫時用不到,略)
  • 管理倉庫(暫時用不到,略)
  • 軟件供應鏈自動化(暫時用不到,略)
  • 代理倉庫概念(暫時用不到,略)
  • 用戶界面概述
  • 搜索組件(暫時用不到,略)
  • 瀏覽倉庫和倉庫組
  • 管理當前登錄用戶的資料
  • 上傳組件
  • 查看標簽(僅可用于Pro版本,略)
  • 集成(主要講述了如何使用 APIs 和 集成外部工具)(暫時用不到,略)
  • Maven中配置和使用Nexus

  • 本文目錄

    • 親歷的企業級微服務的完整構建過程-系列文章目錄
    • 搭建和使用Maven私有倉庫(Nexus)-系列文章目錄
    • 正文
      • 1 通用
        • 1.1 前言
        • 1.2 約定
        • 1.3 官方文檔
      • 2 審計


    正文

    1 通用

    1.1 前言

    在構建微服務之前,需要先做一些準備工作,比如Maven私有倉庫的管理。因為有些微服務模塊是作為公共組件被其他微服務引用的,這些公共的微服務,就要設置為依賴,并用Maven倉庫管理起來,將自定義的依賴上傳到Maven中央倉庫并不是一個明智的選擇。原因有3個:

  • 最重要的是隱私和安全問題,我們不可能把企業內部開發的組件上傳到公共網絡,讓所有人能夠隨便下載;
  • 上傳很麻煩,上傳方法詳見 https://blog.csdn.net/agonie201218/article/details/124800163;
  • 可能不允許上外網,則無法上傳;
  • 可能會有網絡延遲、上傳緩慢的問題。
  • 降低了中央倉庫的負擔。
  • 綜上,我們最好是搭建自己的私有Maven倉庫,而當前最流行的就是 Sonatype Nexus Repository Manager,以下簡稱 Nexus。

    1.2 約定

  • 我使用的版本是 OSS 3.40.1-01,整個系列的文章都是在該版本上展開介紹,你們可能使用的是 Pro 版,少數模塊是我的 OSS 版上沒有的。不過一般使用的話,OSS 版已經夠用了
  • 文中出現的 Repository ,中文稱之為“倉庫”
  • 文中出現的變量 $install-dir,值為 /opt/sonatype/nexus
  • 文中出現的變量 $data-dir,值為 /opt/sonatype/sonatype-work/nexus3 ,或 /nexus-data,兩者都是在docker容器nexus中的路徑,一個是軟鏈接,一個是實際路徑
  • 文中出現的變量 ${jetty.etc},值為 /opt/sonatype/nexus/etc/jetty
  • NXRM:Nexus Repository Manager,即 Nexus 倉庫管理器
  • RBAC:Role-Based Access Control,即 基于角色的訪問控制
  • 1.3 官方文檔

    提供Nexus的官方文檔:https://help.sonatype.com/repomanager3/
    官方文檔包含了系統要求、搭建方法,以及各種操作方法等,內容已經非常全面了。

    2 審計

    審計,在 Capabilities 模塊中配置:


    方便起見,這個功能是自動啟用的。
    每次某個用戶(或內部進程)修改了 Nexus 的配置,或者任何資產和組件的添加和移除,日志文件 $data-dir/log/audit/audit.log 都會自動創建或更新。日志的每一行包含了一個未格式化的 JSON 消息,它代表了一個單獨的審計項:

    {"timestamp":"2022-07-05 04:20:00,028+0000","nodeId":"5F252F61-890E6FF0-9ECEBA1E-AC761972-E08CA3D5","initiator":"*TASK","domain":"tasks","type":"started","context":"Storage facet cleanup","thread":"quartz-9-thread-1","attributes":{"schedule":"Cron{properties={schedule.clientTimeZone=Etc/UTC, schedule.startAt=2022-07-05T04:10:25.233Z, schedule.cronExpression=0 */10 * * * ?, schedule.type=cron}}","currentState":"CurrentStateImpl{state=RUNNING, nextRun=Tue Jul 05 04:30:00 UTC 2022, future=org.sonatype.nexus.quartz.internal.task.QuartzTaskFuture@33e6d209}","lastRunState":null,".updated":"2022-07-05T04:10:25.233Z",".name":"Storage facet cleanup",".recoverable":"false",".id":"95a7a29a-5a3e-4fc2-8ac5-de4f16a22559",".typeName":"Storage facet cleanup",".visible":"false",".typeId":"repository.storage-facet-cleanup",".exposed":"false",".created":"2022-07-05T04:10:25.233Z"}}

    下表包含了 JSON 消息中的屬性說明:

    AttributeDescriptionExample
    timestampThe date and time this event occurred2019-02-04 18:12:07,856-0500
    nodeIdThe nodeId of the instance (used to correlate audit logs across multiple instances)5DF0F434-88A6F4B7-AEDCE785-CAD9628C-8AD86154
    initiatorThe initiator of the event, often a username/host combination, unless an interally generated eventadmin/172.16.0.10
    domainFunctional area of the systemsecurity.user
    typeAction performed in this domaincreated
    contextIdentifying details of the eventmynewusername
    threadThread name of the event initiator. Thread name can help correlate related log lines from other log files. (NEW IN 3.25.0)quartz-7-thread-1
    attributesMap of key:value pairs that contain more details about the event{“id”:“mynewusername”,“name”:“John Doe”,“email”:“jdoe@emailserver.com”,“source”:“default”,“status”:“active”,“roles”:“nx-admin”}

    該日志文件每天滾動生成,舊的日志文件則被壓縮,并在其名稱中添加對應日期后綴,然后保留90天:

    bash-4.4$ pwd /nexus-data/log/auditbash-4.4$ ls -l total 416 -rw-r--r-- 1 nexus nexus 5715 Jun 30 00:58 audit-2022-06-29.log.gz -rw-r--r-- 1 nexus nexus 4850 Jul 1 00:24 audit-2022-06-30.log.gz -rw-r--r-- 1 nexus nexus 7744 Jul 4 01:17 audit-2022-07-01.log.gz -rw-r--r-- 1 nexus nexus 5933 Jul 5 00:53 audit-2022-07-04.log.gz -rw-r--r-- 1 nexus nexus 167094 Jul 5 08:30 audit.log -rw-r--r-- 1 root root 220438 Jul 5 08:19 data

    總結

    以上是生活随笔為你收集整理的企业级微服务构建-01搭建和使用Maven私有仓库(Nexus)-17审计的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。