Contents
- 1 OneDrive の共有リンクに有効期限を設定する意義と全体像
- 2 1. Web 版 OneDrive で共有リンクに有効期限を付ける手順
- 3 2. デスクトップアプリ(Windows / macOS)での有効期限設定手順
- 4 3. モバイルアプリ(iOS / Android)での有効期限設定手順
- 5 4. 既存の共有リンクの有効期限を変更する方法
- 6 5. 管理者向け:Microsoft 365 管理センターで組織全体のデフォルト有効期限を設定する方法
- 7 6. PowerShell と Microsoft Graph API を活用した一括有効期限更新
- 8 7. 有効期限切れ時の挙動とセキュリティベストプラクティス
- 9 8. 今すぐ実践できるチェックリスト
OneDrive の共有リンクに有効期限を設定する意義と全体像
OneDrive でファイルやフォルダーを外部に共有するとき、有効期限 を付与すれば一定期間が過ぎたら自動的にアクセスが無効化されます。情報漏洩リスクの低減だけでなく、不要になったリンクを手動で削除する手間も省けるため、組織全体のセキュリティ運用にとって重要な機能です。本稿では、2024 年時点で提供されている Web・デスクトップ・モバイル各 UI の操作方法と、管理者が組織レベルで設定できるポリシーを体系的に解説します。
1. Web 版 OneDrive で共有リンクに有効期限を付ける手順
Web ブラウザーから OneDrive にサインインし、ファイルやフォルダーの共有リンクを作成する際の標準的な流れです。UI は「設定」アイコン(歯車)ではなく [リンク設定] パネル内に「有効期限」の項目が統合されています。
手順概要
- 対象アイテムを右クリックし、メニューから 共有 を選択
- 「リンクの取得」ダイアログで コピーリンク ボタン横の リンク設定(⚙️)をクリック
- 有効期限 のスイッチをオンにするとカレンダーが表示されるので、希望する終了日を選択
- 必要に応じて パスワード保護 や 閲覧/編集権限 を設定し、リンクのコピー を実行
ポイント:有効期限は「開始日」から最大 365 日先まで指定可能です(管理者が上限を短く制限している場合はその範囲内に収まります)。
注意点と設定項目
- スイッチをオンにしないと期限は無制限 となり、リンクは削除するか手動で無効化するまで有効です。
- カレンダーは日付だけでなく時刻も選択できるため、時間単位での細かな設定が可能です(例:本日 17:00 に期限切れ)。
- 組織外ゲスト向けリンク の場合、一部プランでは有効期限を変更できないことがあります。その際は管理者に問い合わせてください。
2. デスクトップアプリ(Windows / macOS)での有効期限設定手順
OneDrive クライアントからエクスプローラー(または Finder)上で直接共有リンクを作成できます。UI は Web と同様に「リンク設定」パネルが表示されます。
手順概要
- エクスプローラー/Finder で対象アイテムを右クリック → OneDrive で共有 → リンクのコピー
- 表示された小さなポップアップで リンク設定(歯車アイコン)を選択
- 有効期限 のスイッチをオンにし、カレンダーから終了日を指定
- 設定が完了したら コピー ボタンでリンクを取得
デスクトップ版の特徴
- UI がシンプル化されており、「有効期限」 の項目は常に表示可能です。
- ネイティブアプリなので、オフライン状態でもリンク作成はできますが、有効期限の設定はオンライン時のみ反映されます。
3. モバイルアプリ(iOS / Android)での有効期限設定手順
スマートフォンやタブレットから OneDrive アプリを利用して共有する場合でも、同様に有効期限を付与できます。
手順概要
- アプリを起動し、対象ファイル/フォルダーを長押し → 共有 アイコンをタップ
- 「リンクを作成」画面で リンク設定(歯車マーク)を選択
- 有効期限 のトグルをオンにし、カレンダーから終了日を選択
- 必要なら パスワード を入力し、リンクをコピー して完了
モバイル UI の留意点
- 小さな画面でも操作しやすいよう、設定項目は折りたたみ式で表示されます。
- iOS と Android で若干レイアウトが異なるものの、機能自体は同一です。
4. 既存の共有リンクの有効期限を変更する方法
すでに発行済みのリンクでも、有効期限は後から更新できます。ただし、リンク種別やプラン制約 によっては編集がロックされることがあります。
ファイル単位・フォルダー単位共通手順
- OneDrive Web で対象アイテムを開き、上部の 共有 ボタンをクリック
- 「リンクの管理」セクションに現在有効なリンク一覧が表示されるので、変更したいリンク右側の …(詳細) を選択 → 設定
- 有効期限 のスイッチをオン/オフし、カレンダーで新しい終了日を指定
- 保存 ボタンを押すと即座に反映され、リンクを再コピーすれば新しい期限が適用された状態になる
変更できないケース:
- 「組織外ゲスト」向けに作成されたリンクは、一部プランで期限変更が不可。
– 管理者が「ユーザーによる有効期限設定」を無効化している場合。
5. 管理者向け:Microsoft 365 管理センターで組織全体のデフォルト有効期限を設定する方法
IT管理者は Microsoft 365 管理センター の OneDrive 設定から、ユーザーがリンク作成時に自動的に適用されるデフォルト期限と、選択可能な最大期間を一括で定義できます。これにより、期限忘れによる無制限共有リスクを根本的に防げます。
設定手順
- 管理センター(https://admin.microsoft.com)へグローバル管理者または SharePoint 管理者 権限でサインイン
- 左メニューの [設定] → [OneDrive] を開き、上部タブから [共有] を選択
- 「リンク有効期限」セクションにある デフォルト有効期限 と 最大有効期限 の入力欄に日数を入力(例:7 日/365 日)
- 設定内容を確認し、画面下部の 保存 をクリック
| 項目 | 説明 | 推奨設定例 |
|---|---|---|
| デフォルト有効期限 | ユーザーが何も指定しなかった場合に自動適用される期間 | 7 日 |
| 最大有効期限 | ユーザーが選択できる最長期間(管理者が上限を設定) | 365 日 |
注意点
- OneDrive for Business のみでなく、SharePoint Online 上のドキュメントライブラリでも同一ポリシーが適用されます。
- 設定変更は数分から最大 1 時間程度の遅延があり、一部ユーザーに即時反映されないことがあります(Microsoft の内部キャッシュ)。
- プラン別制限:Enterprise E3/E5 や Microsoft 365 Business Premium では上記項目をフルコントロールできますが、Business Basic は管理者が最大期限だけ設定可能で、デフォルトは「無期限」のままになる場合があります。公式ドキュメント(Microsoft Learn)をご参照ください。
6. PowerShell と Microsoft Graph API を活用した一括有効期限更新
多数の共有リンクを個別に手作業で変更するのは非効率です。PowerShell スクリプトと Graph API を組み合わせれば、組織全体または特定ユーザーのリンク期限を自動化できます。
必要な前提条件
| 前提条件 | 詳細 |
|---|---|
| PowerShell バージョン | 7.0 以上 |
| モジュール | Microsoft.Graph(最新) |
| ロール | SharePoint Administrator または Global Administrator が必要 |
| API パーミッション | Sites.ReadWrite.All(アプリ許可)または Files.ReadWrite.All(委任) |
PowerShell サンプルスクリプト
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 1. Microsoft Graph モジュールをインポートし、管理者権限でサインイン Import-Module Microsoft.Graph Connect-MgGraph -Scopes "Sites.ReadWrite.All" # 2. 対象ユーザーとアイテムを指定(例: user@contoso.com の特定フォルダー) $UserId = "user@contoso.com" $DriveItemId = "<drive-item-id>" # 3. 現在の共有リンク一覧を取得 $permissions = Get-MgUserDriveItemPermission -UserId $UserId -DriveItemId $DriveItemId foreach ($perm in $permissions) { if ($perm.Link -ne $null) { # 4. 有効期限を30日後に設定 $body = @{ expirationDateTime = (Get-Date).AddDays(30).ToString("o") } Update-MgUserDriveItemPermission ` -UserId $UserId ` -DriveItemId $DriveItemId ` -PermissionId $perm.Id ` -BodyParameter $body } } Write-Host "対象リンクの有効期限を 30 日に更新しました。" |
Microsoft Graph API の直接呼び出し例
|
1 2 3 4 5 6 7 8 |
PATCH https://graph.microsoft.com/v1.0/users/{user-id}/drive/items/{item-id}/permissions/{perm-id} Content-Type: application/json Authorization: Bearer {access_token} { "expirationDateTime": "2025-12-31T23:59:59Z" } |
| パラメータ | 説明 |
|---|---|
{user-id} |
対象ユーザーの Azure AD オブジェクト ID または UPN |
{item-id} |
OneDrive 上のファイル/フォルダー ID |
{perm-id} |
更新したい共有リンク(Permission)の ID |
expirationDateTime |
ISO 8601 形式で指定する期限日時 |
この方法を利用すれば、例えば「全社の営業資料の共有リンクはすべて 60 日以内に自動リセット」など、ポリシー実装が容易になります。
7. 有効期限切れ時の挙動とセキュリティベストプラクティス
有効期限が経過するとリンクは アクセス不可 となりますが、元データ自体は OneDrive に残ります。正しい運用を行うために知っておきたいポイントと推奨手順です。
切れたリンクへのユーザー表示例
| 状況 | 表示メッセージ | ユーザー側の対応 |
|---|---|---|
| 有効期限切れ(外部ユーザー) | 「このリンクは無効です」または「権限がありません」 | 新しい有効期限付きリンクを依頼 |
| 自社内部ユーザーが期限切れ | 同上だが、管理者に連絡して再共有依頼が一般的 | 管理者がリンク再作成 |
変更できないケースと対処法
| 条件 | 原因 | 推奨対応 |
|---|---|---|
| 「組織外ゲスト」向けリンク | ゲストリンクは期限変更がロックされることがある | 古いリンクを削除し、期限付きの新規リンクを作成 |
| プランが OneDrive for Business (個人) のみ | 有効期限機能が制限的 | ビジネスプラン(Premium)へアップグレードまたは管理者に相談 |
| 管理者が「ユーザーによる有効期限設定」を無効化 | ポリシー上の制約 | 管理者に例外申請を行い、必要ならポリシー緩和を依頼 |
安全な共有設定チェックリスト
- 有効期限+パスワード保護 を組み合わせる
- 30 日以上の長期リンクは業務上必須か再評価する
- 使用しなくなったリンクは 管理センター → 共有 → リンク一覧 から手動削除
- 月次で 共有設定レビュー を実施し、不要リンクを洗い出す
- デフォルト有効期限は 7〜30 日 に設定し、例外は個別承認フローへ
8. 今すぐ実践できるチェックリスト
| 項目 | 実施状況(✔/✖) | コメント |
|---|---|---|
| Web・デスクトップ・モバイルで新規リンク作成時に有効期限を設定したか | ||
| 既存リンクの有効期限変更手順を実行し、期限が正しく反映されたことを確認したか | ||
| 管理者が Microsoft 365 管理センターでデフォルト有効期限(例:7日)を設定したか | ||
| PowerShell スクリプトまたは Graph API により、対象リンクの一括更新をテストしたか | ||
| 期限切れ時に表示されるエラーメッセージとデータ保持状態を確認したか | ||
| パスワード保護と組み合わせた共有設定を適用しているか | ||
| 定期的な共有設定レビューのスケジュールを社内カレンダーに登録したか |
このチェックリストを活用し、OneDrive の共有リンク管理 を体系的に実施すれば、情報漏洩防止と業務効率化の両立が実現できます。ぜひ本稿の手順を自組織に合わせてカスタマイズし、継続的な運用改善に役立ててください。