翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
セットアップ SAML
ユーザーが既存の認証情報を使用して AppStream 2.0 にサインインし、ストリーミングアプリケーションを起動できるようにするには、2.0 SAML を使用して ID フェデレーションを設定できます。これを行うには、IAMロールとリレー状態を使用して SAML 2.0 準拠の ID プロバイダー (IdP ) URLを設定し、 を有効に AWS してフェデレーティッドユーザーに AppStream 2.0 スタックへのアクセスを許可します。IAM ロールは、スタックにアクセスするアクセス許可をユーザーに付与します。リレーステートは、 AWSによる認証に成功した後にユーザーが転送されるスタックポータルです。
内容
前提条件
SAML 2.0 接続を設定する前に、次の前提条件を満たしてください。
-
SAMLベースの IdP を設定して、 との信頼関係を確立します AWS。
-
組織のネットワーク内で、 SAMLベースの IdP を使用するように ID ストアを設定します。設定のリソースについては、AppStream 2.0 と 2.0 SAML の統合 を参照してください。
-
SAMLベースの IdP を使用して、組織を IdP として記述するフェデレーションメタデータドキュメントを生成およびダウンロードします。この署名付きXMLドキュメントは、依存関係の信頼を確立するために使用されます。このファイルは、後でIAMコンソールからアクセスできる場所に保存します。
-
-
AppStream 2.0 管理コンソールを使用して AppStream 2.0 スタックを作成します。このトピックで後述するように、IAMポリシーを作成し、IdP と AppStream 2.0 の統合を設定するには、スタック名が必要です。
AppStream 2.0 スタックを作成するには、 AppStream 2.0 管理コンソール、 AWS CLI、または AppStream 2.0 を使用しますAPI。詳細については、「Amazon AppStream 2.0 フリートとスタックを作成する」を参照してください。
ステップ 1: で SAML ID プロバイダーを作成する AWS IAM
まず、 で SAML IdP を作成します AWS IAM。この IdP は、組織内の IdP ソフトウェアによって生成されたメタデータドキュメントを使用して、組織の IdP とAWS 信頼の関係を定義します。詳細については、 IAM ユーザーガイドのSAML「アイデンティティプロバイダー (Amazon Web Services マネジメントコンソール) の作成と管理」を参照してください。 AWS GovCloud (US) リージョンSAML IdPs での の使用の詳細については、 AWS GovCloud (US) ユーザーガイドのAWS 「アイデンティティとアクセスの管理」を参照してください。
ステップ 2: SAML2.0 フェデレーションIAMロールを作成する
次に、2.0 SAML フェデレーションIAMロールを作成します。このステップでは、 IAM と組織の IdP との信頼関係を確立し、IdP をフェデレーションの信頼されたエンティティとして識別します。
IdP SAML のIAMロールを作成するには
でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 -
ナビゲーションペインで [ロール]、[ロールの作成] の順に選択します。
-
ロールタイプ では、SAML2.0 フェデレーション を選択します。
-
SAML プロバイダー で、作成した SAML IdP を選択します。
重要
2 つの SAML 2.0 アクセス方法 (プログラムによるアクセスのみを許可する、またはプログラムによるアクセスと Amazon Web Services マネジメントコンソールによるアクセスを許可する) のいずれも選択しないでください。
-
属性 で、SAML:aud を選択します。
-
[値] に「
https://signin.aws.amazon.com/saml
」と入力します。この値は、永続的な値を持つSAMLサブジェクトタイプのアサーションを含むSAMLユーザーストリーミングリクエストへのロールアクセスを制限します。SAML:sub_type が永続的である場合、IdP は特定のユーザーからのすべてのSAMLリクエストで NameID 要素に同じ一意の値を送信します。SAML:sub_type アサーションの詳細については、「 へのアクセスに SAMLベースのフェデレーションを使用する」の「 ベースのフェデレーションでユーザーを一意に識別する」セクションを参照してください。 SAML API AWS -
2.0 SAML の信頼情報を確認し、正しい信頼されたエンティティと条件を確認してから、次へ: アクセス許可 を選択します。
-
[アクセス権限ポリシーをアタッチする] ページで、[Next: Tags] を選択します。
(オプション) 追加する各タグのキーと値を入力します。詳細については、IAM「ユーザーとロールのタグ付け」を参照してください。
終了したら、[Next: Review] を選択します。後でこのロールにインラインポリシーを作成して埋め込みます。
-
[Role name] (ロール名) に、このロールの目的を識別できる名前を入力します。なぜなら複数エンティティがロールを参照している可能性があります。ロールが作成された後のロールの名前の編集はできません。
-
(オプション) [Role description] (ロールの説明) に、新しいロールの説明を入力します。
-
ロールの詳細を確認し、[ロールの作成] を選択します。
-
(オプション) サードパーティーの SAML2.0 ID プロバイダーまたは証明書ベースの認証を使用してセッションコンテキストまたは属性ベースのアプリケーションエンタイトルメントを使用する場合は、新しいIAMロールの信頼ポリシーに sts:TagSession permission を追加する必要があります。詳細については、「サードパーティーの SAML2.0 ID プロバイダーを使用した属性ベースのアプリケーション権限」および「AWS STSでのセッションタグの受け渡し」を参照してください。
新しいIAMロールの詳細で、信頼関係タブを選択し、信頼関係の編集 を選択します。[信頼関係の編集] ポリシーエディタが起動します。次のように sts:TagSession アクセス許可を追加します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::
ACCOUNT-ID-WITHOUT-HYPHENS
:saml-provider/IDENTITY-PROVIDER
" }, "Action": [ "sts:AssumeRoleWithSAML", "sts:TagSession" ], "Condition": { "StringEquals": { "SAML:sub_type": "persistent" } } } ] }置換
IDENTITY-PROVIDER
ステップ 1 で作成した SAML IdP の名前。次に、[Update Trust Policy] (信頼ポリシーの更新) を選択します。
ステップ 3: IAMロールにインラインポリシーを埋め込む
次に、作成したロールにインラインIAMポリシーを埋め込みます。インラインポリシーを埋め込むと、ポリシーのアクセス許可が、間違ったプリンシパルエンティティにアタッチされることを回避できます。インラインポリシーは、フェデレーティッドユーザーに、作成した AppStream 2.0 スタックへのアクセスを提供します。
作成したIAMロールの詳細で、アクセス許可タブを選択し、インラインポリシーの追加 を選択します。ポリシーの作成ウィザードが起動します。
ポリシーの作成 で、 JSONタブを選択します。
-
次のJSONポリシーをコピーしてJSONウィンドウに貼り付けます。次に、 AWS リージョン コード、アカウント ID、スタック名を入力してリソースを変更します。次のポリシーでは、
"Action": "appstream:Stream"
は、作成したスタックのストリーミングセッションに接続するアクセス許可を AppStream 2.0 ユーザーに提供するアクションです。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "appstream:Stream", "Resource": "arn:aws:appstream:
REGION-CODE
:ACCOUNT-ID-WITHOUT-HYPHENS
:stack/STACK-NAME
", "Condition": { "StringEquals": { "appstream:userId": "${saml:sub}" } } } ] }置換
REGION-CODE
AppStream 2.0 スタックが存在する AWS リージョン。置換STACK-NAME
スタックの名前。STACK-NAME
は大文字と小文字が区別され、 AppStream 2.0 管理コンソールの スタックダッシュボードに表示されるスタック名と大文字と小文字とスペルが完全に一致する必要があります。AWS GovCloud (US) リージョンのリソースでは、 に次の形式を使用しますARN。
arn:aws-us-gov:appstream:
REGION-CODE
:ACCOUNT-ID-WITHOUT-HYPHENS
:stack/STACK-NAME
(オプション) 2.0 マルチスタック Application Catalogs でサードパーティーSAMLの 2.0 ID プロバイダーを使用して属性ベースのアプリケーションエンタイトルメントを使用する予定の場合、IAMロールインラインポリシーのリソースは
"Resource": "arn:aws:appstream:
、アプリケーションエンタイトルメントがスタックへのストリーミングアクセスを制御することができるようにする必要があります。 SAML スタックリソースに追加の保護を適用するには、ポリシーに明示的拒否を追加します。詳細については、「サードパーティーの SAML2.0 ID プロバイダーを使用した属性ベースのアプリケーション権限」、および「ポリシーの評価論理」を参照してください。REGION-CODE
:ACCOUNT-ID-WITHOUT-HYPHENS
:stack/*"完了したら、[ポリシーの確認] をクリックします。構文エラーがある場合は、Policy Validator (ポリシー検証) によってレポートされます。
ステップ 4: SAMLベースの IdP を設定する
次に、 SAMLベースの IdP に応じて、https://signin.aws.amazon.com/static/saml-metadata.xmlsaml-metadata.xml
ファイルを IdP にアップロードして、サービスプロバイダー AWS として信頼するように IdP を手動で更新する必要がある場合があります。このステップは、IdP のメタデータを更新します。一部の では IdPs、更新が既に設定されている場合があります。この場合は、次のステップに進みます。
IdP でこの更新がまだ設定されていない場合には、IdP から提供されるドキュメンテーションでメタデータを更新する方法に関する情報を確認します。一部のプロバイダーは を入力するオプションを提供しURL、IdP はファイルを取得してインストールします。それ以外の場合は、 からファイルをダウンロードしURL、ローカルファイルとして指定する必要があります。
ステップ 5: SAML Authentication Response のアサーションを作成する
次に、IdP が認証レスポンスでSAML属性 AWS として送信する情報を設定する必要がある場合があります。IdP によっては、この情報はすでに設定されています。この場合、この手順をスキップしてステップ 6 に進みます。
この情報がまだ設定されていない場合は、IdP で次を実行します。
-
SAML Subject NameID – サインインしているユーザーの一意の識別子。
注記
ドメインに参加しているフリートを持つスタックの場合、ユーザーの NameID 値は、sAMAccount「」または
「」を使用してdomain
\usernameusername@domain.com
「」の形式で指定する必要があります userPrincipalName。Name 形式を使用している場合は、Net sAMAccountBIOS 名または完全修飾ドメイン名 ()
を使用して を指定できますFQDN。Active Directory の一方向信頼シナリオには、sAMAccount名前形式が必要です。詳細については、「 AppStream 2.0 での Active Directory の使用」を参照してください。domain
-
SAML サブジェクトタイプ (値を に設定
persistent
) – 値を に設定すると、IdPpersistent
は特定のユーザーからのすべてのSAMLリクエストでNameID
要素に対して同じ一意の値を送信します。で説明されているようにpersistent
、SAMLsub_type が に設定されているSAMLリクエストのみを許可する条件がIAMポリシーに含まれていることを確認してくださいステップ 2: SAML2.0 フェデレーションIAMロールを作成する。 -
Attribute
Name
属性が https://aws.amazon.com/SAML/Attributes/Role に設定されている 要素 – この要素には、ユーザーが IdP SAML によってマッピングされるIAMロールと IdP を一覧表示する 1 つ以上のAttributeValue
要素が含まれています。ロールと IdP は、カンマ区切りの のペアとして指定されますARNs。 -
Attribute
Name
属性が https://aws.amazon.com/SAML/Attributes/ に設定されている 要素RoleSessionName – この要素には、 用に発行された AWS 一時的な認証情報の識別子を提供する 1 つのAttributeValue
要素が含まれていますSSO。AttributeValue
要素の値は 2~64 文字で、英数字、アンダースコア、および + (プラス記号)、= (等号)、, (カンマ)、. (ピリオド)、@ (アットマーク)、- (ハイフン) のみで構成する必要があります。スペースを含めることはできません。通常、この値はユーザー ID (bobsmith) またはメールアドレス (bobsmith:bobsmith@example.com) になります。ユーザーの表示名 (Bob Smith) のように、スペースを含む値とすることはできません。 -
Attribute
Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:SessionContext (オプション) に設定されている 要素 – この要素には、ストリーミングアプリケーションにセッションコンテキストパラメータを渡すために使用できるパラメータを提供する 1 つのAttributeValue
要素が含まれています。詳細については、「Amazon AppStream 2.0 のセッションコンテキスト」を参照してください。 -
Attribute
Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:ObjectSid (オプション) に設定されている 要素 – この要素には、サインインしているユーザーの Active Directory セキュリティ識別子 (SID) を提供する 1 つのAttributeValue
要素が含まれています。このパラメータを証明書ベースの認証で使用すると、Active Directory ユーザーへの強力なマッピングが可能になります。 -
Attribute
Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:Domain (オプション) に設定された 要素 – この要素には、サインインしているユーザーに Active Directory のDNS完全修飾ドメイン名 (FQDN) を提供する 1 つのAttributeValue
要素が含まれています。このパラメータは、ユーザーの Active DirectoryuserPrincipalName
に代替サフィックスが含まれている場合に、証明書ベースの認証で使用されます。値は、サブドメインを含め、domain.com
の形式で指定する必要があります。 -
Attribute
SessionDuration
属性が https://aws.amazon.com/SAML/Attributes/SessionDuration (オプション) に設定された 要素 – この要素には、再認証が必要になるまで、ユーザーのフェデレーティッドストリーミングセッションをアクティブのままにできる最大時間を指定する 1 つのAttributeValue
要素が含まれています。デフォルト値は 60 分 (3,600 秒) です。詳細については、「Authentication Response のアサーションの設定」の SessionDuration 「属性を 属性/ セクションに設定したオプションの https://aws.amazon.com/SAML/属性要素SessionDuration」を参照してください。 SAML注記
SessionDuration
はオプションの属性ですが、SAMLレスポンスに含めることをお勧めします。この属性を指定しない場合、セッション時間はデフォルト値の 60 分に設定されます。ユーザーが AppStream 2.0 ネイティブクライアントを使用するか、新しいエクスペリエンスでウェブブラウザを使用して AppStream 2.0 でストリーミングアプリケーションにアクセスする場合、セッションの期間が経過するとセッションは切断されます。ユーザーが古い/クラシックエクスペリエンスでウェブブラウザを使用して 2.0 で AppStreamストリーミングアプリケーションにアクセスする場合、ユーザーのセッション期間が終了し、ブラウザページが更新されると、セッションは切断されます。
これらの要素を設定する方法の詳細については、 IAM ユーザーガイドの「認証レスポンスのSAMLアサーションの設定」を参照してください。IdP に特定の設定要件に関する詳細は、IdP のドキュメンテーションを参照してください。
ステップ 6: フェデレーションのリレーステートを設定する
最後に、IdP を使用してフェデレーションのリレー状態を AppStream 2.0 スタックリレー状態 を指すように設定しますURL。による認証が成功すると AWS、ユーザーは AppStream 2.0 スタックポータルに移動します。このポータルは、SAML認証レスポンスのリレー状態として定義されます。
リレー状態の形式URLは次のとおりです。
https://relay-state-region-endpoint
?stack=stackname
&accountId=aws-account-id-without-hyphens
Amazon Web Services アカウント ID、スタック名、およびスタックが配置されているリージョンに関連付けられたリレー状態エンドポイントURLからリレー状態を作成します。
オプションで、自動的に起動するアプリケーションの名前を指定できます。アプリケーション名を検索するには、 AppStream 2.0 コンソールでイメージを選択し、アプリケーションタブを選択し、アプリケーション名列に表示される名前をメモします。または、イメージをまだ作成していない場合は、アプリケーションをインストールした Image Builder に接続し、Image Assistant を開きます。アプリケーション名は [Add Apps] タブに表示されます。
[Desktop (デスクトップ)] ストリームビューに対してフリートが有効になっている場合は、オペレーティングシステムのデスクトップに直接起動することもできます。これを行うには、リレー状態のDesktop
最後に を指定しURL、その後に を指定します&app=
。
ID プロバイダー (IdP ) が開始するフローでは、システムのデフォルトブラウザで、ユーザーが IdP にサインインし、IdP ユーザーポータルから AppStream 2.0 アプリケーションを選択すると、システムデフォルトブラウザの AppStream 2.0 サインインページにリダイレクトされ、次のオプションがあります。
-
Browser を続行
-
AppStream 2.0 クライアントを開く
ページで、ユーザーはブラウザまたは AppStream 2.0 クライアントアプリケーションでセッションを開始できます。必要に応じて、2.0 SAML フェデレーションに使用するクライアントを指定することもできます。これを行うには、リレー状態のweb
最後に URLnative
または を指定します&client=
。パラメータがリレー状態 に存在する場合URL、対応するセッションは、ユーザーが選択することなく、指定されたクライアントで自動的に開始されます。
注記
この機能は、新しいリレー状態リージョンエンドポイント (以下の表 1) を使用してリレー状態 を構築しURL、 AppStream 2.0 クライアントバージョン 1.1.1300 以降を使用する場合にのみ使用できます。また、ユーザーは常にシステムのデフォルトブラウザを使用して IdP にサインインする必要があります。この機能は、デフォルト以外のブラウザを使用している場合は機能しません。
サードパーティーの 2.0 ID SAML プロバイダーを使用する属性ベースのアプリケーションエンタイトルメントを使用すると、単一のリレー状態 から複数のスタックへのアクセスを有効にすることができますURL。次のようにURL、リレー状態 からスタックとアプリケーション (存在する場合) パラメータを削除します。
https://relay-state-region-endpoint
?accountId=aws-account-id-without-hyphens
ユーザーが AppStream 2.0 アプリケーションカタログにフェデレーションすると、アプリケーションエンタイトルメントが 1 つ以上のアプリケーションをユーザーと照合したすべてのスタックが、スタックが配置されているリージョンに関連付けられたアカウント ID とリレー状態エンドポイントに対して表示されます。ユーザーがカタログを選択すると、アプリケーションの使用権限には、そのユーザーが資格を持つアプリケーションのみが表示されます。
注記
ユーザーは複数のスタックから同時にストリーミングすることはできません。
詳細については、「サードパーティーの SAML2.0 ID プロバイダーを使用した属性ベースのアプリケーション権限」を参照してください。
以下の表 1 に、 AppStream 2.0 が利用可能なリージョンのリレー状態エンドポイントを示します。表 1 のリレー状態エンドポイントは、 AppStream 2.0 ウェブブラウザアクセス (バージョン 2)および Windows クライアントアプリケーションバージョン 1.1.1300 以降と互換性があります。Windows クライアントの古いバージョンを使用している場合は、表 2 に記載されている古いリレー状態エンドポイントを使用して 2.0 SAML フェデレーションを設定する必要があります。FIPS準拠の接続を使用してユーザーをストリーミングする場合は、FIPS準拠のエンドポイントを使用する必要があります。FIPS エンドポイントの詳細については、「」を参照してくださいFIPS エンドポイントを使用した転送中のデータの保護。
リージョン | リレーステートのエンドポイント |
---|---|
米国東部 (バージニア北部) |
(FIPS)
|
米国東部 (オハイオ) | https://appstream2.euc-sso.us-east-2.aws.amazon.com/saml |
米国西部 (オレゴン) |
(FIPS)
|
アジアパシフィック (ムンバイ) | https://appstream2.euc-sso.ap-south-1.aws.amazon.com/saml |
アジアパシフィック (ソウル) | https://appstream2.euc-sso.ap-northeast-2.aws.amazon.com/saml |
アジアパシフィック (シンガポール) | https://appstream2.euc-sso.ap-southeast-1.aws.amazon.com/saml |
アジアパシフィック (シドニー) | https://appstream2.euc-sso.ap-southeast-2.aws.amazon.com/saml |
アジアパシフィック (東京) | https://appstream2.euc-sso.ap-northeast-1.aws.amazon.com/saml |
カナダ (中部) |
https://appstream2.euc-sso.ca-central-1.aws.amazon.com/saml |
欧州 (フランクフルト) | https://appstream2.euc-sso.eu-central-1.aws.amazon.com/saml |
欧州 (アイルランド) | https://appstream2.euc-sso.eu-west-1.aws.amazon.com/saml |
欧州 (ロンドン) | https://appstream2.euc-sso.eu-west-2.aws.amazon.com/saml |
AWS GovCloud (米国東部) |
(FIPS)
注記AWS GovCloud (US) リージョンで AppStream 2.0 を使用する方法の詳細については、 AWS GovCloud (US) ユーザーガイドの「Amazon AppStream 2.0」を参照してください。 |
AWS GovCloud (米国西部) |
(FIPS)
注記AWS GovCloud (US) リージョンで AppStream 2.0 を使用する方法の詳細については、 AWS GovCloud (US) ユーザーガイドの「Amazon AppStream 2.0」を参照してください。 |
南米 (サンパウロ) | https://appstream2.euc-sso.sa-east-1.aws.amazon.com/saml |
次の表 2 は、まだ利用可能な古いリレー状態エンドポイントを示しています。ただし、表 1 に記載されている新しいリレー状態エンドポイントを使用して 2.0 SAML フェデレーションを設定することをお勧めします。特に、新しいリレー状態エンドポイントを使用すると、IdP が開始したストリーミングセッションから AppStream 2.0 クライアントアプリケーション (バージョン 1.1.1300 以降) を起動できます。表 1 の新しいリレー状態エンドポイントでは、進行中の AppStream 2.0 ストリーミングセッションに影響を与えることなく、同じウェブブラウザの異なるタブで他の AWS アプリケーションにサインインすることもできます。表 2 の古いリレー状態エンドポイントは、これをサポートしていません。詳細については、「 AppStream 2.0 クライアントユーザーは、60 分ごとに AppStream 2.0 セッションから切断されます。」を参照してください
リージョン | リレーステートのエンドポイント |
---|---|
米国東部 (バージニア北部) |
(FIPS)
|
米国東部 (オハイオ) | https://appstream2.us-east-2.aws.amazon.com/saml |
米国西部 (オレゴン) |
(FIPS)
|
アジアパシフィック (ムンバイ) | https://appstream2.ap-south-1.aws.amazon.com/saml |
アジアパシフィック (ソウル) | https://appstream2.ap-northeast-2.aws.amazon.com/saml |
アジアパシフィック (シンガポール) | https://appstream2.ap-southeast-1.aws.amazon.com/saml |
アジアパシフィック (シドニー) | https://appstream2.ap-southeast-2.aws.amazon.com/saml |
アジアパシフィック (東京) | https://appstream2.ap-northeast-1.aws.amazon.com/saml |
カナダ (中部) |
https://appstream2.ca-central-1.aws.amazon.com/saml |
欧州 (フランクフルト) | https://appstream2.eu-central-1.aws.amazon.com/saml |
欧州 (アイルランド) | https://appstream2.eu-west-1.aws.amazon.com/saml |
欧州 (ロンドン) | https://appstream2.eu-west-2.aws.amazon.com/saml |
AWS GovCloud (米国東部) |
(FIPS)
注記AWS GovCloud (US) リージョンで AppStream 2.0 を使用する方法の詳細については、 AWS GovCloud (US) ユーザーガイドの「Amazon AppStream 2.0」を参照してください。 |
AWS GovCloud (米国西部) |
(FIPS)
注記AWS GovCloud (US) リージョンで AppStream 2.0 を使用する方法の詳細については、 AWS GovCloud (US) ユーザーガイドの「Amazon AppStream 2.0」を参照してください。 |
南米 (サンパウロ) | https://appstream2.sa-east-1.aws.amazon.com/saml |
以下の表 3 に、リレー状態 の構築に使用できるすべてのパラメータを示しますURL。
[Parameter] (パラメータ) | 必須 | [形式] | サポート |
---|---|---|---|
accountId | 必須 | 12 文字 AWS アカウント ID | 表 1 および 2 の新しいエンドポイントと古いエンドポイント |
スタック | オプションです。 | スタックの名前 | 表 1 および 2 の新しいエンドポイントと古いエンドポイント |
アプリケーション | オプションです。 | アプリケーション名または「デスクトップ」 | 表 1 および 2 の新しいエンドポイントと古いエンドポイント |
クライアント | オプションです。 | 「ネイティブ」または「ウェブ」 | 表 1 のみの新しいエンドポイント |