Security Actions API

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

本頁說明如何使用 Apigee Management API 管理安全性動作。如要瞭解安全性動作功能總覽,包括限制和延遲時間,請參閱安全性動作總覽和使用者介面

您可以透過 Apigee Management API 存取所有安全防護動作功能。如要瞭解所有可用指令,請參閱 Security Actions API 參考資料。本頁面列舉部分可用指令的範例。

範例中使用的變數

本頁面的範例可能包含下列變數:

  • ORG 是指機構。
  • ENV 是安全措施的環境。
  • ACTION_NAME 是安全措施的名稱。

建立安全性動作

本節提供範例,說明如何建立不同動作類型的安全性動作。

建立拒絕動作

如要建立拒絕動作,請輸入類似下列的指令:

curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions?security_action_id=ACTION_NAME \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"state": "ENABLED", "deny": {"response_code": 404}, "condition_config": {"ip_address_ranges": ["100.0.225.0"]}}'

這會建立安全性動作,拒絕存取 ip_address_ranges 後列出的 IP 位址要求,並傳回 404 回應代碼。

建立旗標動作

如要建立標記動作,請輸入類似下列的指令:

curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions?security_action_id=ACTION_NAME" \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"state": "ENABLED", "flag": {"headers": [{"name": "senseflag", "value": "flagvalue"}]}, "condition_config": {"ip_address_ranges": ["100.0.230.0"]}}'

這會建立安全措施,標記 ip_address_ranges 後列出的 IP 位址所發出的要求,並新增標頭 senseflag,值為 flagvalue

建立允許動作

如要建立允許動作,請輸入類似下列的指令:

curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions?security_action_id=ACTION_NAME \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"state": "ENABLED", "allow": {}, "condition_config": {"ip_address_ranges": ["100.0.220.0", "200.0.0.0"]}}'

這會建立安全措施,允許來自 ip_address_ranges 後所列 IP 位址的要求。

編輯安全性動作

本節提供範例,說明如何編輯現有的安全性動作設定。如要查看這類變更的範例,請參閱「啟用或停用安全性動作」或「刪除安全性動作」。

編輯拒絕動作

本節將示範如何編輯拒絕動作。API 也支援編輯其他動作類型

update_mask 可以包含下列任一選項:description,condition_config, api_proxies,expire_time,ttl,flag,allow,deny,* (所有項目),或省略 (預設為所有項目)。

如要進一步瞭解編輯動作時的可能值,請參閱 安全性動作 API 參考說明文件

  curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME?update_mask=deny,condition_config" \
         -H "Authorization: Bearer $TOKEN" \
         -d '{"deny": {"response_code": 404}, "condition_config": {"ip_address_ranges": ["100.0.230.0"]}}' \
         -H "Content-Type: application/json"
         {
           "name": "ACTION_NAME",
           "state": "ENABLED",
           "createTime": "2022-12-29T18:28:50Z",
           "updateTime": "2022-12-29T18:28:50Z",
           "conditionConfig": {
             "ipAddressRanges": [
               "100.0.230.0"
             ]
           },
           "deny": {
             "responseCode": 404
           }
         }

啟用或停用安全性動作

以下範例顯示啟用或停用安全防護動作的 API 呼叫。

啟用安全措施

如要啟用安全性動作,請輸入類似下列的指令:

curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME:enable"
       -H "Authorization: Bearer $TOKEN"

這會傳回類似以下的回應:

{
      "name": "ACTION_NAME",
      "state": "ENABLED",
      "createTime": "2022-12-29T18:27:31Z",
      "updateTime": "2023-01-03T23:19:26.650965481Z",
      "conditionConfig": {
        "ipAddressRanges": [
          "100.0.220.0",
          "200.0.0.0"
        ]
      },
      "allow": {},
      "expireTime": "2028-01-01T00:00:00Z"
}

停用安全性動作

如要停用安全性動作,請輸入類似下列的指令:

curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME:disable"
       -H "Authorization: Bearer $TOKEN"

這會傳回類似以下的回應:

{
      "name": "actionallow",
      "state": "DISABLED",
      "createTime": "2022-12-29T18:27:31Z",
      "updateTime": "2023-01-03T23:13:04.874540001Z",
      "conditionConfig": {
        "ipAddressRanges": [
          "100.0.220.0",
          "200.0.0.0"
        ]
      },
      "allow": {},
      "expireTime": "2028-01-01T00:00:00Z"
}

取得或列出安全性動作

下列範例說明如何取得或列出安全性動作

取得安全動作

如要取得安全性動作,請輸入類似下列的指令:

curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME"
       -H "Authorization: Bearer $TOKEN"

這會傳回類似以下的回應:

{
      "name": "ACTION_NAME",
      "state": "DISABLED",
      "createTime": "2022-12-29T18:27:31Z",
      "updateTime": "2023-01-03T23:13:04Z",
      "conditionConfig": {
        "ipAddressRanges": [
          "100.0.220.0",
          "200.0.0.0"
        ]
      },
      "allow": {},
      "expireTime": "2028-01-01T00:00:00Z"
}

列出安全性動作

如要列出所有安全性動作,請輸入類似下列的指令:

curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions"
       -H "Authorization: Bearer $TOKEN"

暫停或繼續執行安全性動作

以下範例說明如何暫停或繼續執行安全性動作

暫停所有安全性動作

如要暫停所有安全性動作,請輸入類似下列的指令:

curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActionsConfig" \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"enabled": "false", "name": "organizations/ORG/environments/ENV/securityActionsConfig"}'

這會傳回類似以下的回應:

{
      "name": "organizations/ORG/environments/ENV/securityActionsConfig",
      "enabled": false,
      "updateTime": "2023-01-23T21:44:58.063807Z"
}

繼續執行已暫停的安全性動作

如要繼續執行已暫停的安全措施,請輸入類似下列的指令:

curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActionsConfig" \
       -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       -d '{"enabled": "true", "name": "organizations/ORG/environments/ENV/securityActionsConfig"}'

這會傳回類似以下的回應:

{
      "name": "organizations/ORG/environments/ENV/securityActionsConfig",
      "enabled": true,
      "updateTime": "2023-01-23T21:44:58.063807Z"
}

刪除安全性動作

如要刪除安全性動作,請輸入類似下列的指令:

curl -X DELETE "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME"
       -H "Authorization: Bearer $TOKEN"