Skip to content

Latest commit

 

History

History
78 lines (56 loc) · 4.24 KB

File metadata and controls

78 lines (56 loc) · 4.24 KB

Microsoft Entra ID セットアップガイド

d-msgraph-cli を使用するには、Microsoft Entra ID (旧 Azure AD) にアプリケーションを登録する必要があります。このガイドでは、その手順を説明します。

前提条件

  • Azure サブスクリプション
  • Microsoft Entra ID の管理者権限(API のアクセス許可に管理者の同意を付与するため)

1. アプリの登録

  1. Azure Portal にサインインします
  2. Microsoft Entra ID を開きます
  3. 左メニューから アプリの登録 を選択します
  4. 新規登録 をクリックします
  5. 以下の情報を入力します:
    • 名前: d-msgraph-cli(任意の名前で構いません)
    • サポートされるアカウントの種類: 「この組織ディレクトリのみに含まれるアカウント」を選択
    • リダイレクト URI: 空のままにします
  6. 登録 をクリックします

登録完了後、概要ページに表示される以下の値を記録してください:

  • アプリケーション (クライアント) ID (Application (client) ID)
  • ディレクトリ (テナント) ID (Directory (tenant) ID)

2. API のアクセス許可追加

  1. 左メニューから API のアクセス許可 を選択します
  2. アクセス許可の追加 をクリックします
  3. Microsoft Graph を選択します
  4. 委任されたアクセス許可 を選択します
  5. 以下のアクセス許可を検索して追加します:
    • User.Read - サインインしたユーザーのプロフィール読み取り
    • Mail.Read - メールの読み取り
    • Mail.Send - メールの送信
    • Calendars.ReadWrite - カレンダーの読み書き
  6. アクセス許可の追加 をクリックします
  7. 「(テナント名) に管理者の同意を与えます」 をクリックして、管理者の同意を付与します

3. 認証設定

デバイスコードフロー(対話的ログイン)を使用するために、パブリッククライアントフローを有効にします。

  1. 左メニューから 認証 (もしくは Authentication (Preview) )を選択します
  2. ページ下部の 詳細設定 セクションを探します(もしくは 設定 タブ)
  3. パブリック クライアント フローを許可するはい に設定します
  4. 保存 をクリックします

4. クライアントシークレットの作成(オプション)

Client Credentials フロー(ユーザー操作なしの自動認証)を使用する場合は、クライアントシークレットが必要です。

  1. 左メニューから 証明書とシークレット を選択します
  2. クライアント シークレット タブで 新しいクライアント シークレット をクリックします
  3. 説明と有効期限を設定して 追加 をクリックします
  4. 生成された を記録します(この画面を離れると再表示できません)

注意: Client Credentials フローを使用する場合は、API のアクセス許可で「委任されたアクセス許可」の代わりに「アプリケーションのアクセス許可」を追加し、管理者の同意を付与する必要があります。

5. 環境変数の設定

プロジェクトのルートディレクトリに .env ファイルを作成し、以下の環境変数を設定します。

# 必須
AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

# Client Credentials フロー使用時のみ
AZURE_CLIENT_SECRET=your-client-secret-value
  • AZURE_CLIENT_ID: 手順1で記録したアプリケーション (クライアント) ID
  • AZURE_TENANT_ID: 手順1で記録したディレクトリ (テナント) ID
  • AZURE_CLIENT_SECRET: 手順4で記録したクライアントシークレットの値(Client Credentials フロー使用時のみ)

注意: .env ファイルには機密情報が含まれるため、Git リポジトリにコミットしないでください。.gitignore.env が含まれていることを確認してください。