

# Amazon RDS for SQL Server での SQL Server Reporting Services のサポート
<a name="Appendix.SQLServer.Options.SSRS"></a>

Microsoft SQL Server Reporting Services (SSRS) は、レポートの生成とディストリビューションに使用されるサーバーベースのアプリケーションです。これは、SQL Server Analysis Services (SSAS) および SQL Server Integration Services (SSIS) を含む SQL Server サービスのスイートの一部です。SSRS は、SQL Server 上に構築されたサービスです。これを使用すると、さまざまなデータソースからデータを収集して、それを簡単に理解でき、分析の準備が整っている方法で提示できます。

Amazon RDS for SQL Server は、RDS DB インスタンスで SSRS を直接実行する操作をサポートしています。SSRS は、既存または新規の DB インスタンスで使用できます。

RDS は、次のバージョンで SQL Server スタンダードエディションおよびエンタープライズエディションの SSRS をサポートします。
+ SQL Server 2022、すべてのバージョン
+ SQL Server 2019、バージョン 15.00.4043.16.v1 以降
+ SQL Server 2017、バージョン 14.00.3223.3.v1 以降
+ SQL Server 2016、バージョン 13.00.5820.21.v1 以降

**Contents**
+ [制限と推奨事項](#SSRS.Limitations)
+ [SSRS をオンにする](SSRS.Enabling.md)
  + [SSRS のオプショングループの作成](SSRS.Enabling.md#SSRS.OptionGroup)
  + [オプショングループへの SSRS オプションの追加](SSRS.Enabling.md#SSRS.Add)
  + [オプショングループと DB インスタンスの関連付け](SSRS.Enabling.md#SSRS.Apply)
  + [VPC セキュリティグループへのインバウンドアクセスの許可](SSRS.Enabling.md#SSRS.Inbound)
+ [レポートサーバーデータベース](#SSRS.DBs)
+ [SSRS ログファイル](#SSRS.Logs)
+ [SSRS ウェブポータルへのアクセス](SSRS.Access.md)
  + [RDS での SSL の使用](SSRS.Access.md#SSRS.Access.SSL)
  + [ドメインユーザーへのアクセスの許可](SSRS.Access.md#SSRS.Access.Grant)
  + [ウェブポータルへのアクセス](SSRS.Access.md#SSRS.Access)
+ [レポートのデプロイとレポートデータソースの設定](SSRS.DeployConfig.md)
  + [SSRS へのレポートのデプロイ](SSRS.DeployConfig.md#SSRS.Deploy)
  + [レポートのデータソースの設定](SSRS.DeployConfig.md#SSRS.ConfigureDataSource)
+ [SSRS E メールを使用してレポートを送信する](SSRS.Email.md)
+ [システムレベルのアクセス許可の取り消し](SSRS.Access.Revoke.md)
+ [タスクのステータスのモニタリング](SSRS.Monitor.md)
+ [SSRS データベースの無効化と削除](SSRS.DisableDelete.md)
  + [SSRS をオフにする](SSRS.DisableDelete.md#SSRS.Disable)
  + [SSRS データベースの削除](SSRS.DisableDelete.md#SSRS.Drop)

## 制限と推奨事項
<a name="SSRS.Limitations"></a>

SQL Server 用 RDS で SSRS を実行する場合は、次の制限と推奨事項が適用されます。
+ リードレプリカを持つ DB インスタンスでは SSRS を使用することはできません。
+ インスタンスは、自己管理型の Active Directory または AWS Directory Service for Microsoft Active Directory for SSRS ウェブポータルおよびウェブサーバー認証を使用する必要があります。詳細については、「[RDS for SQL Server による Active Directory の操作](User.SQLServer.ActiveDirectoryWindowsAuth.md)」を参照してください。
+ SSRS オプションを使用して作成されたレポートサーバーデータベースをバックアップすることはできません。
+ SSRS の他のインスタンスからのレポートサーバーデータベースのインポートと復元はサポートされていません。詳細については、「[レポートサーバーデータベース](#SSRS.DBs)」を参照してください。
+ デフォルトの SSL ポート (443) でリッスンするように SSRS を構成することはできません。指定できる値は、1234、1434、3260、3343、3389、47001 を除く、1150～49511 です。
+ Microsoft Windows ファイル共有によるサブスクリプションはサポートされていません。
+ Reporting Services Configuration Manager の使用はサポートされていません。
+ ロールの作成と変更はサポートされていません。
+ レポートサーバーのプロパティの変更はサポートされていません。
+ システム管理者とシステムユーザーのロールは付与されません。
+ ウェブポータルを使用してシステムレベルのロールの割り当てを編集することはできません。

# SSRS をオンにする
<a name="SSRS.Enabling"></a>

DB インスタンスの SSRS をオンにするには、次のプロセスを使用します。

1. 新しいオプショングループを作成するか、既存のオプショングループを選択します。

1. オプショングループに [`SSRS`] オプションを追加します。

1. オプショングループを DB インスタンスに関連付けます。

1. SSRS リスナーポートの Virtual Private Cloud (VPC) セキュリティグループへのインバウンドアクセスを許可します。

## SSRS のオプショングループの作成
<a name="SSRS.OptionGroup"></a>

SSRS を使用するには、使用する DB インスタンスの SQL Server エンジンおよびバージョンに対応するオプショングループを作成します。そのためには、AWS マネジメントコンソール または AWS CLI を使用します。

**注記**  
既存のオプショングループが正しい SQL Server エンジンおよびバージョンに対応している場合は、それを使用することもできます。

### コンソール
<a name="SSRS.OptionGroup.Console"></a>

次の手順では、SQL Server Standard Edition 2017 のオプショングループを作成します。

**オプショングループを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. [**Create group (グループの作成)**] を選択します。

1. [**オプショングループの作成**] ウィンドウで、次の操作を行います。

   1. **[Name]** (名前) に、AWS アカウント 内で一意のオプショングループ名 (**ssrs-se-2017** など) を入力します。名前には、英字、数字、ハイフンのみを使用できます。

   1. [**説明**] に、オプショングループの簡単な説明 (**SSRS option group for SQL Server SE 2017** など) を入力します。この説明は表示用に使用されます。

   1. [**エンジン**] で [**sqlserver-se**] を選択します。

   1. [**メジャーエンジンのバージョン**] で、[**14.00**] を選択します。

1. **[作成]** を選択します。

### CLI
<a name="SSRS.OptionGroup.CLI"></a>

次の手順では、SQL Server Standard Edition 2017 のオプショングループを作成します。

**オプショングループを作成するには**
+ 以下のいずれかのコマンドを実行します。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds create-option-group \
    --option-group-name ssrs-se-2017 \
    --engine-name sqlserver-se \
    --major-engine-version 14.00 \
    --option-group-description "SSRS option group for SQL Server SE 2017"
```
Windows の場合:  

```
aws rds create-option-group ^
    --option-group-name ssrs-se-2017 ^
    --engine-name sqlserver-se ^
    --major-engine-version 14.00 ^
    --option-group-description "SSRS option group for SQL Server SE 2017"
```

## オプショングループへの SSRS オプションの追加
<a name="SSRS.Add"></a>

次に、AWS マネジメントコンソール または AWS CLI を使用して `SSRS` オプションをオプショングループに追加します。

### コンソール
<a name="SSRS.Add.CON"></a>

**SSRS オプションを追加するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 先ほど作成したオプショングループを選択し、**[Add option]** (オプションの追加) を選択します。

1. [**オプションの詳細**] で、[**オプション名**] として **SSRS** を選択します。

1. [**オプション設定**] で、次の操作を行います。

   1. SSRS サービスがリッスンするポートを入力します。デフォルトは 8443 です。許可される値のリストについては、「[制限と推奨事項](Appendix.SQLServer.Options.SSRS.md#SSRS.Limitations)」を参照してください。

   1. [**最大メモリ**] に値を入力します。

      [**最大メモリ**] は、レポートサーバーアプリケーションに対して新しいメモリ割り当て要求を許可しない上限しきい値を指定します。この値は、DB インスタンスの合計メモリに対する割合 (%) です。指定できる値は 10～80 です。

   1. [**セキュリティグループ**] で、オプションに関連付ける VPC セキュリティグループを選択します。DB インスタンスに関連付けられているものと同じセキュリティグループを使用します。

1. SSRS Email を使用してレポートを送信するには、**[Email delivery in reporting services]** (レポートサービスでのメール配信) の **[Configure email delivery options]** (E メール配信オプションの設定) チェックボックスを選択し、以下の操作を実行します。

   1. **[Sender email address]** (送信者メールアドレス) で、SSRS Email で送信されるメッセージの **[From]** フィールドに使用するメールアドレスを入力します。

      SMTP サーバーからメールを送信するアクセス許可を持つユーザーアカウントを指定します。

   1. **SMTP server]** (SMTP サーバー) で、使用する SMTP サーバーまたはゲートウェイを指定します。

      IP アドレス、社内イントラネット上のコンピュータの NetBIOS 名、または完全修飾ドメイン名を使用できます。

   1. **[SMTP port]** (SMTP ポート) で、メールサーバーに接続するために使用するポートを入力します。デフォルトは 25 です。

   1. 認証を使用するには:

      1. **[Use authentication]** (認証の使用) チェックボックスを選択します。

      1. **[Secret Amazon Resource Name (ARN)]** (シークレットの Amazon リソースネーム (ARN)) で、ユーザー認証情報の AWS Secrets Manager ARN を入力します。

         次の形式を使用します。

         **arn:aws:secretsmanager:*Region*:*AccountId*:secret:*SecretName*-*6RandomCharacters***

         例: 

         **arn:aws:secretsmanager:*us-west-2*:*123456789012*:secret:*MySecret-a1b2c3***

         シークレットを作成するための詳細については、「[SSRS E メールを使用してレポートを送信する](SSRS.Email.md)」を参照してください。

   1. **[Use Secure Sockets Layer (SSL)]** (Secure Sockets Layer (SSL) を使用する)) チェックボックスを選択して、SSL を使用して電子メールメッセージを暗号化します。

1. **[スケジュール]** で、オプションをすぐに追加するか、次のメンテナンスウィンドウで追加するかを選択します。

1. **[オプションを追加]** を選択します。

### CLI
<a name="SSRS.Add.CLI"></a>

**SSRS オプションを追加するには**

1. `ssrs-option.json` などの JSON ファイル を作成します。

   1. 以下の必須パラメータを設定します。
      + `OptionGroupName` - 以前に作成または選択したオプショングループの名前 (次の例では `ssrs-se-2017`)。
      + `Port` - SSRS サービスがリッスンするポート。デフォルトは 8443 です。許可される値のリストについては、「[制限と推奨事項](Appendix.SQLServer.Options.SSRS.md#SSRS.Limitations)」を参照してください。
      + `VpcSecurityGroupMemberships` - RDS DB インスタンスの VPC セキュリティグループのメンバーシップ。
      + `MAX_MEMORY` - レポートサーバーアプリケーションに対して新しいメモリ割り当て要求を許可しない上限しきい値。この値は、DB インスタンスの合計メモリに対する割合 (%) です。指定できる値は 10～80 です。

   1. (オプション) SSRS Email を使用するには、次のパラメータを設定します。
      + `SMTP_ENABLE_EMAIL` — SSRS E メールを使用するには `true` に設定します。デフォルトは `false` です。
      + `SMTP_SENDER_EMAIL_ADDRESS` — SSRS E メールで送信されるメッセージの**[From]** フィールドに使用するメールアドレスです。SMTP サーバーからメールを送信するアクセス許可を持つユーザーアカウントを指定します。
      + `SMTP_SERVER` — 使用する SMTP サーバーまたはゲートウェイ。IP アドレス、社内イントラネット上のコンピュータの NetBIOS 名、または完全修飾ドメイン名を使用できます。
      + `SMTP_PORT` — メールサーバーに接続するために使用するポート。デフォルトは 25 です。
      + `SMTP_USE_SSL` — SSL を使用して E メールメッセージを暗号化するには、`true` に設定します。デフォルトは `true` です。
      + `SMTP_EMAIL_CREDENTIALS_SECRET_ARN` — ユーザー認証情報を保持する Secrets Manager ARN。次の形式を使用します。

        **arn:aws:secretsmanager:*Region*:*AccountId*:secret:*SecretName*-*6RandomCharacters***

        シークレットを作成するための詳細については、「[SSRS E メールを使用してレポートを送信する](SSRS.Email.md)」を参照してください。
      + `SMTP_USE_ANONYMOUS_AUTHENTICATION` — 認証を使用しない場合は、`true` に設定し、`SMTP_EMAIL_CREDENTIALS_SECRET_ARN` を含めないでください。

        `SMTP_ENABLE_EMAIL` が `true` の場合、デフォルトは `false` です。

   次の例には、シークレット ARN を使用した SSRS E メールパラメータが含まれています。

   ```
   {
   "OptionGroupName": "ssrs-se-2017",
   "OptionsToInclude": [
   	{
   	"OptionName": "SSRS",
   	"Port": 8443,
   	"VpcSecurityGroupMemberships": ["sg-0abcdef123"],
   	"OptionSettings": [
               {"Name": "MAX_MEMORY","Value": "60"},
               {"Name": "SMTP_ENABLE_EMAIL","Value": "true"}
               {"Name": "SMTP_SENDER_EMAIL_ADDRESS","Value": "nobody@example.com"},
               {"Name": "SMTP_SERVER","Value": "email-smtp.us-west-2.amazonaws.com"},
               {"Name": "SMTP_PORT","Value": "25"},
               {"Name": "SMTP_USE_SSL","Value": "true"},
               {"Name": "SMTP_EMAIL_CREDENTIALS_SECRET_ARN","Value": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret-a1b2c3"}
               ]
   	}],
   "ApplyImmediately": true
   }
   ```

1. オプショングループに [`SSRS`] オプションを追加します。  
**Example**  

   Linux、macOS、Unix の場合:

   ```
   aws rds add-option-to-option-group \
       --cli-input-json file://ssrs-option.json \
       --apply-immediately
   ```

   Windows の場合:

   ```
   aws rds add-option-to-option-group ^
       --cli-input-json file://ssrs-option.json ^
       --apply-immediately
   ```

## オプショングループと DB インスタンスの関連付け
<a name="SSRS.Apply"></a>

AWS マネジメントコンソール または AWS CLI を使用して、オプショングループを DB インスタンスに関連付けます。

既存の DB インスタンスを使用する場合は、このインスタンスに Active Directory ドメインと AWS Identity and Access Management (IAM) ロールが既に関連付けられている必要があります。新しいインスタンスを作成する場合は、既存の Active Directory ドメインと IAM ロールを指定します。詳細については、「[RDS for SQL Server による Active Directory の操作](User.SQLServer.ActiveDirectoryWindowsAuth.md)」を参照してください。

### コンソール
<a name="SSRS.Apply.Console"></a>

オプショングループを新規または既存の DB インスタンスに関連付けることができます。
+ 新しい DB インスタンスの場合は、インスタンスを起動するときにオプショングループを関連付けます。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。
+ 既存の DB インスタンスの場合は、インスタンスを変更してから、新しいオプショングループを関連付けます。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

### CLI
<a name="SSRS.Apply.CLI"></a>

オプショングループを新規または既存の DB インスタンスに関連付けることができます。

**オプショングループを使用する DB インスタンスを作成するには**
+ オプショングループの作成時に使用したものと同じ DB エンジンのタイプとメジャーバージョンを指定します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssrsinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 14.00.3223.3.v1 \
      --allocated-storage 100 \
      --manage-master-user-password  \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name ssrs-se-2017
  ```

  Windows の場合:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssrsinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 14.00.3223.3.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name ssrs-se-2017
  ```

**オプショングループを使用するように DB インスタンスを変更するには**
+ 以下のいずれかのコマンドを実行します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssrsinstance \
      --option-group-name ssrs-se-2017 \
      --apply-immediately
  ```

  Windows の場合:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssrsinstance ^
      --option-group-name ssrs-se-2017 ^
      --apply-immediately
  ```

## VPC セキュリティグループへのインバウンドアクセスの許可
<a name="SSRS.Inbound"></a>

DB インスタンスに関連付けられた VPC セキュリティグループへのインバウンドアクセスを許可するには、指定された SSRS リスナーポートのインバウンドルールを作成します。セキュリティグループの設定の詳細については、「[セキュリティグループを作成して VPC 内の DB インスタンスへのアクセスを提供する](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup)」を参照してください。

## レポートサーバーデータベース
<a name="SSRS.DBs"></a>

DB インスタンスが SSRS オプションに関連付けられている場合、DB インスタンスに 2 つの新しいデータベースが作成されます。
+ `rdsadmin_ReportServer`
+ `rdsadmin_ReportServerTempDB`

これらのデータベースは、ReportServer および ReportServerTempDB データベースとして機能します。SSRS は、ReportServer データベースにデータを保存し、ReportServerTempDB にそのデータをキャッシュします。詳細については、Microsoft ドキュメントの「[レポートサーバーデータベース](https://learn.microsoft.com/en-us/sql/reporting-services/report-server/report-server-database-ssrs-native-mode?view=sql-server-ver15)」を参照してください。

RDS はこれらのデータベースを所有および管理するため、ALTER や DROP などのデータベース操作は許可されません。`rdsadmin_ReportServerTempDB` データベースへのアクセスは許可されていません。ただし、`rdsadmin_ReportServer` データベースに対して読み取りオペレーションを実行することはできます。

## SSRS ログファイル
<a name="SSRS.Logs"></a>

SSRS ログファイルをリスト、表示、およびダウンロードできます。SSRS ログファイルは ReportServerService\$1*timestamp*.log という命名規則に従います。これらのレポートサーバーログは、`D:\rdsdbdata\Log\SSRS` ディレクトリにあります (`D:\rdsdbdata\Log` ディレクトリは、エラーログと SQL Server エージェントログの親ディレクトリでもあります)。詳細については、「[データベースログファイルの表示とリスト化](USER_LogAccess.Procedural.Viewing.md)」を参照してください。

既存の SSRS インスタンスの場合、レポートサーバーログにアクセスするために SSRS サービスを再起動する必要がある場合があります。`SSRS` オプションを更新することで、サービスを再起動できます。

詳細については、「[Amazon RDS for Microsoft SQL Server ログの使用方法](Appendix.SQLServer.CommonDBATasks.Logs.md)」を参照してください。

# SSRS ウェブポータルへのアクセス
<a name="SSRS.Access"></a>

SSRS ウェブポータルにアクセスするには、次のプロセスを使用します。

1. Secure Sockets Layer (SSL) をオンにします。

1. ドメインユーザーへのアクセス権を付与します。

1. ブラウザとドメインユーザーの認証情報を使用してウェブポータルにアクセスします。

## RDS での SSL の使用
<a name="SSRS.Access.SSL"></a>

SSRS は、接続に HTTPS SSL プロトコルを使用します。このプロトコルを使用するには、クライアントコンピュータの Microsoft Windows オペレーティングシステムに SSL 証明書をインポートします。

SSL 証明書の詳細については、「[SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)」を参照してください。SQL Server での SSL の使用の詳細については、「[Microsoft SQL Server DB インスタンスでの SSL の使用](SQLServer.Concepts.General.SSL.Using.md)」を参照してください。

## ドメインユーザーへのアクセスの許可
<a name="SSRS.Access.Grant"></a>

新しい SSRS アクティベーションでは、SSRS でのロールの割り当てはありません。ドメインユーザーまたはユーザーグループにウェブポータルへのアクセス権を付与するために、RDS にはストアドプロシージャが用意されています。

**ウェブポータルでドメインユーザーにアクセス権を付与するには**
+ 次のストアドプロシージャを使用します。

  ```
  exec msdb.dbo.rds_msbi_task
  @task_type='SSRS_GRANT_PORTAL_PERMISSION',
  @ssrs_group_or_username=N'AD_domain\user';
  ```

ドメインユーザーまたはユーザーグループに `RDS_SSRS_ROLE` システムロールが付与されます。このロールには、次のシステムレベルのタスクが付与されています。
+ レポートを実行
+ ジョブの管理
+ 共有スケジュールの管理
+ 共有スケジュールの表示

ルートフォルダでの `Content Manager` のアイテムレベルのロールも付与されます。

## ウェブポータルへのアクセス
<a name="SSRS.Access"></a>

`SSRS_GRANT_PORTAL_PERMISSION` タスクが正常に終了すると、ウェブブラウザを使用してポータルにアクセスできるようになります。ウェブポータル URL の形式を次に示します。

```
https://rds_endpoint:port/Reports
```

この形式では、以下が適用されます。
+ *`rds_endpoint`* - SSRS で使用している RDS DB インスタンスのエンドポイント。

  エンドポイントは、DB インスタンスの [**接続とセキュリティ**] タブにあります。詳細については、「[SQL Server DB インスタンスへの接続](USER_ConnectToMicrosoftSQLServerInstance.md)」を参照してください。
+ `port` - `SSRS` オプションで設定した SSRS のリスナーポート。

**ウェブポータルにアクセスするには**

1. ブラウザにウェブポータルの URL を入力します。

   ```
   https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/Reports
   ```

1. `SSRS_GRANT_PORTAL_PERMISSION` タスクでアクセス権を付与したドメインユーザーの認証情報を使用してログインします。

# レポートのデプロイとレポートデータソースの設定
<a name="SSRS.DeployConfig"></a>

SSRS にレポートをデプロイし、レポートデータソースを設定するには、次の手順に従います。

**Topics**
+ [SSRS へのレポートのデプロイ](#SSRS.Deploy)
+ [レポートのデータソースの設定](#SSRS.ConfigureDataSource)

## SSRS へのレポートのデプロイ
<a name="SSRS.Deploy"></a>

ウェブポータルにアクセスした後は、ウェブポータルにレポートをデプロイできます。ウェブポータルのアップロードツールを使用して、レポートをアップロードしたり、[SQL Server データツール (SSDT)](https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt) から直接デプロイしたりできます。SSDT からデプロイする場合は、次の点を確認してください。
+ SSDT を起動したユーザーは、SSRS ウェブポータルにアクセスできます。
+ SSRS プロジェクトプロパティの `TargetServerURL` の値は、`ReportServer` サフィックスが付加された RDS DB インスタンスの HTTPS エンドポイントに設定されます。次に例を示します。

  ```
  https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/ReportServer
  ```

## レポートのデータソースの設定
<a name="SSRS.ConfigureDataSource"></a>

レポートを SSRS にデプロイした後、レポートのデータソースを設定する必要があります。レポートのデータソースを設定するときには、次の点を確認してください。
+ RDS for SQL Server DB インスタンスが AWS Directory Service for Microsoft Active Directory に結合されている場合、接続文字列のデータソース名として完全修飾ドメイン名 (FQDN) を使用してください。例えば、`myssrsinstance.corp-ad.example.com` を使用します。ここで、`myssrsinstance` は DB インスタンス名、`corp-ad.example.com` は完全修飾ドメイン名です。
+ 自己管理型の Active Directory に結合された RDS for SQL Server DB インスタンスの場合、接続文字列のデータソース名として `.` または `LocalHost` を使用します。

# SSRS E メールを使用してレポートを送信する
<a name="SSRS.Email"></a>

SSRS には SSRS E メール拡張機能が含まれており、これを使用してユーザーにレポートを送信できます。

SSRS E メールを設定するには、`SSRS` オプション設定を使用します。(詳しくは、「[オプショングループへの SSRS オプションの追加](SSRS.Enabling.md#SSRS.Add)」を参照してください。)

SSRS E メールを設定すると、レポートサーバー上のレポートを購読できます。詳細については、Microsoft ドキュメントの「[レポートサービスでの E メール配信](https://docs.microsoft.com/en-us/sql/reporting-services/subscriptions/e-mail-delivery-in-reporting-services)」を参照してください。

SSRS E メールが RDS 上で機能するためには、AWS Secrets Manager との統合が必要です。Secrets Manager と統合するには、シークレットを作成します。

**注記**  
シークレットを後で変更する場合は、オプショングループで `SSRS` オプションも更新する必要があります。

**SSRS E メールのシークレットを作成するには**

1. [AWS Secrets Manager ユーザーガイド](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)にある「*シークレットを作成する*」のステップに従います。

   1. **[Select secret type]** (シークレットタイプの選択) で、**[Other type of secrets]** (他の種類のシークレット) を選択します。

   1. **[Key/value pairs]** (キー/値ペア) で、次のように入力します。
      + **SMTP\$1USERNAME** — SMTP サーバーからメールを送信するアクセス許可を持つユーザーを入力します。
      + **SMTP\$1PASSWORD** — SMTP ユーザーのパスワードを入力します。

   1. **暗号化キー**では、デフォルトの AWS KMS key を使用しないでください。独自の既存のキーを使用するか、新しく作成します。

      KMS キーポリシーでは、`kms:Decrypt` アクションを許可する必要があります。例:

      ```
      {
          "Sid": "Allow use of the key",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "rds.amazonaws.com"
              ]
          },
          "Action": [
              "kms:Decrypt"
          ],
          "Resource": "*"
      }
      ```

1. *AWS Secrets Managerユーザーガイド*の「[アクセス許可ポリシーをシークレットにアタッチする](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)」のステップに従います。アクセス許可ポリシーは、`rds.amazonaws.com` サービスプリンシパルに `secretsmanager:GetSecretValue` アクションを与えます。

   *Confused Deputy* Problem (混乱した代理の問題) を回避するために、ポリシーの `aws:sourceAccount` および `aws:sourceArn` 条件を使用することをお勧めします。`aws:sourceAccount` には AWS アカウント を使用し、`aws:sourceArn` にはオプショングループ ARN を使用します。(詳しくは、「[サービス間での混乱した代理問題の防止](cross-service-confused-deputy-prevention.md)」を参照してください。)

   以下の例に示しているのは、アクセス許可ポリシーです。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [ {
       "Effect" : "Allow",
       "Principal" : {
         "Service" : "rds.amazonaws.com"
       },
       "Action" : "secretsmanager:GetSecretValue",
       "Resource" : "*",
       "Condition" : {
         "StringEquals" : {
           "aws:sourceAccount" : "123456789012"
         },
         "ArnLike" : {
           "aws:sourceArn" : "arn:aws:rds:us-west-2:123456789012:og:ssrs-se-2017"
         }
       }
     } ]
   }
   ```

------

   その他の例については、「*AWS Secrets Manager ユーザーガイド*」の「[AWS Secrets Manager のアクセス許可ポリシーの例](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html)」を参照してください。

# システムレベルのアクセス許可の取り消し
<a name="SSRS.Access.Revoke"></a>

`RDS_SSRS_ROLE` システムロールには、システムレベルのロールの割り当てを削除するための十分なアクセス許可がありません。`RDS_SSRS_ROLE` からユーザーまたはユーザーグループを削除するには、ロールの付与に使用したものと同じストアドプロシージャを使用します。ただし、`SSRS_REVOKE_PORTAL_PERMISSION` タスクタイプを使用します。

**ウェブポータルのドメインユーザーからアクセス権を取り消すには**
+ 次のストアドプロシージャを使用します。

  ```
  exec msdb.dbo.rds_msbi_task
  @task_type='SSRS_REVOKE_PORTAL_PERMISSION',
  @ssrs_group_or_username=N'AD_domain\user';
  ```

これにより、ユーザーが `RDS_SSRS_ROLE` システムロールから削除されます。また、ユーザーが `Content Manager` アイテムレベルのロールを持っている場合、このロールからも削除されます。

# タスクのステータスのモニタリング
<a name="SSRS.Monitor"></a>

タスクの権限付与または取り消しのステータスを追跡するには、`rds_fn_task_status` 関数を呼び出します。2 つのパラメータを使用します。1 つめのパラメータは、SSRS に適用されないため、常に `NULL` を設定してください。2 つめのパラメータは、タスク ID を受け入れます。

全タスクのリストを見るには、以下の例にあるように、初期のパラメータを `NULL` に設定し、2 つめのパラメータを `0` に設定します。

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);
```

特定のタスクを受け取るには、以下の例にあるように、初期のパラメータを `NULL` に設定し、2 つめのパラメータをタスク ID に設定します。

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);
```

`rds_fn_task_status` 機能は次の情報を返します。


| 出力パラメータ | 説明 | 
| --- | --- | 
| `task_id` | タスクの ID。 | 
| `task_type` | SSRS では、次のタスクタイプを使用できます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/SSRS.Monitor.html)  | 
| `database_name` | SSRS タスクは該当しません。 | 
| `% complete` | タスクの進行状況の割合。 | 
| `duration (mins)` | タスクにかかった時間 (分単位)。 | 
| `lifecycle` |  タスクのステータス。有効な状態には以下のものがあります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/SSRS.Monitor.html)  | 
| `task_info` | タスクに関する追加情報。処理中にエラーが発生した場合、この列にエラーに関する情報が含まれます。 | 
| `last_updated` | タスクのステータスが最後に更新された日時。 | 
| `created_at` | タスクが作成された日時。 | 
| `S3_object_arn` |  SSRS タスクは該当しません。  | 
| `overwrite_S3_backup_file` | SSRS タスクは該当しません。 | 
| `KMS_master_key_arn` |  SSRS タスクは該当しません。  | 
| `filepath` |  SSRS タスクは該当しません。  | 
| `overwrite_file` |  SSRS タスクは該当しません。  | 
| `task_metadata` | SSRS タスクに関連付けられたメタデータ。 | 

# SSRS データベースの無効化と削除
<a name="SSRS.DisableDelete"></a>

SSRS を無効にし、SSRS データベースを削除するには、次の手順に従います。

**Topics**
+ [SSRS をオフにする](#SSRS.Disable)
+ [SSRS データベースの削除](#SSRS.Drop)

## SSRS をオフにする
<a name="SSRS.Disable"></a>

SSRS をオフにするには、オプショングループから `SSRS` オプションを削除します。このオプションを削除しても、SSRS データベースは削除されません。(詳しくは、「[SSRS データベースの削除](#SSRS.Drop)」を参照してください。)

`SSRS` オプションを再び追加することで、SSRS を再びオンにすることができます。SSRS データベースも削除した場合は、同じ DB インスタンスでオプションを再度有効にすると、新しいレポートサーバーデータベースが作成されます。

### コンソール
<a name="SSRS.Disable.Console"></a>

**SSRS オプションをオプショングループから削除するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. `SSRS` オプションが含まれているオプショングループ (前の例では `ssrs-se-2017`) を選択します。

1. [**オプションの削除**] を選択します。

1. [**オプションの削除**] で、[**削除するオプション**] として [**SSRS**] を選択します。

1. [**すぐに適用**] で、オプションをすぐに削除する場合は [**はい**] を選択し、次のメンテナンスウィンドウで削除する場合は [**いいえ**] を選択します。

1. [**削除**] を選択します。

### CLI
<a name="SSRS.Disable.CLI"></a>

**SSRS オプションをオプショングループから削除するには**
+ 以下のいずれかのコマンドを実行します。  
**Example**  

  Linux、macOS、Unix の場合:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name ssrs-se-2017 \
      --options SSRS \
      --apply-immediately
  ```

  Windows の場合:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name ssrs-se-2017 ^
      --options SSRS ^
      --apply-immediately
  ```

## SSRS データベースの削除
<a name="SSRS.Drop"></a>

`SSRS` オプションを削除しても、レポートサーバーデータベースは削除されません。それらを削除するには、次のストアドプロシージャを使用します。

レポートサーバーデータベースを削除するには、必ず初期に `SSRS` オプションを削除してください。

**SSRS データベースを削除するには**
+ 次のストアドプロシージャを使用します。

  ```
  exec msdb.dbo.rds_drop_ssrs_databases
  ```