<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Deploy Keys > 原文:[https://docs.gitlab.com/ee/user/project/deploy_keys/](https://docs.gitlab.com/ee/user/project/deploy_keys/) * [Key details on deploy keys](#key-details-on-deploy-keys) * [Deploy Keys Permissions](#deploy-keys-permissions) * [Differences between deploy keys and deploy tokens](#differences-between-deploy-keys-and-deploy-tokens) * [How to enable Deploy Keys](#how-to-enable-deploy-keys) * [Project deploy keys](#project-deploy-keys) * [Public deploy keys](#public-deploy-keys) * [Troubleshooting](#troubleshooting) * [Deploy Key cannot push to a protected branch](#deploy-key-cannot-push-to-a-protected-branch) # Deploy Keys[](#deploy-keys "Permalink") 通過將 SSH 公鑰導入到 GitLab 實例,部署密鑰允許對一個或多個存儲庫的只讀或讀寫(如果啟用)訪問. 這對于將存儲庫克隆到持續集成(CI)服務器非常有用. 通過使用部署密鑰,您不必設置虛擬用戶帳戶. There are two types of deploy keys: * [Project deploy keys](#project-deploy-keys) * [Public deploy keys](#public-deploy-keys) ## Key details on deploy keys[](#key-details-on-deploy-keys "Permalink") 部署密鑰使遠程機器(VM,物理機等)只需幾個步驟即可訪問 GitLab 存儲庫. 如果您希望遠程計算機以自動化方式與 GitLab 存儲庫進行交互,這是一個簡單的解決方案. 缺點是,如果遠程計算機被黑客入侵,則您的存儲庫可能會變得脆弱. 在存儲庫中啟用部署密鑰之前,應限制對遠程計算機的訪問. 遵循的好規則是僅訪問受信任的用戶,并確保允許的用戶在 GitLab 項目中具有[維護者權限或更高權限](../../permissions.html) . 如果您的組織擔心這種安全隱患,則可以使用" [部署令牌"](../deploy_tokens/index.html)作為替代方案,但具有更多的安全控制. ## Deploy Keys Permissions[](#deploy-keys-permissions "Permalink") 在項目上啟用部署密鑰時,可以選擇其訪問級別: * `read-only` :部署密鑰可以讀取存儲庫. * `read-write` :部署密鑰可以讀取存儲庫并對其進行寫入. 項目維護者和所有者可以激活和停用部署密鑰. 他們還可以添加自己的部署密鑰并為該項目啟用它們. 當使用`write-access`部署密鑰來推送提交時,GitLab 會檢查部署密鑰的**創建者**是否有權訪問資源. 例如: * 當使用部署密鑰將提交推送到[受保護的分支時](../protected_branches.html) ,部署密鑰的**創建者**必須有權訪問該分支. * 當使用部署密鑰來推送觸發 CI / CD 管道的提交時,部署密鑰的**創建者**必須有權訪問 CI / CD 資源(例如受保護的環境,機密變量等). * 如果部署密鑰的**創建者**沒有讀取項目存儲庫的權限,則部署密鑰*可能*在此過程中遇到錯誤. ## Differences between deploy keys and deploy tokens[](#differences-between-deploy-keys-and-deploy-tokens "Permalink") 部署密鑰和[部署令牌](../deploy_tokens/index.html#deploy-tokens)都可以幫助您訪問存儲庫,但是它們之間存在一些顯著差異: * 部署密鑰可以在不相關甚至不屬于同一組的項目之間共享. 部署令牌屬于項目或[組](../deploy_tokens/index.html#group-deploy-token) . * 部署密鑰是您需要在計算機上生成自己的 SSH 密鑰. 部署令牌是由您的 GitLab 實例生成的,僅在創建時提供給用戶一次. * 只要已注冊并啟用部署密鑰,該密鑰便有效. 部署令牌可能是時間敏感的,因為您可以通過設置令牌的到期日期來控制令牌的有效性. * 您不能使用部署密鑰登錄注冊表,也不能對其執行讀/寫操作,但是[使用部署令牌是可以的](../deploy_tokens/index.html#gitlab-deploy-token) . * 您需要 SSH 密鑰對才能使用部署密鑰,但不需要部署令牌. ## How to enable Deploy Keys[](#how-to-enable-deploy-keys "Permalink") ### Project deploy keys[](#project-deploy-keys "Permalink") [項目維護者和所有者](../../permissions.html#project-members-permissions)可以為項目存儲庫添加或啟用部署密鑰: 1. 導航到項目的**"設置">"存儲庫"**頁面. 2. 展開" **部署密鑰"**部分. 3. 為新的部署密鑰指定標題,然后粘貼您的公共 SSH 密鑰. 4. (可選)檢查**寫訪問允許**允許`read-write`訪問. 保留它的`read-only`訪問權限. 有三個項目部署密鑰列表: * 啟用的部署密鑰 * Privately accessible deploy keys * 公共可訪問的部署密鑰 [![Deploy Keys section](https://img.kancloud.cn/05/49/05499d89ccc385feda4a06e68a39df32_976x799.png)](img/deploy_keys_v13_0.png) 添加密鑰后,默認情況下將為此項目啟用該密鑰,它將顯示在"已**啟用的部署密鑰"**選項卡中. 在"私有**可訪問的部署密鑰"**選項卡中,您可以啟用已導入到其他項目中的私有密鑰. 如果您有權訪問這些密鑰,那是因為您具有以下任一能力: * 以前,您自己將密鑰上傳到了另一個項目中. * 您是導入密鑰的另一個項目的維護者或所有者. 在可**公開訪問的部署密鑰**選項卡中,您可以啟用[對整個 GitLab 實例可用的](#public-deploy-keys)密鑰. 添加密鑰后,您可以對其進行編輯以更新其標題,或者在`read-only`和`read-write`訪問之間切換. **注意:**如果您為項目啟用了私有或公共訪問或部署密鑰,并且隨后將該密鑰的訪問級別從`read-only`更新為`read-write` ,則更改將僅適用于**當前項目** . ### Public deploy keys[](#public-deploy-keys "Permalink") 公共部署密鑰允許對 GitLab 實例中的任何存儲庫進行`read-only`或`read-write`訪問. 這對于將存儲庫集成到安全的共享服務(例如 CI / CD)很有用. 實例管理員可以添加公共部署密鑰: 1. 轉到**管理區域** ( ) **>部署密鑰** . 2. 單擊**新部署密鑰** . 確保新密鑰具有有意義的標題,因為這是項目維護者和所有者識別要添加的正確公共部署密鑰的主要方法. 例如,如果密鑰允許訪問 SaaS CI / CD 實例,請在密鑰名稱中使用該服務的名稱(如果已使用了所有密鑰). [![Public Deploy Keys section](https://img.kancloud.cn/d8/a8/d8a8e301246482887c2affcd688dc1f4_1286x327.png)](img/public_deploy_key_v13_0.png) 添加密鑰后,它將對所有共享系統可用. 項目維護者或更高級別的人員可以[授權公共部署密鑰](#project-deploy-keys)開始在項目中使用它. **注意:**僅在配置了至少一個公共部署密鑰的情況下,Project CI / CD 設置中的" **公共可訪問部署密鑰"**選項卡才會顯示. 與項目部署密鑰相比,公共部署密鑰可以提供更高的安全性,因為目標集成系統的管理員是唯一需要知道或配置密鑰值的管理員. 創建公共部署密鑰時,請確定是否可以針對非常狹窄的用途(例如僅特定服務)定義它,或者是否需要針對更廣泛的用途(例如對所有服務進行完全`read-write`訪問)進行定義. **警告:**添加公共部署密鑰不會立即向其公開任何存儲庫. 公共部署密鑰允許從其他系統進行訪問,但是只有項目維護者選擇使用它之后,才能訪問任何項目. ## Troubleshooting[](#troubleshooting "Permalink") ### Deploy Key cannot push to a protected branch[](#deploy-key-cannot-push-to-a-protected-branch "Permalink") 如果此部署密鑰的所有者無權訪問[受保護的分支](../protected_branches.html) ,則此部署密鑰也將無權訪問該分支. 除此之外,在["允許推送"部分中](../protected_branches.html#configuring-protected-branches)選擇" **否"**值意味著沒有用戶**和**使用部署密鑰的服務都無法推送到該選定分支. 有關更多信息,請參考[此問題](https://gitlab.com/gitlab-org/gitlab/-/issues/30769) .
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看