コンテンツにスキップ

Integration API

共通仕様

認証・エラー形式・レート制限・共通ヘッダーは API 概要・認証 を参照してください。

Integration(連携)の管理と組織間アクセス共有を行う API です。 Integration はサーバが提供するデータ駆動のカタログで、カテゴリごとに有効と無効を切り替えられます。


Integration 管理

利用可能な Integration 一覧

GET /api/organizations/integrations/

レスポンス例:

[
  {
    "uuid": "int-uuid-001",
    "name": "Slack Notification",
    "description": "Slack チャンネルへのアラート通知",
    "category": "Communication",
    "provider": "CSIRT-Pro",
    "icon_url": "https://example.com/icons/slack.png",
    "enabled": true,
    "verified": true,
    "rating": 4.5,
    "downloads": 120,
    "require_permissions": ["case", "playbook"]
  }
]

Integration 詳細

GET /api/organizations/integrations/<uuid>/

レスポンス例:

{
  "uuid": "int-uuid-001",
  "name": "Slack Notification",
  "description": "Slack チャンネルへのアラート通知",
  "long_description": "CSIRT-Pro のケースやアラートを Slack に自動通知します...",
  "category": "Communication",
  "provider": "CSIRT-Pro",
  "verified": true,
  "price": 0,
  "default_dashboard_ids": ["dash-001"],
  "default_pipelines": ["pipe-001"],
  "default_playbooks": ["pb-001"],
  "default_ueba_group_ids": ["group-001"]
}

有効化された Integration

有効化済み一覧

GET /api/organizations/enabled-integrations/

Integration の有効化/無効化

POST /api/organizations/enabled-integrations/

リクエストボディ:

{
  "integration_uuid": "int-uuid-001",
  "enabled": true
}

有効化すると、以下のリソースが自動的にプロビジョニングされます:

  • デフォルト Dashboard
  • デフォルト Pipeline
  • デフォルト Playbook
  • UEBA グループ
  • SharedAccess 権限

組織間アクセス共有 (SharedAccess)

共有一覧

GET /api/organizations/shared-access/

レスポンス例:

[
  {
    "id": 1,
    "resource_type": "pipeline",
    "resource_id": "pipe-001",
    "resource_owner_organization": "org-uuid-001",
    "shared_with_organization": "org-uuid-002",
    "permission": "read",
    "permission_type": "log",
    "permission_query": "{\"severity\": \"high\"}"
  }
]

共有の作成

POST /api/organizations/shared-access/

リクエストボディ:

{
  "resource_type": "pipeline",
  "resource_id": "pipe-001",
  "shared_with_organization": "org-uuid-002",
  "permission": "read",
  "permission_type": "log",
  "permission_query": "{\"severity\": \"high\"}"
}

パーミッションレベル:

permission 説明
read 読み取りのみ
write 読み書き
admin 全権限

パーミッションタイプ:

permission_type 説明
log ログデータへのアクセス
case ケースへのアクセス
playbook Playbook へのアクセス
pipeline Pipeline へのアクセス
load_dashboard Dashboard の読み込み
asset アセット情報へのアクセス

共有詳細取得

GET /api/organizations/shared-access/<id>/

共有更新

PUT /api/organizations/shared-access/<id>/

共有削除

DELETE /api/organizations/shared-access/<id>/

permission_query によるレコードの絞り込み

permission_query フィールドを使うと、共有したリソースにレコード単位の絞り込み条件を付与できます。 共有先の組織には、この条件に一致するレコードだけが見えます。

{
  "permission_query": "{\"severity\": \"high\"}"
}

上記の設定では、共有先の組織は severityhigh のレコードのみ閲覧できます。