

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SharePoint の Microsoft Entra ID アプリ専用認証を設定する
<a name="kb-managed-sharepoint-entra-setup"></a>

Microsoft Entra ID App-Only 認証 (`ENTRA_ID_APP_ONLY`) は、SharePoint データソースに推奨される認証方法です。OAuth 2.0 クライアント認証情報 (アプリケーションのみ) フローを使用します。Microsoft Entra アプリケーションは証明書で認証するため、クロール時またはクエリ時にユーザーのサインインは関与しません。これは、ドキュメントレベルのアクセスコントロール (ACLs) をサポートする唯一の認証方法です。代替`OAUTH2_APP`方法との比較については、「」を参照してください[認証方法](kb-managed-ds-sharepoint.md#kb-managed-sharepoint-auth-methods)。

この設定は、Microsoft Entra ID とアカウントという 2 つのシステムにまた AWS がり、証明書はそれらを結び付ける認証情報です。コネクタは、証明書 (プライベートキーを含む) を PKCS\#12 (`.p12`) ファイルとして Amazon S3 に保存し、それを使用して Microsoft への認証アサーションに署名します。一致するパブリック証明書は Entra アプリケーション登録にアップロードされるため、Microsoft はそれらのアサーションを検証できます。

**管理アクセスが必要**  
この設定では、Microsoft Entra ID 管理者 (グローバル管理者または特権ロール管理者) がアプリケーションを登録し、アクセス許可を設定し、管理者の同意を付与する必要があります。アクセス`Sites.Selected`許可の範囲を使用する場合は、SharePoint 管理者もサイトごとのアクセスを許可する必要があります。以下の**セットアップステップとロール**の表は、各ステップに必要なアクセスを示しています。

## セットアップステップとロール
<a name="kb-managed-sharepoint-entra-roles"></a>

この手順には、Microsoft Entra ID 管理者と AWS 管理者の両方が含まれます。組織における責任の分担方法によっては、1 人または複数のユーザーがこれらのステップを完了する場合があります。以下の表を使用して、各ステップに必要なアクセスを特定します。


**セットアップステップと各ステップに必要なアクセス**  

| Step | 行うこと | 必要なアクセス | 
| --- | --- | --- | 
| 1. アプリケーションを登録する | Entra アプリ登録を作成し、そのクライアント ID とテナント IDsを記録します。 | Microsoft Entra ID 管理者 (グローバル管理者または特権ロール管理者) | 
| 2. アクセス許可を追加し、同意を付与する | 設定にアプリケーションアクセス許可を割り当て、管理者の同意を付与します。 | Microsoft Entra ID 管理者 | 
| 3. 証明書を生成する | OpenSSL で自己署名証明書と PKCS\#12 (.p12) バンドルを作成します。 | ローカルターミナルを持つユーザー (OpenSSL が必要) | 
| 4. パブリック証明書を Entra にアップロードする | アプリ登録のキーにパブリック証明書を追加します。 | Microsoft Entra ID 管理者 | 
| 5. サイトごとのアクセス許可を付与する (Sites.Selected のみ) | Microsoft Graph API を使用して、各 SharePoint サイトへのアクセス権をアプリに付与します。 | Microsoft Entra ID 管理者 | 
| 6. Amazon S3 に証明書をアップロードする | .p12 バンドルを Amazon S3 バケットに保存します。 | AWS 管理者 (Amazon S3) | 
| 7. シークレットを作成する | 認証情報を AWS Secrets Manager シークレットに保存します。 | AWS 管理者 (Secrets Manager) | 
| 8. サービスロールに証明書へのアクセス権を付与する | ナレッジベースサービスロールに Amazon S3 読み取りアクセス許可を追加します。 | AWS 管理者 (IAM) | 

## 設定を選択する
<a name="kb-managed-sharepoint-entra-choose"></a>

開始する前に、2 つの決定を行います。ステップ 2 で割り当てるアクセス許可と、サイトアクセスの付与方法を決定します。
+ **ドキュメントレベルのアクセスコントロール (ACLs)** — データソースがクエリ結果を各ユーザーの SharePoint アクセス許可でフィルタリングするかどうかを決定します。ACL クローリングには、追加の Microsoft Graph および SharePoint アクセス許可が必要です。データソースの作成後にこの設定を変更することはできません。詳細については、「[ドキュメントレベルのアクセスコントロール](kb-managed-ds-sharepoint-acl.md)」を参照してください。
+ アクセス**許可の範囲** — アプリケーションがテナント内のすべての SharePoint サイト (**すべてのサイト**、最も簡単なオプション) を読み取ることができるか、明示的に付与したサイトのみ (最小特権オプション**`Sites.Selected`**) を読み取ることができるかを決定します。ステップ 5 で追加のサイトごとの許可`Sites.Selected`を完了すると、後で追加するサイトには独自の許可が必要です。

これら 2 つの選択肢を組み合わせると、次のセクションのアクセス許可セットのいずれかが選択されます。

## アクセス許可に関するリファレンス
<a name="kb-managed-sharepoint-entra-permissions"></a>

設定に一致するアプリケーションアクセス許可を割り当てます。すべてのアクセス許可は**アプリケーションの**アクセス許可 (委任されていません) であり、すべてのアクセス許可には管理者の同意が必要です。コネクタは、Microsoft **Graph** (サイトを列挙するため、ACLs の場合はユーザーとグループを解決するため) と **SharePoint** REST API (サイトコンテンツを読み取るため、ACLsの場合は項目レベルのアクセス許可) の 2 つの Microsoft リソースを認証します。

**重要**  
Entra ポータルでこれらのアクセス許可を追加するときは、委任された**アクセス許可ではなく、アプリケーションの**アクセス許可タブを選択します。 ****アプリケーションのみの認証では、アプリケーションのアクセス許可を使用します。

設定のタブを選択すると、割り当てる Microsoft Graph と SharePoint の正確なアクセス許可が表示されます。

------
#### [ All sites, no ACLs ]


**すべてのサイト、コンテンツのみ**  

| API | アクセス許可 | 目的 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Read.All | すべての SharePoint サイトを列挙して読み取ります。 | 
| SharePoint | Sites.Read.All | SharePoint REST API を使用してサイトコンテンツを読み取ります。 | 

------
#### [ All sites, with ACLs ]


**ACLsを使用するすべてのサイト**  

| API | アクセス許可 | 目的 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Read.All | すべての SharePoint サイトを列挙して読み取ります。 | 
| Microsoft Graph | User.Read.All | ドキュメントレベルの ACLs。 | 
| Microsoft Graph | GroupMember.Read.All | ドキュメントレベルの ACLs。 | 
| SharePoint | Sites.FullControl.All | ACL クロールの項目レベルのアクセス許可を読み取り、クエリ時にアクセスを検証します。 Sites.Read.Allはこのチェックに十分ではありません。 | 

------
#### [ Sites.Selected, no ACLs ]


**Sites.Selected、コンテンツのみ**  

| API | アクセス許可 | 目的 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Selected | 明示的に付与したサイトにのみアクセスします (Microsoft Graph)。 | 
| SharePoint | Sites.Selected | 明示的に付与したサイト (SharePoint REST) にのみアクセスします。ステップ 5 でサイトごとに readロールを付与します。 | 

------
#### [ Sites.Selected, with ACLs ]


**Sites.Selected、ACLs付き**  

| API | アクセス許可 | 目的 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Selected | 明示的に付与したサイトにのみアクセスします (Microsoft Graph)。 | 
| Microsoft Graph | User.Read.All | ドキュメントレベルの ACLs。 | 
| Microsoft Graph | GroupMember.Read.All | ドキュメントレベルの ACLs。 | 
| SharePoint | Sites.Selected | 明示的に付与したサイトにのみアクセスします。ステップ 5 でサイトごとにfullcontrolロールを付与します (ACLs の項目レベルのアクセス許可を読み取るために必要です）。 | 

------

**注記**  
`Sites.FullControl.All` は、テナント内のすべてのサイトへの広範なアクセスを許可します。組織で最小特権が必要な場合は、ステップ 5 で を使用し`Sites.Selected`、サイトごとのアクセスを許可します。

## セットアップ時に収集する値
<a name="kb-managed-sharepoint-entra-values"></a>

ステップを進めながら、以下の値を作成または収集します。データソースを作成するときに使用します。詳細については、「[SharePoint データソースを接続する](kb-managed-ds-sharepoint-connect.md)」を参照してください。


**値リファレンス**  

| 値 | で作成 | 次の用途に使用されます。 | 
| --- | --- | --- | 
| アプリケーション (クライアント) ID | ステップ 1 | シークレット (clientId)。 | 
| ディレクトリ (テナント) ID | ステップ 1 | データソース tenantId。 | 
| 証明書 — PKCS\#12 バンドル (.p12) とそのパスワード | ステップ 3 | バンドル (証明書とプライベートキー) は Amazon S3 にアップロードされ (ステップ 6)、パスワードはシークレットに保存されます (certificatePassword)。 | 
| 証明書 — パブリック証明書 (.cer) | ステップ 3 | Entra アプリ登録にアップロードされた同じ証明書のパブリック半分 (ステップ 4)。 | 
| Amazon S3 バケット名とキー | ステップ 6 | データソース certificateS3Path。 | 
| シークレット ARN | ステップ 7 | データソース secretArn。 | 

## ステップ 1: Microsoft Entra ID にアプリケーションを登録する
<a name="kb-managed-sharepoint-entra-step1"></a>

1. [Microsoft Entra 管理センター](https://entra.microsoft.com/)にサインインします。

1. 左側のナビゲーションで、**Entra ID** を展開し、**アプリ登録**を選択します。

1. **[New registration]** (新規登録) を選択します。

1. Name には****、 などのわかりやすい名前を入力します`bedrock-sharepoint-connector`。

1. **サポートされているアカウントタイプ**では、**この組織ディレクトリのアカウントのみ (単一テナント)** を選択します。

1. **リダイレクト URI **は空白のままにします。アプリケーションはインタラクティブサインインフローではなくクライアント認証情報フローを使用するため、リダイレクト URI は必要ありません。

1. [**登録**] を選択します。

1. アプリケーション**の概要**ページで、**アプリケーション (クライアント) ID** と**ディレクトリ (テナント) ID** を記録します。後で両方が必要です。

## ステップ 2: API アクセス許可を追加し、管理者の同意を付与する
<a name="kb-managed-sharepoint-entra-step2"></a>

から設定のアクセス許可を追加します[アクセス許可に関するリファレンス](#kb-managed-sharepoint-entra-permissions)。

1. アプリ登録で API アクセス**許可**を選択し、アクセス**許可を追加します**。

1. **Microsoft Graph** を選択し、次に**アプリケーションのアクセス許可**を選択します。設定の各 Microsoft Graph アクセス許可を検索して選択し、アクセス**許可の追加**を選択します。

1. アクセス**許可を再度追加**を選択します。(**Microsoft APIs**) **SharePoint** を選択し、次に**アプリケーションのアクセス許可**を選択します。設定の各 SharePoint アクセス許可を選択し、アクセス**許可の追加**を選択します。

1. **API アクセス許可**ページで、**[組織] に対する管理者の同意を付与**を選択し、確認します。管理者の同意がない場合、アプリケーションは SharePoint データにアクセスできません。

**注記**  
Microsoft Entra ID App-Only 認証は証明書 (ステップ 3 から) を認証情報として使用するため、このアプリケーションのクライアントシークレットは作成しません。

## ステップ 3: 認証証明書を生成する
<a name="kb-managed-sharepoint-entra-step3"></a>

自己署名証明書を生成し、PKCS\#12 (`.p12`) バンドルとしてパッケージ化します。バンドルには、パスワードで保護された証明書とそのプライベートキーの両方が含まれています。パブリック証明書を Entra (ステップ 4) にアップロードし、`.p12`バンドルを Amazon S3 (ステップ 6) にアップロードします。オペレーティングシステムのタブを選択すると、コマンドが表示されます。

**注記**  
Amazon Bedrock は`.p12`バンドルからプライベートキーを読み取り、認証アサーションに署名するため、バンドルはパスワードで保護され、安全に保存する必要があります。強力でランダム`certificatePassword`なパスワードを選択します。ステップ 7 のようにシークレットに保存します。

------
#### [ Linux or macOS (OpenSSL) ]

**プライベートキーと自己署名証明書を生成する**

```
openssl req -x509 -newkey rsa:2048 -keyout private_key.pem -out certificate.cer \
    -days 365 -nodes \
    -subj "/CN={{bedrock-sharepoint-connector}}"
```

**証明書とキーを PKCS\#12 (`.p12`) バンドルとしてパッケージ化する**

プロンプトが表示されたら、強力なエクスポートパスワードを入力します。ステップ 7 で記録します。

```
openssl pkcs12 -export -out certificate.p12 \
    -inkey private_key.pem -in certificate.cer
```

これで、プライベートキー (`private_key.pem`)、パブリック証明書 ()、バンドル (`certificate.cer`) の 3 つのファイルが作成されました`certificate.p12`。ステップ 4 で Entra にパブリック証明書をアップロードし、ステップ 6 で`.p12`バンドルを Amazon S3 にアップロードします。

------
#### [ Windows (PowerShell) ]

**自己署名証明書を生成する**

次の PowerShell コマンドは、1 年間の有効期間を持つ 2048 ビット RSA 自己署名証明書を生成し、現在のユーザーの証明書ストアに保存します。{{your-password}} を強力でランダムなパスワードに置き換えます。ステップ 7 `certificatePassword`のようにシークレットに保存します。

```
$cert = New-SelfSignedCertificate `
    -Subject "CN={{bedrock-sharepoint-connector}}" `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -KeyAlgorithm RSA `
    -KeyLength 2048 `
    -KeyExportPolicy Exportable `
    -NotAfter (Get-Date).AddYears(1)
```

**パブリック証明書をエクスポートする**

```
Export-Certificate -Cert $cert -FilePath certificate.cer -Type CERT
```

**PKCS\#12 (`.p12`) バンドルをエクスポートする**

```
$password = ConvertTo-SecureString -String "{{your-password}}" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath certificate.p12 -Password $password
```

これで、パブリック証明書 (`certificate.cer`) とバンドル () の 2 つのファイルが作成されました`certificate.p12`。ステップ 4 で Entra にパブリック証明書をアップロードし、ステップ 6 で`.p12`バンドルを Amazon S3 にアップロードします。

------

**重要**  
`.p12` バンドルを Amazon S3 に保存します ( `.pem`または `.cer` ファイルではありません）。バンドルには、Amazon Bedrock が認証に使用するプライベートキーが含まれています。ドキュメントレベルのアクセスコントロール (ACLs) には `.p12`形式が必要です。ACLs を使用しないコンテンツのみのクローリングの場合、代わりに PEM エンコードされた証明書を保存できます。 はすべての設定で`.p12`機能するため、このガイドでは `.p12` 全体を使用します。

**注記**  
証明書はデフォルトで 1 年間有効です。証明書の有効期限が切れると、すべての同期が失敗するため、有効期限が切れる前に証明書をローテーションします。有効期間を変更するには、 `-days`オプション (OpenSSL) または `-NotAfter`引数 (PowerShell) を調整します。ローテーションの手順については、「」を参照してください[証明書をローテーションする](kb-managed-ds-sharepoint-troubleshooting.md#kb-managed-ds-sharepoint-rotate-cert)。

## ステップ 4: Entra にパブリック証明書をアップロードする
<a name="kb-managed-sharepoint-entra-step4"></a>

1. アプリ登録で、**証明書とシークレット**を選択し、**証明書**タブを選択します。

1. **証明書をアップロード**を選択し、ステップ 3 で生成した`certificate.cer`ファイルを選択します (パブリック証明書のみ。`.p12`バンドルまたはプライベートキーを Entra にアップロードしないでください）。

1. **[Add]** (追加) を選択します。

## ステップ 5 (Sites.Selected のみ): サイトごとのアクセス許可を付与する
<a name="kb-managed-sharepoint-entra-step5"></a>

**注記**  
このステップは、ステップ 2 で`Sites.Selected`アクセス許可の範囲を選択した場合にのみ適用されます。全サイトスコープ (`Sites.Read.All` または `Sites.FullControl.All`) を使用した場合は、「」に進みます[ステップ 6: Amazon S3 に証明書をアップロードする](#kb-managed-sharepoint-entra-step6)。

では`Sites.Selected`、Microsoft Graph API を使用して、コネクタアプリケーションに各 SharePoint サイトへのアクセス権を個別に付与します。これには、 を保持`Sites.FullControl.All`し、許可の実行にのみ使用される別の一時的なアプリケーションが必要です。Amazon Bedrock は、この一時アプリケーションまたはその認証情報を表示しません。

1. **一時的なグランターアプリケーションを作成します。**Entra 管理センターで、リダイレクト URI なしで 2 番目のアプリケーション (例: `bedrock-sharepoint-granter`) をシングルテナントとして登録します。Microsoft Graph `Sites.FullControl.All`アプリケーションのアクセス許可を追加し、管理者の同意を付与して、クライアントシークレットを作成します。クライアント ID とシークレット値を記録します。

1. **グランターアプリケーションのアクセストークンを取得します。**プレースホルダーを、グランターアプリケーションのクライアント ID とシークレット、およびテナント ID に置き換えます。

   ```
   curl -s -X POST \
     "https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials" \
     -d "client_id={{GRANTER_CLIENT_ID}}" \
     -d "client_secret={{GRANTER_CLIENT_SECRET}}" \
     -d "scope=https://graph.microsoft.com/.default"
   ```

   レスポンスには が含まれます`access_token`。次のコマンドでベアラートークンとして使用します。

1. **各サイト URL をサイト ID に解決します。**サイトのホスト名とサーバー相対パスを使用します。

   ```
   curl -s \
     "https://graph.microsoft.com/v1.0/sites/{{contoso}}.sharepoint.com:/sites/{{engineering}}" \
     -H "Authorization: Bearer {{ACCESS_TOKEN}}"
   ```

   レスポンスの `id`フィールドはサイト ID です。

1. **コネクタアプリケーションにサイトへのアクセスを許可します。**コンテンツのみのクローリング`read`には を使用し、ACL クローリング`fullcontrol`には を使用します。{{CONNECTOR\_CLIENT\_ID}} をステップ 1 のアプリケーション (クライアント) ID に置き換えます。

   ```
   curl -s -X POST \
     "https://graph.microsoft.com/v1.0/sites/{{SITE_ID}}/permissions" \
     -H "Authorization: Bearer {{ACCESS_TOKEN}}" \
     -H "Content-Type: application/json" \
     -d '{
       "roles": ["{{fullcontrol}}"],
       "grantedToIdentities": [{
         "application": {
           "id": "{{CONNECTOR_CLIENT_ID}}",
           "displayName": "{{bedrock-sharepoint-connector}}"
         }
       }]
     }'
   ```

1. データソースに含めるサイトごとに resolve-and-grant コマンドを繰り返します。完了したら、一時付与アプリケーションを削除できます。サイトごとの付与は有効です。

**重要**  
サイトごとの許可は遡及的ではありません。後でデータソースにサイトを追加する場合は、次回の同期前にそのサイトへのアクセスをコネクタアプリケーションに許可します。許可しない場合、そのコンテンツはクロールされません。

## ステップ 6: Amazon S3 に証明書をアップロードする
<a name="kb-managed-sharepoint-entra-step6"></a>

ステップ 3 の`.p12`バンドルをナレッジベースと同じ AWS リージョンの Amazon S3 バケットにアップロードします。バケット名とキーを記録します。データソース として使用します`certificateS3Path`。

```
aws s3api put-object \
  --bucket {{your-certificate-bucket}} \
  --key {{certs/certificate.p12}} \
  --body certificate.p12 \
  --server-side-encryption AES256
```

**注記**  
証明書オブジェクトでサーバー側の暗号化を有効にし、バケットを必要とするプリンシパルに制限することをお勧めします。バンドルにはプライベートキーが含まれています。

## ステップ 7: Secrets Manager シークレットを作成する
<a name="kb-managed-sharepoint-entra-step7"></a>

認証情報を AWS Secrets Manager シークレットに保存します。Entra ID App-Only 認証には、次のキーと値のペアを含めます。
+ `clientId` (必須) — ステップ 1 のアプリケーション (クライアント) ID。
+ `certificatePassword` (推奨) — ステップ 3 で`.p12`バンドルに設定したパスワード。以下の注意事項を参照してください。

```
{
    "clientId": "{{your-client-id}}",
    "certificatePassword": "{{your-certificate-password}}"
}
```

以下を使用してシークレットを作成します AWS Command Line Interface。

```
aws secretsmanager create-secret \
  --name {{bedrock-sharepoint-creds}} \
  --secret-string file://secret.json
```

レスポンスからシークレット ARN を記録します。データソース として使用します`secretArn`。

**注記**  
ステップ 3 で`.p12`バンドルを作成したときに使用したパスワード`certificatePassword`に を設定します。このフィールドを省略すると、Amazon Bedrock はアプリケーションのクライアント ID をパスワードとして使用してバンドルを開くため、バンドルはクライアント ID をパスワードとして使用して作成されている必要があります。代わりに、常に明示的でエントロピーの高いパスワードを設定し、プライベートキーを安全に保存することをお勧めします。

**注記**  
**代わりに PEM 証明書を使用します。**このガイドでは、すべての設定で動作する`.p12`バンドルを使用します。コンテンツのみをクロールする場合 (ドキュメントレベルのアクセスコントロールなし）、代わりに PEM 証明書を使用できます。この場合、*パブリック*証明書のみを Amazon S3 (`.p12`バンドルではない) にアップロードし、プライベートキーを の代わりに `privateKey` (暗号化されていない base64 エンコードされた PKCS\#8、ヘッダー行なし) としてシークレットに保存します`certificatePassword`。  

```
{
    "clientId": "{{your-client-id}}",
    "privateKey": "{{your-base64-pkcs8-private-key}}"
}
```

## ステップ 8: サービスロールに証明書へのアクセス権を付与する
<a name="kb-managed-sharepoint-entra-step8"></a>

ナレッジベースサービスロールは、Amazon S3 から証明書オブジェクトを読み取ることができる必要があります。次のステートメントをロールのアクセス許可ポリシーに追加し、バケット名とキーを値に置き換えます。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "S3ListCertificateBucket",
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::{{your-certificate-bucket}}"],
            "Condition": {
                "StringEquals": { "aws:ResourceAccount": ["{{123456789012}}"] }
            }
        },
        {
            "Sid": "S3GetCertificate",
            "Effect": "Allow",
            "Action": ["s3:GetObject"],
            "Resource": [
                "arn:aws:s3:::{{your-certificate-bucket}}/{{certs/certificate.p12}}",
                "arn:aws:s3:::{{your-certificate-bucket}}/{{certs/certificate.p12}}.metadata.json"
            ],
            "Condition": {
                "StringEquals": { "aws:ResourceAccount": ["{{123456789012}}"] }
            }
        }
    ]
}
```

**注記**  
このポリシーでは、証明書とともにオプションの `.metadata.json` ファイルへの読み取りアクセスも許可します。Amazon Bedrock はこのファイルを必要としません。 アクセス許可を含めると、アクセスエラーが存在する場合、アクセスエラーを防ぐことができます。

**証明書オブジェクトが KMS AWS キーで暗号化されている場合**

のアップロードコマンドは、追加のアクセス許可を必要としない Amazon S3-managed暗号化 (`AES256`) [ステップ 6: Amazon S3 に証明書をアップロードする](#kb-managed-sharepoint-entra-step6)を使用します。代わりに、カスタマーマネージド KMS キー (SSE-KMS) を使用して Amazon S3 サーバー側の暗号化で証明書オブジェクトを暗号化する場合、サービスロールにはそのキーに対する `kms:Decrypt` アクセス許可も必要です。また、キーのポリシーでは、そのキーの使用をロールに許可する必要があります。 AWS マネージド`aws/s3`キーで暗号化されたオブジェクトには、この追加の許可は必要ありません。

```
{
    "Sid": "KmsDecryptCertificate",
    "Effect": "Allow",
    "Action": ["kms:Decrypt"],
    "Resource": ["arn:aws:kms:{{us-west-2}}:{{123456789012}}:key/{{your-key-id}}"]
}
```

読み取りアクセスに必要なのは のみです`kms:Decrypt`。詳細については、「Using [server-side encryption with AWS KMS keys (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)」を参照してください。

ナレッジベースサービスロールのアクセス許可の完全なセットについては、「」を参照してください[データソースにアクセスするためのアクセス許可](kb-permissions.md#kb-permissions-access-ds)。

## 次の手順
<a name="kb-managed-sharepoint-entra-next"></a>

これで、シークレット ARN、テナント ID、証明書の Amazon S3 の場所など、データソースの作成に必要なものがすべて揃いました。 AWS マネジメントコンソール または API を使用して SharePoint データソースを作成するには、「」を参照してください[SharePoint データソースを接続する](kb-managed-ds-sharepoint-connect.md)。

**重要**  
`ENTRA_ID_APP_ONLY` 認証では、ACLsが無効になっている場合でも、データソースの作成`certificateS3Path`時に を指定する必要があります。この認証タイプで作成された SharePoint データソースは失敗します。