<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          端到端全能加密平臺 - Phase

          共 11172字,需瀏覽 23分鐘

           ·

          2023-11-12 08:45

          Phase 是一個開源(核心)的端到端可自托管的全能加密平臺,用于在你的基礎(chǔ)架構(gòu)中供開發(fā)人員管理秘鑰和環(huán)境變量。

          功能特性

          • 控制臺:無縫創(chuàng)建、管理、輪換機(jī)密數(shù)據(jù)和環(huán)境變量的儀表盤
          • 保護(hù)您的密鑰:通過24個單詞的助記符短語保持自己的根密鑰的自主性
          • 密鑰管理:差異化、版本控制和時間點恢復(fù)
          • RBAC:每個應(yīng)用程序、每個環(huán)境的細(xì)粒度、基于角色和密碼的訪問控制
          • 服務(wù)令牌:使用細(xì)粒度范圍對CI運行器、構(gòu)建工具和生產(chǎn)環(huán)境進(jìn)行身份驗證
          • 密碼引用:繼承密碼以創(chuàng)建復(fù)雜的配置
          • 審計日志:對每個更改和訪問事件完全可見
          • 自托管:在自己的基礎(chǔ)設(shè)施上運行階段
          • KMS:零知識密鑰管理服務(wù)
          • SDK:使用幾行代碼加密/解密數(shù)據(jù)。

          命令行工具

          通過 Phase 的命令行工具可以在幾秒鐘之內(nèi)將機(jī)密數(shù)據(jù)導(dǎo)入、加密并注入到你的應(yīng)用程序中,無需修改任何代碼。

          # Your existing secrets
          > cat .env
          AWS_ACCESS_KEY_ID="AKIA2OGYBAH63UA3VNFG"
          AWS_SECRET_ACCESS_KEY="V5yWXDe82Gohf9DYBhpatYZ74a5fiKfJVx8rx6W1"

          # Import your existing secrets
          > phase secrets import .env
          Successfully imported and encrypted 2 secrets.
          To view them please run: phase secrets list

          # View your secrets in Phase
          > phase secrets list
          KEY ???                    | VALUE ?                                                                  
          ----------------------------------------------------------------------------------------------------     
          AWS_ACCESS_KEY_ID        | AKI**************NFG                                                     
          AWS_SECRET_ACCESS_KEY    | V5y**********************************6W1                                 

          ?? To uncover the secrets, use: phase secrets list --show

          # Get rid of your .env
          > rm .env

          # Seamlessly inject secrets during runtime
          > phase run yarn dev
          $ next dev
          ready - started server on 0.0.0.0:3000, url: http://localhost:3000
          • Phase CLI 命令行工具可以獲取、解密秘密和環(huán)境變量并將其注入到您的應(yīng)用程序中,不需要更改代碼。
          • 注入
          • dotenv 格式導(dǎo)出機(jī)密數(shù)據(jù)
          • 跨平臺:在 macOS、Ubuntu/Arch/Redhat/Alpine Linux、Windows、Docker 上輕松安裝 Phase CLI。
          • Keyring 集成 - 將密鑰和憑據(jù)安全地存儲在 macOS 鑰匙串、Windows Credential Locker、KDE 錢包、GNOME Keyring 等。
          • 私鑰分片:通過秘密分割方案避免私鑰的單點泄露

          安裝

          最快、最可靠的開始方法是在 Phase Console 上創(chuàng)建一個新的免費帳戶:https://console.phase.dev/。

          為了滿足各種合規(guī)要求或僅僅是為了保持對數(shù)據(jù)的控制,您可能希望自托管 Phase 而不是使用Phase云服務(wù)。當(dāng)您在自己的基礎(chǔ)架構(gòu)上自托管 Phase 服務(wù)時,您將獨自承擔(dān)安全性、可靠性和可用性方面的責(zé)任。您需要設(shè)置有效的 TLS 證書、Web 應(yīng)用防火墻、數(shù)據(jù)庫備份和復(fù)制、DDoS 保護(hù)、速率限制、SSO 等。目前支持如下幾種方式:

          • Docker Compose
          • AWS
          • Azure
          • Google Cloud Platform
          • DigitalOcean

          最簡單的用于演示測試的當(dāng)然是使用 Docker Compose 了,我們也可以選擇將 Phase 控制臺組件運行于托管服務(wù)(PaaS)上,或者使用 Kubernetes 等替代的容器編排工具,而不是使用 Docker Compose??紤]將 Phase 服務(wù)部署在 VPN 或 VPC 后面,而不是直接暴露在互聯(lián)網(wǎng)上。

          1.安裝Docker

          # Ubuntu
          sudo apt update && sudo apt upgrade -y && sudo apt install -y docker-compose

          2.下載配置.env 模板:

          wget -O .env https://raw.githubusercontent.com/phasehq/console/main/.env.example

          Docker Compose 模板:

          wget -O docker-compose.yml https://raw.githubusercontent.com/phasehq/console/main/docker-compose.yml

          Nginx 配置:

          mkdir nginx && wget -O ./nginx/default.conf https://raw.githubusercontent.com/phasehq/console/main/nginx/default.conf

          Nginx Dockerfile:

          wget -O ./nginx/Dockerfile  https://raw.githubusercontent.com/phasehq/console/main/nginx/Dockerfile

          3.更新配置

          根據(jù)自己的環(huán)境修改 .env 文件。**4.啟動服務(wù)

          docker-compose -f docker-compose.yml up -d

          您的 Phase 控制臺部署將在 https://localhost 上可用。默認(rèn)情況下,Phase 將使用 nginx 提供自簽名的 TLS 證書。在生產(chǎn)環(huán)境中,請使用有效的 TLS 證書。

          使用

          我們可以在很多平臺集成使用 Phase。

          Kubernetes

          我們可以使用 Phase 在運行時將私密數(shù)據(jù)注入到您的應(yīng)用程序進(jìn)程中。無需更改任何代碼或添加其他依賴項??梢酝ㄟ^內(nèi)存中的初始化容器與 Kubernetes 工作負(fù)載輕松集成,并安全地注入密鑰。

          首先創(chuàng)建一個包含 PHASE_SERVICE_TOKEN 的 Secret 對象:

          kubectl create secret generic phase-token --from-literal=PHASE_SERVICE_TOKEN=<YOUR_PHASE_SERVICE_TOKEN>

          然后在 initContainer 中通過 CLI 容器來獲取私密數(shù)據(jù),如下所示:

          apiVersion: v1
          kind: Pod
          metadata:
            name: alpine-pod
          spec:
            volumes:
              - name: secrets-volume
                emptyDir:
                  medium: Memory
            initContainers:
              - name: fetch-secrets
                image: phasehq/cli:latest
                volumeMounts:
                  - name: secrets-volume
                    mountPath: /secrets
                env:
                  - name: PHASE_SERVICE_TOKEN
                    valueFrom:
                      secretKeyRef:
                        name: phase-token
                        key: PHASE_SERVICE_TOKEN
                command:
                  - /bin/sh
                  - -c
                  - phase secrets export > /secrets/secrets.env
            containers:
              - name: alpine-main
                image: alpine:latest
                volumeMounts:
                  - name: secrets-volume
                    mountPath: /secrets
                command:
                  - /bin/sh
                  - -c
                  - source /secrets/secrets.env && printenv

          通過這種方式有很多優(yōu)勢:

          • 責(zé)任分離:初始化容器使您能夠?qū)⒃O(shè)置環(huán)境的責(zé)任與主要容器的主要目的分開。通過僅使用初始化容器來獲取密鑰并填充內(nèi)存卷,可以減少針對主應(yīng)用程序的潛在攻擊面。
          • 短暫性質(zhì):通過使用內(nèi)存卷,數(shù)據(jù)不會在 Pod 的生命周期之外持久存在。當(dāng) Pod 終止時,數(shù)據(jù)將丟失。這降低了秘密數(shù)據(jù)被遺留下來的風(fēng)險。
          • 無持久存儲:由于獲取的密鑰并置于內(nèi)存卷中的秘密數(shù)據(jù)不會寫入任何持久存儲,因此如果底層存儲受到侵害或被不正確停用,它們不會被暴露出來的風(fēng)險。

          Jenkins

          此外我們還可以使用 Phase CLI 輕松地在 CI 流水線或任務(wù)中注入或暴露密鑰。比如下面的流水線代碼我們將 Docker 的認(rèn)證信息通過 Phase 來獲?。?/p>

          pipeline {
              agent any

              stages {
                  stage('Prepare') {
                      steps {
                          sh 'curl -fsSL https://pkg.phase.dev/install.sh | bash'
                          sh '''
                             phase secrets export --env prod DOCKERHUB_USERNAME DOCKERHUB_TOKEN
                             export $(phase secrets export --env prod DOCKERHUB_USERNAME DOCKERHUB_TOKEN | xargs)
                             '''

                      }
                  }

                  stage('Build and Push') {
                      steps {
                          sh '''
                             docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
                             docker build -t my-image .
                             docker push my-image:latest
                             '''

                      }
                  }
              }
          }

          代碼集成

          同樣我們還可以在很多應(yīng)用程序開發(fā)框架中直接集成 Phase,使用 phase run 在運行時向應(yīng)用程序過程中注入秘密。無需更改任何代碼或增加任何依賴項。比如:

          phase secrets list --show
          KEY ???                   | VALUE ?
          --------------------------------------------------------------------------------------
          AWS_ACCESS_KEY_ID        | AKIA2OGYBAH6QLWOYDVN
          AWS_SECRET_ACCESS_KEY    | 6ACbdYki5FISnaiWYZwwyQcAEcnKmNrULTCXw+RQ

          比如對于 Django 應(yīng)用我們可以使用下面的方法來進(jìn)行集成:

          在項目根目錄下面初始化 phase:

          phase init

          使用 phase run 命令啟動應(yīng)用:

          phase run python manage.py runserver payments-api:8000

          還可以鏈接多個命令:**然后我們在應(yīng)用程序中直接獲取環(huán)境變量即可:

          import os

          AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
          AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')

          Github倉庫:https://github.com/phasehq/console

          瀏覽 277
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久青草电影 | 成人豆花视频 | 性猛交ⅩXXXx | 黄色片三级片在线看网站 | 黄色网页大全 |