tencent cloud

Cloud Log Service

ドキュメントCloud Log Service開発者ガイドCLS(DataSight)の統合または組み込み

CLS(DataSight)の統合または組み込み

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 15:06:44
AI翻訳

適用シーン

DataSightは、CLSが提供する独立コンソールです:Tencent Cloudのメインアカウントにログインしなくても、ログ検索、ダッシュボード、アラートなどの機能にアクセスできます。以下のシナリオは、DataSightを通じてCLSをシステム内部に統合するのに適しています:
複数人・複数チームでCLSを共用:Tencent Cloudメインコンソールへの頻繁なログインにより、アカウント管理コストが高く、機能へのアクセス経路が深いため、チームメンバーがすぐに利用でき、Tencent Cloudアカウントが不要であることを望んでいます。
統合運用保守プラットフォーム/ビジネスシステムへの組み込み:ログ検索、ダッシュボードをネイティブモジュールとして内部プラットフォームに組み込むことで、従業員は外部システムに切り替える必要がありません。
企業内部のアカウント体系を再利用:LDAP、OAuthまたは自社開発のログインシステムと連携し、統一ログインを実現します。
ワンクリックでログコンテキストへ直接アクセス:注文、チケットなどの業務詳細ページから、対応するログ検索ページまたはダッシュボードへ直接ジャンプします。
統一ドメインとアクセス入口:会社のドメインとリバースプロキシを使用して入口を集約し、HTTPSを統一し、実際のアドレスを隠すことで、アクセス制御を容易にします。
DataSightの統合機能は以下の表の通りです:
統合機能
統合方式
適用シナリオ
対応章節
ページ内埋め込み
iframe
統一運用保守プラットフォーム、業務システムに組み込む。
リンクダイレクトアクセス
URLパラメータの結合
業務システムから指定のログ検索ページ/ダッシュボードへワンクリックで移動します。
統一ドメイン
カスタムドメイン + リバースプロキシ
実際のドメインを隠し、HTTPSを統一します。
ログイン連携
リバースプロキシ + サードパーティ認証
企業内部のアカウント体系(LDAP / OAuth / 自社開発)を再利用します。
説明:
DataSightは、企業内部システムへの統合に使用できるだけでなく、それ自体も完全な独立コンソールです。使用方法の詳細はDataSight独立コンソールをご覧ください。

前提条件

統合を開始する前に、DataSightインスタンスを作成して設定しておく必要があります:
1. DataSightインスタンスの作成:DataSight独立コンソールの操作手順を参照して、インスタンスを作成し、アクセス方法を選択してください。統合シナリオ(組み込み、ログイン連携)では、内部ネットワークアクセスの使用を推奨します。
2. インスタンスドメインの確認:CLSコンソール → DataSightのインスタンス管理で確認します。
3. ネットワークの接続:イントラネットアクセスを使用する場合、オフィスネットワークとTencent Cloudネットワークは相互接続する必要があります(専用線 / VPN / CCN)。

統合機能

ページ内埋め込み

DataSightページ自体は通常のWebページであり、iframeで読み込むことで内部システムに埋め込むことができます。URLパラメータと組み合わせることで、以下のことが可能です:
指定したログトピックの検索ページ、指定したダッシュボードに直接アクセスします。
hide*シリーズのパラメータを使用して、ナビゲーション、メニュー、ボタンなどのページ要素を非表示にし、埋め込みページをよりシンプルにします。
埋め込み例は以下の通りです:
// 効果をすばやく確認するためのサンプルです。ご自身のビジネスに応じて調整してください。
// 実際の状況に応じて<domain-appid>(DataSightドメインプレフィックス)部分を変更してください。
function prepareSdkFrame(url) {
var ifrm = document.createElement("iframe");
ifrm.setAttribute("src", url);
ifrm.style.width = "1280px";
ifrm.style.height = "960px";
document.body.appendChild(ifrm);
}
const url = 'https://<domain-appid>.clsconsole.tencentcls.com/cls/search?region=${Region}&topic_id=${TopicId}&query=${Query}&time=now-h,now&hideWidget=true&hideTopNav=true&hideLeftNav=true'

prepareSdkFrame(url)
説明:
URLおよびhideパラメータの説明については、ページ埋め込みURLパラメータの説明を参照してください。

カスタムドメインとリバースプロキシ

以下のシナリオでは、カスタムドメインとリバースプロキシを使用する必要があります:
内部システムに埋め込む際は、会社のドメインを統一して使用し、DataSightの実際のドメインを公開しないようにします。
HTTPS入口を統一します。
DataSightのログインリダイレクトを引き継ぎ、内部ログインシステムとの連携と組み合わせて、統一ログインを実現します。
リバースプロキシモジュールのリクエストログを通じて、DataSightのアクセス記録を監査します。

Nginx設定例は以下の通りです:
# 実際の状況に応じて、この設定例の<your-domain.com>、<your-domain-cert>、<domain-appid>(DataSightドメインプレフィックス、パブリック/プライベートドメインに対応)部分を変更してください。
# カスタムドメインにhttpsを有効にし、httpからhttpsへのリダイレクトを強制して、ブラウザリクエストのセキュリティを向上させ、ブラウザリクエストの待ち時間を短縮することを強くお勧めします。
# 例では新しいドメイン(tencentcls.com)を使用しています。古いドメインのインスタンスはtencent-cloud.comに置き換えて、実際のインスタンスドメインを基準としてください。

# httpsプロトコルへの強制リダイレクトを希望しない場合は、このserver設定をコメントアウトできます。
server {
listen 80;
server_name your-domain.com;
return 301 https://$host$request_uri;
}

server {
# httpプロトコルでアクセスする場合は、次の行のコメントを削除できます。
# listen 80;
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate your-domain-cert.pem;
ssl_certificate_key your-domain-cert.key;

location ~ ^/(.*) {
# ここでカスタムアクセス制御ポリシーを追加できます。例えば、指定したreferer値のみアクセスを許可するように制限します。
#set $match "$1::$http_referer";
#if ($match !~* ^(.+)::http[s]*://[www]*[.]*\\1.*$ ) {
# return 403;
#}

proxy_pass https://<domain-appid>.clsconsole.tencentcls.com;
proxy_set_header Host $proxy_host;
proxy_set_header Origin https://$proxy_host;
proxy_set_header Referer "https://$proxy_host/$1";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Proxy true;
proxy_set_header X-Proxy-Host $host;
proxy_set_header X-Proxy-Real-IP $remote_addr;
proxy_set_header X-Proxy-Forwarded-Proto $scheme;
proxy_redirect ~^(.*)/login\\?s_url=https?%3A%2F%2F[a-z0-9\\-]+(.internal)?.clsconsole.tencentcls.com%2F(.*)$ $1/login?s_url=https%3A%2F%2Fyour-domain.com%2F$3;

# DataSightページのTencent Cloudアイコン(favicon)を非表示またはカスタマイズする必要がある場合は、以下の2つのheaderで実現できます。
# proxy_set_header X-DATASIGHT-HIDE-FAVICON true;
# proxy_set_header X-DATASIGHT-FAVICON-URL https://github.githubassets.com/favicons/favicon.png;
}
}
説明:
cls-datasight-demoテンプレートの使用をお勧めします。

内部ログインシステムとの連携



連携の仕組み

Nginxなどのリバースプロキシソフトウェアは、前置ログイン検証モジュールとしてデプロイし、内部ログインシステムと連携することができます。
ユーザーがログイン操作を完了した後、リバースプロキシはリクエストを保護されたバックエンドサービス(DataSight)に転送します。
DataSightのログイン方式で第三者認証ログインを選択した後、DataSight自身はログイン検証を行わず、リバースプロキシから渡されたパラメータを信頼してユーザー身元を判断します。ログイン検証ロジックは完全に企業自身が管理し、内部ログインパスワードなどの機密データはDataSightに渡されず、ユーザー別、ロール別の管理と監査に対応します。
リバースプロキシからDataSightに送信されるリクエストでは、header X-DATASIGHT-USERでユーザー名を指定し、X-DATASIGHT-ROLEでロール名を指定します。複数のロール名を一度に渡す必要がある場合は、X-DATASIGHT-ROLESで渡すこともできます。以下の形式に対応しており、DataSightはそのうち最初のものをロール名として使用します。
英文カンマで区切られた文字列:role1,role2。
JSON配列文字列:["role1", "role2"]。


前提条件

DataSightのログイン方式を第三者認証ログインに設定します。
DataSightロール(ロール名+対応するCAMサブユーザーのSecretId / SecretKey)を作成します。
リバースプロキシを設定します。
DataSightの設定でリバースプロキシのプライベートIPアドレスまたはCIDRを登録します。複数入力できます。英語のカンマで区切ってください。

接続性の検証

設定完了後、リバースプロキシが配置されている環境または類似のネットワーク環境で実行します:
curl -X POST \\
-H "X-DATASIGHT-USER:your_user" \\
-H "X-DATASIGHT-ROLE:your_role" \\
https://<domain-appid>.clsconsole.tencentcls.com/api/user
{"isLoggedIn":true,...,"username":"your_user","role":"your_role","isAuthProxy":true}を返します:DataSightのログイン検証プロキシが正常にアクセスされ、headerのログイン情報によって自動的にログインが完了したことを示します。
{"isLoggedIn":false,"domain":""}を返します:DataSightのログイン検証プロキシが正常にアクセスされたことを示しますが、X-DATASIGHT-ROLEに対応するロールがDataSightに設定されていません。前提条件の手順2を確認してください。
intranet access denied: xxxxを返します:現在のVPC / IPが許可範囲内にありません。前提条件のIP登録を確認してください。

安全上の注意事項

DataSightがheaderを信頼するということは、headerが偽造される可能性があることを意味します。そのため、必ず以下を保証する必要があります:
イントラネット隔離:DataSightはイントラネットからのみアクセス可能で(インターネットからは到達不可)、ユーザーはリバースプロキシを経由せずにDataSightへ直接接続することはできません。
IP登録:DataSightは登録済みのリバースプロキシ送信元のみを信頼します。
なりすまし防止:リバースプロキシは、インバウンドリクエストにクライアントが付与したX-DATASIGHT-USER / X-DATASIGHT-ROLE / X-DATASIGHT-ROLES headerを必ず削除または上書きする必要があります。そうしないと、ユーザーがリバースプロキシ経由でアクセスする際にheaderを偽造して他人になりすます可能性があります。

設定例

統合事例

事例1:iframe埋め込み + ログイン不要(最もシンプル、イントラネット直接埋め込み)

適用シーン:イントラネットの信頼できる環境では、すべてのユーザーがアカウントなしで直接ログを閲覧できます。
設定方法:
1.1 DataSightは匿名ログインを有効にします(イントラネットアクセスのみサポート)。キーには読み取り専用サブユーザーキーを使用します。
1.2 内部プラットフォームページはiframeで埋め込みます。詳細はページ埋め込みを参照してください。
セキュリティ注意事項:匿名ログインのアクセス境界はイントラネット境界と同等です。ログに機密情報が含まれる場合は注意して使用してください。

事例2:LDAP/OAuth/OIDC認証との連携

適用シーン:企業内部でLDAP / AD / OAuth / OIDCアカウント体系を使用している場合。
設定方法:DataSightで第三者認証ログインを有効にし、その後内部ログインシステムとの連携を参照して、完全な設定を完了します。

事例3:自社開発ログインシステムとの連携(非標準プロトコル)

適用シーン:内部ログインプロトコルが自社開発のcookie / token体系であり、標準のLDAP / OAuthではないため、直接接続できません。
設定方法:DataSightで第三者認証ログインを有効にし、その後内部ログインシステムとの連携を参照して、完全な設定を完了します。DataSightは本質的にログインプロトコルを制限しません。リバースプロキシがheader X-DATASIGHT-USERでユーザー名を指定し、X-DATASIGHT-ROLEでロール名を指定できれば、サポートされます。

事例4:業務システムへのディープリンク

適用シーン:業務システム(注文、チケット詳細ページなど)からワンクリックで対応するログ検索結果へジャンプするか、ダッシュボードを表示します。
設定方法:
1.1 DataSight URLを組み立てます(リバースプロキシを有効にしている場合は、リバースプロキシのドメイン名を入力してください)。
1.2 URLパラメータの説明については、ページ埋め込みURLパラメータの説明を参照してください。

よくあるご質問

埋め込み後も上部/左側のナビゲーションが残り、ページがネイティブモジュールのように見えませんか?

hideパラメータを使用して関連モジュールを非表示にします。詳細についてはページ埋め込みURLパラメータの説明を参照してください。

匿名ログインは安全ですか?

匿名ログインのアクセス境界はイントラネット境界と同等です。ログに機密情報が含まれる場合は注意して使用してください。内部ログインシステムと連携して免ログインを実現することをお勧めします。

ユーザー別/ロール別に権限を制御する方法は?

第三者認証ログインとX-DATASIGHT-ROLE(内部ログインシステムとの連携を参照してください)を使用して、DataSight設定で各X-DATASIGHT-ROLEにCAMサブユーザーキーを割り当てます。

iframe統合では要件を満たせず、より深い統合が必要な場合、どうすればよいですか?

cls-console-sdkを使用して二次開発を行います。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック