
データセキュリティとアクセス管理
「誰が何に触れるか」を設計する具体プロセス
セキュリティは「禁止」よりも「設計」で効きます。まず、データと人の関係を分解し、更新の手間まで含めて運用可能な形に落とすことが重要です。次のプロセスを踏むと、過不足のない制御に近づきます。
- データ資産の棚卸と分類(公開/社内/機微/極秘)。テーブル単位ではなく列単位でPIIや決済情報をタグ付けします。
- ロールと属性の併用(RBAC+ABAC)。「分析者/管理者」などのロールに加え、「拠点=東京」「取引先=A社担当」など属性で絞ります。
- 最小権限の初期セット。読み取りは集計ビューから開始し、生テーブルは申請ベースでJIT(Just-In-Time)付与にします。
- 有効期限つき昇格。JITは最長8時間、理由必須、監査ログ必須。期限切れで自動剥奪します。
- 四半期レビュー。未使用権限は自動失効、棚卸結果と整合しないタグは差分修正します。
データ分類と権限マトリクス
運用の芯になるのは「分類→ルール」のマトリクスです。例として、次を初期ルールにすると迷いが減ります。
- orders(受注): 顧客電話/住所はデフォルトでマスキング、部門別KPIは集計ビューのみ閲覧可、行レベルは担当リージョンで制限。
- payments(決済): 生データは財務チームのみ、RLSはtenant_id=current_tenant()、外部エクスポートは禁止。
- events(行動ログ): サンプリング済みビューは全社可、フルログはプロダクト分析チームのみ。
RLS/マスキングの実装ポイント
行レベルは「tenant_id = user.tenant」「region = user.region」のようにユーザー属性で縛り、ポリシーをビューに集約します。列マスキングは「has_pii_access() が真なら表示、偽なら****」の関数化で再利用性を担保。アプリやBIはこのビューだけを参照させ、直テーブル接続を禁止します。
90日プラン(移行の型)
- 0–30日: データ棚卸とタグ付け、共有リンクの一括停止、集計ビューの標準化、危険な広域ロールの廃止。
- 31–60日: 主要テーブルにRLS/動的マスキングを適用、エクスポート申請フローとテンプレ同意書を導入。
- 61–90日: JIT権限と自動失効、鍵ローテーション運用、監査アラートのしきい値チューニング、DRテスト。
暗号化・鍵管理・監査の現場要件
通信はTLS1.2以上、保存はAES-256を基本に、KMSと連携し180日ローテーションを既定化します。BYOKで鍵のライフサイクルを自社管理し、鍵操作は二名承認(4-eyes)にします。エクスポート用の一時鍵は用途分離し、期限切れで再利用不可にします。
監査は「残す・見える・反応できる」の3点です。不可逆ストレージに全クエリ/権限変更/データ転送を記録し、相関分析で異常を検知します。しきい値の例は「夜間に100万行超のエクスポート」「新規ユーザーの初日に管理ロール付与」「RLSバイパス疑いの直テーブル参照」。発報後は自動でアクセス凍結、チケット発行、再発防止のKPI(MTTR/再発率)まで回します。
秘密情報はノートブックやSQLに直書き禁止、Secret管理に集約。CIでキーやパスワードのリーク検査を走らせ、検出時はビルド失敗と鍵の即時ローテーションを連動させます。
生成AI利用時のデータ持ち出し対策
ChatGPT、Claude、Gemini、Copilotなどの生成AIを業務に使う場面では、「入力データの性質」と「転送経路」を制御します。守るべきはモデル選びよりも前処理と監査です。
- 外部送信前の自動マスキング(氏名/住所/メール/カード番号/顧客IDのパターンを正規表現で置換)。
- プロキシ経由の送信でドメイン許可制と全文監査。プロンプト/応答を14日で自動削除、保存は暗号化。
- サンプルや合成データで再現可能な最小例に還元し、生データは貼らない運用を徹底。
- RAGは「認可済みビューのみ検索可」にし、コネクタ層でユーザー属性を引き回してRLSを貫通させます。
- リスクの高いテーブル名や未公開KPIはプロンプト検査でブロック。回答は人手で二次確認し、意思決定ログに紐付けます。
現場ルールは短く具体的に。「生の個票データを外部LLMに送らない」「社内コード/設計図/鍵の断片は貼らない」「要約は合成データで再現」が効きます。
身近な企業活用例:EC中堅の転び方と立て直し
データ分析基盤を内製していました。初期は全社に広い読み取りを許し、S3相当のストレージが一覧可能、BIの共有リンクが外部に転送される未遂も発生。アナリストが問い合わせ対応のためにChatGPTへ生SQLとサンプル顧客データを貼り付けるヒヤリもありました。
対策は「設計し直す」こと。データを列単位でタグ付けし、RLSを顧客IDと地域で実装、ordersの電話/住所は既定でマスク、役員とCSのみ解除。JIT権限は申請ツールと連携し最長8時間、理由必須。エクスポートは承認+ラベル透かし+保存先限定。鍵はKMS連携で180日ローテ、鍵操作は2名承認に変更しました。
監査は一元化し、「夜間に100万行超エクスポート」「新任者の初日ロール昇格」を検知して自動凍結。生成AIは社内ゲートウェイ経由に限定し、ClaudeやGeminiへの送信前に自動マスキング、Copilotの提案で混入したAPIキーはCIでブロック。プロンプトはナレッジに保存して再利用性を高めました。
3か月後、外部共有リンクは0件に、エクスポート申請の却下率は20%から50%に上がり不要な持ち出しが減少。RLSビュー標準化で平均クエリ時間は15%短縮、ChatGPTの活用も合成データ前提になりレビューが速くなりました。データ解析プラットフォーム事業では、このように認可・暗号・監査・AI利用を一連の運用として回し続ける設計が、信頼できる分析と素早い意思決定を両立させる土台になります。