有効期限があるアラートの設定

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。
情報

TLS の有効期限切れのアラートを使用して、環境内の TLS 証明書の有効期限が近づいたときに通知を生成します。

TLS 証明書について

TLS(Transport Layer Security)は、ウェブサーバーとウェブ クライアント(ブラウザやアプリなど)の間で、暗号化されたリンクを確立するための標準的なセキュリティ テクノロジーです。暗号化されたリンクにより、サーバーとクライアントの間で送受信される全データに対して機密性が確保されます。

TLS 証明書は、TLS トランザクションでエンティティを識別するデジタル ファイルです。Edge は TLS 証明書を使用して、次の TLS を構成します。

TLS 証明書には有効期限が含まれています。TLS 証明書の有効期限が切れると、証明書を更新するまで TLS 接続は失敗します。つまり、証明書を更新するまで、API へのすべてのリクエストが失敗します。

有効期限アラートについて

証明書の有効期限が切れて API へのリクエストが失敗するのを待つのではなく、有効期限切れのアラートを使用して、環境内の TLS 証明書の有効期限が近づいたときに通知を生成します。アラートがトリガーされたら、証明書を更新して、お客様がサービスの中断を認識しないようにします。

アラートを構成するときに、個々の証明書ではなく、特定の環境を指定します。デプロイされた証明書のいずれかが指定された期間内に期限切れになるようにスケジュールされている場合、アラートがトリガーされます。

有効期限アラートは、次のタイミングで発生するように設定できます。

  • 証明書の有効期限の 1 日前
  • 証明書の有効期限の 14 日前
  • 証明書の有効期限が切れる 30 日前
アラートの詳細については、アラートと通知を設定するをご覧ください。

有効期限があるアラートと通知を追加する

有効期限のアラートと通知を追加するには:
  1. Edge UI で [Analyze] > [Alert Rules] をクリックします。
  2. [+Alert] をクリックします。
  3. アラートに関する次の一般情報を入力します。
    項目 説明
    アラート名 アラートの名前。トリガー要因を表すわかりやすい名前を使用します。名前は 128 文字以下でなければなりません。
    説明 アラートの説明。
    アラートの種類 [TLS Expiry] を選択します。詳細については、アラートの種類についてをご覧ください。
    環境 プルダウン リストから環境を選択します。
    ステータス アラートを有効または無効に切り替えます。
  4. アラートをトリガーする条件のしきい値とディメンションを定義します。
    条件フィールド 説明
    しきい値

    有効期限切れの証明書の期間を構成します。証明書の有効期限が切れるまでの期間を指定して、アラートを生成できます。

    • 1 日
    • 14 日
    • 30 日
    ディメンション ディメンションは、環境内の任意の TLS 証明書に対応する値 Any TLS Certificates に固定されます。
  5. [+ Notification] をクリックして、アラート通知を追加します。
    通知の詳細 説明
    チャネル 使用する通知チャネルを選択し、送信先を指定します(メール、Slack、PagerDuty、または Webhook)。
    発信先 選択したチャネルタイプに基づいて次の送信先を指定します。
    • メール - メールアドレス(joe@company.com など)
    • Slack - Slack チャネルの URL(https://hooks.slack.com/services/T00000000/B00000000/XXXXX など)
    • PagerDuty - PagerDuty コード(abcd1234efgh56789 など)
    • Webhook - Webhook URL(https://apigee.com/test-webhook など)

      : 通知ごとに 1 つの送信先のみ指定できます。同じチャネルタイプに複数の送信先を指定するには、通知を追加します。

  6. 通知を追加するには、前の手順を繰り返します。
  7. 通知を追加した場合は、以下の項目を設定します。
    項目 説明
    ハンドブック (省略可)自由形式のテキスト フィールドで、アラートが発生したときにそのアラートを解決するために行う推奨処置の短い説明を入力します。ベスト プラクティスが掲載されている社内 wiki やコミュニティ ページのリンクも指定できます。このフィールドの情報は、通知に追加されます。このフィールドの内容は 1,500 文字以下でなければなりません。
    Throttle 通知を送信する頻度。プルダウン リストから値を選択します。
  8. [保存] をクリックします。

[Events] ダッシュボードでアラートを表示する

Edge がアラートの条件を検出すると、その条件は Edge UI の [Events] ダッシュボードに自動的にロギングされます。[イベント] ダッシュボードに表示されるイベントのリストには、修正済みと証明書の両方のアラートがすべて含まれます。

アラートを表示するには:

  1. Edge UI で [分析] > [イベント] をクリックします。新しい [イベント] ダッシュボードが表示されます。

  2. [Events] ダッシュボードを以下でフィルタします。

    • 環境
    • リージョン
    • 期間
  3. [イベント] ダッシュボードで行を選択して、期限切れの証明書を含むキーストアを表示し、アラートをさらに調査します。[キーストア] ページで、新しい証明書をアップロードし、期限切れの証明書を削除できます。

有効期限アラートでアラート API を使用する

有効期限アラートの作成と管理に使用するほとんどの API は、固定アラートで使用するものと同じです。次のアラート API は、固定アラートと有効期限アラートの両方で同じように機能します。

ただし、一部の API には異常アラートをサポートする次のような追加のプロパティがあります。

有効期限アラートを作成または更新する

現在固定アラートに使用しているのと同じ API を使用して、有効期限アラートを作成または更新します。有効期限アラートを作成または更新する API 呼び出しの本文は、固定アラートで使用されるものと同じですが、次の点が異なります。

  • アラートが有効期限アラートであることを指定するには、新しく以下のプロパティを追加する必要があります。

    "alertType": "cert"
    "alertSubType": "certfixed"

    これらのプロパティのデフォルト値は次のとおりです。

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions 配列内:

    • metrics プロパティは expiration の値のみを受け取ります。
    • gracePeriodSeconds プロパティを使用して、証明書の有効期限の期間を秒単位で指定します。最大期間は 30 日です。
    • thresholddurationSecondscomparator プロパティはサポートされていません。
  • conditions 配列の dimensions 要素で:
    • certificate プロパティの値を ANY に設定する必要があります。
    • proxy プロパティの値を ALL に設定する必要があります。
    • statusCodedeveloperAppcollectionfaultCodeCategoryfaultCodeSubCategoryfaultCodeName プロパティはサポートされていません。
  • reportEnabled プロパティは、有効期限アラートではサポートされていません。

次の API 呼び出しの例では、本番環境の証明書の有効期限が 30 日以内に切れるときにトリガーされる有効期限アラートを作成します。アラートがトリガーされると、指定したメールアドレスに通知が送信されます。

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
  "organization":"myorg",
  "name":"My Cert Expiry Alert",
  "description":"My Cert Expiry Alert",
  "environment":"prod",
  "enabled":true,
  "alertType": "cert",
  "alertSubType": "certfixed",
  "conditions":[
  {
    "description":"My Cert Expiry Alert",
    "dimensions":{
      "org":"myorg",
      "env":"prod",
      "proxy":"ALL",
      "certificate": "ANY"
    },
    "metric":"expiration",
    "gracePeriodSeconds": 2592000
  }],
  "notifications":[{
    "channel":"email",
    "destination":"ops@acme.com"
  }],
  "playbook":"http://acme.com/pb.html",
  "throttleIntervalSeconds":3600,
  "reportEnabled":false
}'

OAuth 2.0 アクセス トークンの取得の説明に従って、$ACCESS_TOKEN を OAuth 2.0 アクセス トークンに設定します。この例で使用されている cURL オプションについては、cURL を使用するをご覧ください。

有効期限のアラートを受け取る

デフォルトでは、Get Alerts API は、固定アラートと有効期限アラートの両方を含む、定義されたすべてのアラートに関する情報を返します。この API でクエリ パラメータを取得して、結果をフィルタできるようになりました。

  • enabled - true が、有効なアラートのみを返すよう指定した場合。デフォルト値は false です。
  • alertType - 返されるアラートのタイプを指定します。指定できる値は、デフォルトの runtimecert です。
  • alertSubType - 返すアラートのサブタイプを指定します。デフォルト値は未設定です。つまり、すべてのアラート サブタイプが返されます。有効期限アラートを返すには、certfixed を指定します。

たとえば、次の API 呼び出しを使用すると、myorg という名前の組織に対して有効なアラートのみが返されます。

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

次の呼び出しでは、有効 / 無効を問わず有効期限アラートのみが返されます。

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=cert&alertSubType=certfixed'

OAuth 2.0 アクセス トークンの取得の説明に従って、$ACCESS_TOKEN を OAuth 2.0 アクセス トークンに設定します。この例で使用されている cURL オプションについては、cURL を使用するをご覧ください。