Slack 解説
概要:Slackとは何か
Slackは、チームや会社のメンバーが仕事の連絡をまとめて行うためのチャットツールだ。
メールと何が違うのかというと、メールは「封筒に入れて送る手紙」に近い。一方Slackは、グループLINEのようなイメージに近い。みんなが同じ部屋で話しているような感覚で、リアルタイムにやり取りできる。
メール Slack
────────── ──────────────────────
宛先を指定 チャンネルに投稿
返信が埋もれる スレッドで整理される
添付ファイル ファイル・画像を即共有
CC/BCC管理 チャンネルで公開範囲を管理
特に、チャンネルという仕組みが便利だ。たとえば「#営業チーム」「#開発」「#雑談」のように話題ごとに部屋を分けられる。見たい話題だけを見に行けるため、不要な連絡に埋もれにくい。
GoogleカレンダーやGitHubなど外部ツールとも連携でき、「タスクが完了した」「会議が始まる」といった通知をSlack上でまとめて受け取ることもできる。
深掘り:技術的な仕組みを理解する
アーキテクチャの概要
SlackはWebSocketとHTTPSを組み合わせたクライアント・サーバー型のSaaSアプリケーションだ。
[クライアント(ブラウザ/アプリ)]
│
│ WebSocket(常時接続)
▼
[Slackサーバー群]
│
├── メッセージング基盤(Kafka等)
├── ストレージ(メッセージ・ファイル)
└── 外部サービス連携(Webhook / API)
リアルタイム通信:WebSocket
Slackがメッセージを即座に届けられる理由は、WebSocketプロトコルを使っているためだ。通常のHTTPは「クライアントがリクエストを送ったときだけサーバーが返す」一方通行だが、WebSocketは一度接続を確立するとサーバー側からもプッシュ通知を送れる双方向通信を実現する。
HTTP(通常): クライアント→リクエスト→サーバー→レスポンス(終了)
WebSocket: クライアント←→サーバー(接続を維持し続ける)
チャンネルとワークスペース
| 概念 | 説明 |
|---|---|
| ワークスペース | 会社・チーム単位の空間。URLが 会社名.slack.com となる |
| チャンネル | 話題ごとの部屋。# 始まりで識別される |
| DM(ダイレクトメッセージ) | 1対1または少人数のプライベート通信 |
| スレッド | 特定メッセージへの返信をまとめる仕組み |
Slack API と Webhook
Slackは充実したAPIを公開しており、外部システムとの連携が容易だ。
- Incoming Webhook:外部サービス(CI/CD、監視ツールなど)からSlackチャンネルへメッセージを送信する最もシンプルな方法。
- Events API:メッセージ投稿・リアクションなどのイベントを外部アプリがWebhookで受け取る仕組み。
- Slack App / Bot:OAuth 2.0で認証し、メッセージ送信・チャンネル管理・ユーザー情報取得などをプログラムから操作できる。
外部サービス(例:GitHub)
│
│ HTTP POST(Incoming Webhook)
▼
[Slackチャンネル] → メンバー全員に通知
セキュリティ
| 項目 | 内容 |
|---|---|
| 通信暗号化 | TLS 1.2以上 |
| 認証 | OAuth 2.0、SAML SSO(Enterprise Grid) |
| データ保存 | AES-256による暗号化ストレージ |
| 監査ログ | Enterprise Gridでは全操作ログを取得可能 |
プランと機能差異
| プラン | 主な制限・特徴 |
|---|---|
| Free | メッセージ履歴90日、アプリ連携10件まで |
| Pro | 無制限メッセージ、ゲストアカウント追加可能 |
| Business+ | SAML SSO、エクスポート機能 |
| Enterprise Grid | 複数ワークスペース管理、高度なコンプライアンス機能 |
まとめ表
| 項目 | 内容 |
|---|---|
| 分類 | SaaS型ビジネスチャットツール |
| 通信方式 | WebSocket(リアルタイム) + HTTPS |
| 主な構成要素 | ワークスペース・チャンネル・DM・スレッド |
| 外部連携方法 | Incoming Webhook / Events API / Slack App |
| 認証方式 | OAuth 2.0、SAML SSO |
| 暗号化 | TLS(通信)、AES-256(保存) |
キーワード早見表
| 用語 | 一行説明 |
|---|---|
| ワークスペース | 会社・チーム単位のSlack空間 |
| チャンネル | 話題ごとに分けられた会話部屋 |
| スレッド | 特定メッセージへの返信をまとめる機能 |
| WebSocket | サーバーからもリアルタイムで送信できる双方向通信プロトコル |
| Incoming Webhook | 外部サービスからSlackにメッセージを送るためのURL |
| OAuth 2.0 | アプリ連携時の認証・認可の業界標準プロトコル |
| SAML SSO | 企業の認証基盤(Active Directoryなど)とSlackをつなぐシングルサインオン方式 |
| Enterprise Grid | 複数ワークスペースを一元管理できる大企業向けプラン |