Skip to main content

SharePointリストアプリ専用認証用の証明書の作成

SharePointリストアプリ専用の認証を有効にするには、証明書を作成し、Azureポータルにアップロードして、プライベートキーを取得する必要があります。

証明書を作成するには

  1. コンピューター上に空のフォルダーを作成します。

  2. フォルダーにテキストファイルを作成します。

  3. Azure ADアプリのみを介するアクセス権の付与 」ページから、PowerShellスクリプトをコピーし、テキストファイルに貼り付けます。

  4. テキストファイルの名前を次のように変更します。

    Create-SelfSignedCertificate.ps1
  5. フォルダーでWindows PowerShellを実行します。

  6. テキストファイルが含まれるディレクトリに移動します。この操作を行わないと、次の手順が失敗します。

  7. コマンドをコピーします。

    .\Create-SelfSignedCertificate.ps1 -CommonName "myCertificate" -StartDate 2022-09-25 -EndDate 2023-10-25
    

    引用符で囲まれた CommonName 値は、作成している証明書の名前です。この値の一意の名前を入力します。 StartDate を現在の日付に、 EndDate を任意の日付に変更します。

  8. コピーしたコマンドと変更をWindows PowerShellに貼り付け、Enterキーを押します。

    Windows PowerShellより、 プライベートキーを保護するためのパスワードの入力 を求められます。

    後の手順で非常に重要になるため、 パスワードは必ず覚えておいてください

  9. Windows PowerShellは、 MyCertificate.pfx MyCertificate.cer という2つのファイルを作成します。

証明書をAzureポータルにアップロードするには

  1. Azureポータルにサインインし、次のパラメーターを使用して新しいアプリケーションを登録します。

    名前: 任意の名前。

    サポートされているアカウントの種類: この組織ディレクトリ内のアカウントのみ(アカウント名のみ - シングルテナント)。

  2. [ APIのアクセス許可 ] > [ アクセス許可の追加 ] > [ Request API permissions] > [ SharePoint ] の順に選択します。

  3. [ アプリケーションのアクセス許可 ] を選択して、必要な権限を追加します。

  4. [ Grant admin consent ] を選択し、[ はい ] を選択します。

  5. 前の手順を完了したら、「 証明書とシークレット 」に進みます。アプリにクライアントシークレットを追加しないでください。証明書ベースの認証フローの妨げとなります。

  6. [ 証明書のアップロード ] を選択し、コンピューターからCER証明書をアップロードします。アップロードが完了したら、[ 追加 ] を選択します。

  7. [ マニフェスト ] に移動し、 KeyCredentials を見つけて、 customKeyIdentifier 拇印 としてコピーします。これは後で使用します。これでアプリが登録され、証明書がリンクされました。

プライベートキーを取得するには、OpenSSLを使用してPFXファイルをPEMファイルに変換します。

  1. コマンドプロンプト を実行します。

  2. PFXファイルが含まれるフォルダーに移動し、次のコマンドを実行します。

    openssl pkcs12 -in MyCertificate.pfx -out MyCertificate.pem -nodes
  3. 証明書作成プロセスの手順8で使用した PFXパスワード を入力します。

  4. メモ帳でPEMファイルを開き、次を含むプライベートキーをコピーします。

    -----BEGIN PRIVATE KEY-----

    To (まで)

    -----END PRIVATE KEY-----

セットアップを完了するには

  1. Azureポータルに新しく登録されたアプリから、 ClientID TentantID をコピーします。

  2. これら4つの資格情報をすべて取得したら、 SharePointリストサービスプリンシパル認証 を使用してサインインできます。

    1. クライアントID

    2. テナントID

    3. 拇印

    4. プライベートキー