

# デスクトップビューまたはアプリケーションビューの選択
<a name="choosing-desktop-view-or-application-view"></a>

 アプリケーションビューとデスクトップビューのどちらを選択しても、パフォーマンスやコストには影響しません。WorkSpaces Applications フリート 1 つにつき、一度にアクセスできるビューは 1 つだけです。**ストリームビュー**オプションは変更できます。ストリームビューを変更するにはフリートの再起動が必要なため、この変更はピーク以外の営業時間帯に計画してください。

 ストリームビューのベストプラクティスは 1 つではありません。ストリームビューオプションの影響は、次のようにまとめられています。
+  管理者向けの**使用状況レポート**機能によるアプリケーション使用状況の詳細レポート 
+  エンドユーザー向けの全体的なエクスペリエンスとワークフロー (例えば、全画面表示のデスクトップはユースケースのニーズに対応しているのか、それともアプリケーションを見るだけで十分なのか、など)。

## デスクトップビュー
<a name="desktop-view"></a>

 ユーザーのワークフローがすべてセッションで実行されるユースケースでは、デスクトップビューではすべてのアプリケーションを 1 つの環境に集中させることができるため、ユーザーエクスペリエンスが簡素化されます。デスクトップビューを使用すると、オペレーティングシステム (OS) との統合を必要とするアプリケーションを 3 ～ 5 個以上でプロイしても、より一貫したユーザーエクスペリエンスを実現できます。デスクトップビューは、2 つの異なる環境を管理する場合に効果的です。例えば、ユーザーは本番環境と本番前のデスクトップ環境の両方に同時にアクセスして、レイアウト、構成、およびアプリケーションアクセスの変更を検証できます。

 WorkSpaces Applications 使用状況レポートは、デスクトップビューの毎日のアプリケーションレポートを作成します。生成されるアプリケーションの出力は単に「デスクトップ」で、WorkSpaces Applications セッションに直接マッピングされます。詳細については、このドキュメントの「[**ユーザー使用状況のモニタリング**](monitoring.md#monitoring-user-usage)」セクションを参照してください。

## アプリケーション専用ビュー
<a name="applications-only-view"></a>

 アプリケーション専用ビューは、WorkSpaces Applications スタックが断続的に必要とされるいくつかのアプリケーションを提供することを目的としている場合にも効果的です。キオスク環境では、安全にロックダウンされたアプリケーションのデリバリーがアプリケーションビューを通じて配信されます。アプリケーションビューでは、WorkSpaces Applications はデフォルトの Windows シェルをカスタムシェルに置き換えます。このカスタムシェルは実行中のアプリケーションのみを表示し、OS のアタックサーフェス領域を最小限に抑えます。

 WorkSpaces Applications を使用して既存の組織のデスクトップ環境を強化するユースケースでは、アプリケーション専用ビューが推奨されます。WorkSpaces Applications Windows Client を[https://docs.aws.amazon.com/appstream2/latest/developerguide/client-system-requirements-feature-support.html#feature-support-native-application-mode](https://docs.aws.amazon.com/appstream2/latest/developerguide/client-system-requirements-feature-support.html#feature-support-native-application-mode)でデプロイし、キーボードショートカットをフルに使用できるようにすることでユーザーの混乱を最小限に抑えます。

 Amazon WorkSpaces Applications 使用状況レポートは、アプリケーションビューの毎日のアプリケーションレポートを作成します。アプリケーションと実行の使用状況をより詳細に報告するには、オペレーティングシステムレベルで報告するサードパーティのソリューションを検討してください。Microsoft AppLocker をレポートモードで使用するか、または Liquidware の [https://aws.amazon.com/marketplace/pp/prodview-ghxb36werkone](https://aws.amazon.com/marketplace/pp/prodview-ghxb36werkone) など、AWS Marketplace で使用できるソリューションを検討することもできます。

## AWS Identity and Access Management ロールの設定
<a name="identity-and-access-management-role-configuration"></a>

ワークロードで WorkSpaces Applications のエンドユーザーがセッション内から他の AWS サービスにアクセスする必要がある場合、[AWS Identity and Access Management(IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)) ロールを使用してアクセスを委任するのがベストプラクティスです。IAM ロールは、[フリートレベルでの割り当て](https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#how-to-use-iam-role-with-streaming-instances)を通じてエンドユーザーのセッションに直接アタッチできます。WorkSpaces Applications で IAM ロールを使用する際のその他のベストプラクティスについては、[管理者ガイドのこのセクション](https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances)を参照してください。

### 静的認証情報の使用
<a name="using-static-credentials"></a>

ワークロードによっては、IAM アクセスキーをアタッチされたロールから継承するのではなく、静的な入力が必要になる場合があります。これらの認証情報を受け取るには 2 つの方法があります。1 つ目の方法は、アクセスキーを AWS サービス内に保存し、そのサービスから特定の値を取得するための明示的な IAM アクセスをエンドユーザーに付与します。アクセスキーの保存メカニズムの 2 つの例では、[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html) または [AWS SSM パラメータストア](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html)を使用します。2 つ目の方法は、WorkSpaces Applications 認証情報プロバイダーを使用して、アタッチされたロールのアクセスキーにアクセスすることです。これを行うには、認証情報プロバイダーを呼び出し、アクセスキーとシークレットキーの出力を解析します。PowerShell 内でこのアクションを実行する方法の例を以下に示します。

```
$CMD = 'C:\Program Files\Amazon\Photon\PhotonRoleCredentialProvider\PhotonRoleCredentialProvider.exe'
$role = 'Machine'

$output = & $CMD --role=$role
$parsed = $output | ConvertFrom-Json

$access_key = $parsed.AccessKeyId
$secret_key = $parsed.SecretAccessKey
$session_token = $parsed.SessionToken
```

### WorkSpaces Applications S3 バケットの保護
<a name="protecting-appstream-bucket"></a>

WorkSpaces Applications ワークロードにホームフォルダまたはアプリケーション永続化が設定されている場合は、永続データが保存されている Amazon S3 バケットを不正アクセスや誤った削除から保護するのがベストプラクティスです。最初の保護レイヤーは、[バケットが誤って削除されないように](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-delete) Amazon S3 バケットポリシーを追加することです。2 つ目の保護レイヤーは、最小権限の原則に沿ったバケットポリシーを追加することです。この原則に従うには、[必要な関係者にのみバケットアクセスを許可する](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access)必要があります。