管理金鑰建立及匯入存取原則

設定 IBM Cloud® Hyper Protect Crypto Services 之後 實例,您可以使用來管理金鑰建立及匯入存取原則 Hyper Protect Crypto Services 金鑰管理服務 API。

此原則僅適用於金鑰管理服務金鑰及相關作業。

瞭解金鑰建立及匯入存取設定

的金鑰建立及匯入存取原則 Hyper Protect Crypto Services 實例管理如何建立金鑰並將其匯入至 Hyper Protect Crypto Services 實例。

當您啟用此原則時,Hyper Protect Crypto Services 只允許在您的系統中建立或匯入金鑰 Hyper Protect Crypto Services 實例,遵循金鑰建立及匯入存取原則上列出的金鑰建立及匯入設定。

僅透過 API 支援設定及擷取金鑰建立及匯入存取原則。 若要進一步瞭解如何存取 Hyper Protect Crypto Services 金鑰管理服務 API,請參閱 設定 API

在啟用的金鑰建立及匯入存取原則之前 Hyper Protect Crypto Services 實例,請記住下列考量:

  • KeyCreateImportAccess 原則不會影響原則建立之前已存在的金鑰。

    KeyCreateImportAccess 原則只會影響設定原則之後所傳送的 Hyper Protect Crypto Services 要求。 在建立原則之前,您仍然可以存取 Hyper Protect Crypto Services 實例中存在的所有金鑰。

  • KeyCreateImportAccess 原則可能會在各種金鑰動作之間影響您的金鑰。

    enforce_token 屬性會在建立、旋轉及還原期間影響匯入的金鑰。 create_root_keyimport_root_keycreate_standard_keyimport_standard_key 屬性僅在建立時才會影響金鑰。 所有其他 Hyper Protect Crypto Services 動作 (例如 wrap 和 unwrap) 都不受影響,可以如常對金鑰呼叫。

使用使用者介面啟用或更新服務實例的金鑰建立及匯入存取原則

作為安全管理者,如果您偏好使用圖形介面來管理金鑰建立及匯入存取原則設定,則可以使用使用者介面。

建立 Hyper Protect Crypto Services 實例之後,請完成下列步驟以啟用金鑰建立及匯入存取原則:

  1. 登入使用者介面

  2. 移至 功能表 > 資源清單,以檢視資源清單。

  3. 從 IBM Cloud 資源清單,選取已佈建的 Hyper Protect Crypto Services 實例。

  4. 在所選服務實例的使用者介面中,選取側邊功能表中的 實例原則 標籤。

  5. 建立及匯入金鑰存取權 區段中,勾選或清除對應方框以更新 keyCreateImportAccess 設定,然後按一下 儲存原則

    • Allow creation of root keys: 勾選此方框以容許在 Hyper Protect Crypto Services 實例中建立根金鑰。
    • Allow creation of standard keys: 勾選此方框以容許在 Hyper Protect Crypto Services 實例中建立標準金鑰。
    • Allow import of root keys: 勾選此方框以容許將根金鑰匯入至 Hyper Protect Crypto Services 實例。
    • Allow import of standard keys: 勾選此方框以容許將標準金鑰匯入至 Hyper Protect Crypto Services 實例。
    • Enable secure import: 勾選此方框,以防止授權使用者在不使用匯入記號的情況下將金鑰資料匯入至 Hyper Protect Crypto Services 實例。

    勾選 Enable secure import 的方框之後,需要針對所有金鑰匯入動作啟用 安全匯入。 使用者介面中無法使用安全匯入,您需要透過 CLI 或 API 執行進一步動作。

任何已停用的按鍵動作都無法在 新增按鍵 畫面中使用。 勾選 Secure import 的方框之後,需要針對所有金鑰匯入動作啟用 安全匯入。 在使用者介面中無法使用金鑰匯入,您需要透過 CLI 或 API 執行進一步動作。

使用 API 啟用及更新服務實例的金鑰建立及匯入存取原則

作為安全管理者,您可以透過建立 PUT 來啟用或更新 Hyper Protect Crypto Services 實例的金鑰建立及匯入存取原則 呼叫下列端點。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess

如果您要更新 Hyper Protect Crypto Services 的金鑰建立及匯入存取原則 實例,請記住,如果從要求中省略屬性,則該欄位會設為預設值,且所省略欄位的現有值會被預設值改寫。

  1. 擷取鑑別認證以使用 API

    若要啟用 keyCreateImportAccess 原則,您需要對 Hyper Protect Crypto Services 的 管理員 存取權 實例。 瞭解 IAM 角色如何對映至 Hyper Protect Crypto Services 動作,移出 服務存取角色

  2. 啟用或更新您的金鑰建立及匯入存取原則 透過執行下列 cURL 指令,Hyper Protect Crypto Services 實例。

    $ curl -X PUT \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \
        -H "accept: application/vnd.ibm.kms.policy+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.policy+json" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.policy+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "policy_type": "keyCreateImportAccess",
                        "policy_data": {
                            "enabled": true,
                            "attributes": {
                                "create_root_key": <true/false>,
                                "create_standard_key": <true/false>,
                                "import_root_key": <true/false>,
                                "import_standard_key": <true/false>,
                                "enforce_token": <true/false>
                            }
                        }
                    }
                ]
            }'
    

    根據下表取代範例要求中的變數。

    表 1. 說明啟用金鑰建立及匯入存取原則所需的變數
    變數 說明
    region 必要。 代表 Hyper Protect Crypto Services 實例所在地理區域的區域縮寫,例如 us-southeu-de。 如需相關資訊,請參閱地區服務端點
    IAM_token 必要。 您的 IBM Cloud 存取記號。 請在 cURL 要求中包含 IAM 記號的完整內容,包括 Bearer 值。 如需相關資訊,請參閱 擷取存取記號
    instance_ID 必要。 指派給您 Hyper Protect Crypto Services 服務實例的唯一 ID。 如需相關資訊,請參閱 擷取實例 ID
    create_root_key 必要。 設為 true 以容許在 Hyper Protect Crypto Services 實例中建立根金鑰。 設定為 false 以防止在實例中建立根金鑰。 如果省略此屬性,則會將 true 設為預設值。
    create_standard_key 必要。 設為 true 以容許在 Hyper Protect Crypto Services 實例中建立標準金鑰。 設定為 false 以防止在實例中建立標準金鑰。 如果省略此屬性,則會將 true 設為預設值。
    import_root_key 必要。 設為 true 以容許將根金鑰匯入至 Hyper Protect Crypto Services 實例。 設定為 false,以防止將根金鑰匯入至實例。 如果省略此屬性,則會將 true 設為預設值。
    import_standard_key 必要。 設為 true,以容許將標準金鑰匯入至 Hyper Protect Crypto Services 實例。 設為 false,以防止將標準金鑰匯入至實例。 如果省略此屬性,則會將 true 設為預設值。
    enforce_token 必要。 設為 true 可防止授權使用者在不使用匯入記號的情況下將金鑰資料匯入至 Hyper Protect Crypto Services 實例。 設為 false,可讓授權使用者在不使用匯入記號的情況下,將金鑰資料匯入至實例。 如果已啟用 enforce_token,則需要針對所有金鑰匯入動作啟用 安全匯入。 無法透過使用者介面使用金鑰匯入,您需要透過 CLI 或 API 執行進一步動作。 如果省略此屬性,則會將 false 設為預設值。

    成功的要求會傳回 HTTP 204 No Content 回應,指出您的 Hyper Protect Crypto Services 實例現在已啟用。 您的 Hyper Protect Crypto Services 實例現在只能容許從要求中指定的方法建立或匯入金鑰。

  3. 選用項目: 透過擷取的原則詳細資料,驗證已建立或更新金鑰建立及匯入存取原則 Hyper Protect Crypto Services 實例。

    $ curl -X GET \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \
        -H "accept: application/vnd.ibm.kms.policy+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>"
    

使用金鑰管理服務 API 停用服務實例的金鑰建立及匯入存取原則

作為 Hyper Protect Crypto Services 實例的管理程式,若要使用金鑰管理服務 API 停用金鑰建立及匯入存取原則,請對下列端點發出 PUT 呼叫。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess

當您提出停用金鑰建立及匯入存取原則的要求時,請勿提供任何屬性。

  1. 擷取鑑別認證以使用 API

    若要停用 keyCreateImportAccess 原則,您需要對 Hyper Protect Crypto Services 的 管理員 存取權 實例。 瞭解 IAM 角色如何對映至 Hyper Protect Crypto Services 動作,移出 服務存取角色

  2. 停用您的現有金鑰建立及匯入存取原則 透過執行下列 cURL 指令,Hyper Protect Crypto Services 實例。

    $ curl -X PUT \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \
        -H "accept: application/vnd.ibm.kms.policy+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.policy+json" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.policy+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "policy_type": "keyCreateImportAccess",
                        "policy_data": {
                            "enabled": false
                        }
                    }
                ]
            }'
    

    根據下表取代範例要求中的變數。

    表 2. 說明停用金鑰建立及匯入存取原則所需的變數
    變數 說明
    region 必要。 代表 Hyper Protect Crypto Services 實例所在地理區域的區域縮寫,例如 us-south。 如需相關資訊,請參閱地區服務端點
    IAM_token 必要。 您的 IBM Cloud 存取記號。 請在 cURL 要求中包含 IAM 記號的完整內容,包括 Bearer 值。 如需相關資訊,請參閱 擷取存取記號
    instance_ID 必要。 指派給 Hyper Protect Crypto Services 實例的唯一 ID。 如需相關資訊,請參閱 擷取實例 ID

    成功要求會傳回 HTTP 204 No Content 回應,指出已更新服務實例的金鑰建立及匯入存取原則。

  3. 選用項目: 透過擷取的原則詳細資料,驗證金鑰建立及匯入存取原則是否已停用 Hyper Protect Crypto Services 實例。

    $ curl -X GET \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \
        -H "accept: application/vnd.ibm.kms.policy+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>"