前提条件 - Amazon AppStream 2.0

前提条件

証明書ベースの認証を使用する前に、以下のステップを完了します。

  1. ドメイン結合フリートを設定し、SAML 2.0 を設定する。必ず SAML_Subject NameID 用の username@domain.com userPrincipalName 形式を使用してください。詳細については、「ステップ 5: SAML 認証レスポンスのアサーションを作成する」を参照してください。

    注記

    証明書ベースの認証を使用する場合は、スタック内の Active Directory のスマートカードサインインを有効にしないでください。詳細については、「スマートカード」を参照してください。

  2. イメージでは AppStream 2.0 エージェントのバージョン 10-13-2022 以降を使用してください。詳細については、「Amazon AppStream 2.0 イメージを最新の状態に保つ」を参照してください。

  3. (オプション) SAML アサーションに ObjectSid 属性を設定します。この属性を使用して、Active Directory ユーザーとの強力なマッピングを実行できます。ObjectSid 属性が SAML_Subject NameID で指定されたユーザーの Active Directory セキュリティ識別子 (SID) と一致しない場合、証明書ベースの認証は失敗します。詳細については、「ステップ 5: SAML 認証レスポンスのアサーションを作成する」を参照してください。

  4. SAML 2.0 設定で使用する IAM ロールの信頼ポリシーに sts:TagSession アクセス権限を追加します。詳細については、「AWS STS でのセッションタグの受け渡し」を参照してください。この権限は、証明書ベースの認証を使用する場合に必要です。詳細については、「ステップ 2: SAML 2.0 フェデレーション IAM ロールを作成する」を参照してください。

  5. Active Directory で設定されていない場合は、AWS プライベート CA を使用してプライベート認証機関 (CA) を作成します。AWSプライベート CA は、証明書ベースの認証を使用する場合に必要です。詳細については、「AWS Private CA デプロイの計画」を参照してください。以下の AWS プライベート CA 設定は、証明書ベースの認証の多くのユースケースで一般的です。

    • CA タイプオプション

      • 使用期間が短い証明書 CA 使用モード – CA が証明書ベースの認証のためにエンドユーザー証明書のみを発行する場合に推奨されます。

      • ルート CA を含む単一レベルの階層 – 下位 CA を選択して既存の CA 階層と統合します。

    • 主要なアルゴリズムオプション – RSA 2048

    • サブジェクト識別名オプション – 最も適切なオプションを使用して、Active Directory の信頼されたルート証明機関ストアでこの CA を識別します。

    • 証明書失効オプション – CRL のディストリビューション

      注記

      証明書ベースの認証には、AppStream 2.0 フリートインスタンスとドメインコントローラーの両方からアクセスできるオンライン CRL ディストリビューションポイントが必要です。これには、AWS プライベート CA CRL エントリ用に設定された Amazon S3 バケットへの認証されていないアクセスが必要です。パブリックアクセスをブロックする場合は Amazon S3 バケットにアクセスできる CloudFront ディストリビューションが必要です。これらのオプションの詳細については、「証明書失効リスト (CRL) の計画」を参照してください。

  6. プライベート CA に、AppStream 2.0 の証明書ベースの認証で使用する CA を指定するための、euc-private-ca というタイトルを持つキーをタグ付けします。このキーには値は必要ありません。詳細については、「プライベート CA のタグ管理」を参照してください。AppStream 2.0 で、AWS アカウント のリソースにアクセス権限を付与するために使用される AWS マネージドポリシーの詳細については、「AppStream 2.0 リソースにアクセスするために必要な AWS 管理ポリシー」を参照してください。

  7. 証明書ベースの認証では、仮想スマートカードを使用してログオンします。詳細については、「サードパーティーの証明機関でスマートカードオンを有効にするためのガイドライン」を参照してください。以下のステップに従います。

    1. スマートカードユーザーを認証するには、ドメインコントローラー証明書を使用してドメインコントローラーを設定します。Active Directory 証明書サービスのエンタープライズ CA が Active Directory に設定されている場合、スマートカードによるログオンを可能にするドメインコントローラーが証明書に自動的に登録されます。Active Directory 証明書サービスがない場合は、「サードパーティー CA からのドメインコントローラー証明書の要件」を参照してください。AWS は、ドメインコントローラー証明書の登録を自動的に管理するために、Active Directory エンタープライズ証明書を推奨しています。

      注記

      AWS Managed Microsoft AD を使用する場合、ドメインコントローラー証明書の要件を満たす Amazon EC2 インスタンスで証明書サービスを設定できます。Active Directory 証明書サービスで設定された AWS マネージド Microsoft AD のデプロイ例については、「新しい Amazon Virtual Private Cloud への Active Directory のデプロイ」を参照してください。

      AWS Managed Microsoft AD と Active Directory 証明書サービスでは、コントローラーの VPC セキュリティグループから証明書サービスを実行している Amazon EC2 インスタンスへのアウトバウンドルールも作成する必要があります。証明書の自動登録を有効にするには、セキュリティグループに TCP ポート 135 とポート 49152~65535 へのアクセスを提供する必要があります。Amazon EC2 インスタンスは、ドメインコントローラーを含むドメインインスタンスからの同じポートへのインバウンドアクセスも許可する必要があります。AWS Managed Microsoft AD のセキュリティグループを見つける方法の詳細については、「VPC サブネットとセキュリティグループを設定する」を参照してください。

    2. AWS プライベート CA コンソール、または SDK や CLI を使用して、プライベート CA 証明書をエクスポートします。詳細については、「プライベート証明書のエクスポート」を参照してください。

    3. プライベート CA を Active Directory に公開します。ドメインコントローラーまたはドメイン結合マシンにログオンします。プライベート CA 証明書を任意の <path>\<file> にコピーし、ドメイン管理者として次のコマンドを実行します。また、グループポリシーと Microsoft PKI Health ツール (PKIView) を使用して CA を公開することもできます。詳細については、「設定手順」を参照してください。

      certutil -dspublish -f <path>\<file> RootCA
      certutil -dspublish -f <path>\<file> NTAuthCA

      コマンドが正常に完了したことを確認してから、プライベート CA 証明書ファイルを削除します。Active Directory のレプリケーション設定によっては、CA がドメインコントローラーと AppStream 2.0 フリートインスタンスに公開するまでに数分かかる場合があります。

      注記

      Active Directory は、AppStream 2.0 フリートインスタンスがドメインに結合したときに、信頼されたルート認証機関とエンタープライズ NTAuth ストアに CA を自動的に配布する必要があります。

Windows オペレーティングシステムの場合、CA (認証局) のディストリビューションは自動的に行われます。ただし、Red Hat Enterprise Linux の場合は、AppStream 2.0 Directory Config で使用される CA からルート CA 証明書をダウンロードする必要があります。KDC ルート CA 証明書が異なる場合、それらもダウンロードする必要があります。証明書ベースの認証を使用する前に、これらの証明書をイメージまたはスナップショットにインポートする必要があります。

イメージには、/etc/sssd/pki/sssd_auth_ca_db.pem という名前のファイルが必要です。次のようになります。

-----BEGIN CERTIFICATE----- Base64-encoded certificate chain from ACM Private CA -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate body from ACM private CA -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded root CA KDC certificate chain -----END CERTIFICATE-----
注記

リージョンやアカウント間でイメージをコピーする場合、またはイメージを新しい Active Directory に再関連付けする場合は、このファイルを Image Builder の関連する証明書で再設定し、使用前に再度スナップショットを作成する必要があります。

ルート CA 証明書をダウンロードする手順は次のとおりです。

  1. Image Builder で、/etc/sssd/pki/sssd_auth_ca_db.pem という名前のファイルを作成します。

  2. AWS Private CA コンソール を開きます。

  3. AppStream 2.0 Directory Config で使用されるプライベート証明書を選択します。

  4. [CA 証明書] タブを選択します。

  5. 証明書チェーンと証明書本文を Image Builder の /etc/sssd/pki/sssd_auth_ca_db.pem にコピーします。

KDC が使用するルート CA 証明書が AppStream 2.0 Directory Config が使用するルート CA 証明書と異なる場合は、以下のサンプルステップに従ってダウンロードします。

  1. Image Builder と同じドメインに参加している Windows インスタンスに接続します。

  2. certlm.msc を開きます。

  3. 左側のペインで、[信頼できるルート証明機関] を選択し、[証明書] を選択します。

  4. ルート CA 証明書ごとに、コンテキスト (右クリック) メニューを開きます。

  5. [すべてのタスク] を選択し、[エクスポート] を選択して証明書エクスポートウィザードを開き、[次へ] を選択します。

  6. [Base64 でエンコードされた X.509 (.CER)] を選択し、[次へ] を選択します。

  7. [参照] を選択し、ファイル名を入力し、[次へ] を選択します。

  8. [Finish] を選択します。

  9. エクスポートされた証明書をテキストエディタで開きます。

  10. ファイルの内容を Image Builder の /etc/sssd/pki/sssd_auth_ca_db.pem にコピーします。