翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SAML 2.0 を設定して WorkSpaces Pools ディレクトリを作成する
SAML 2.0 を使用して ID フェデレーションを設定することで、WorkSpaces クライアントアプリケーションの登録と、WorkSpaces Pools の WorkSpaces へのサインインを有効にできます。これを行うには、 AWS Identity and Access Management (IAM) ロールとリレーステート URL を使用して SAML 2.0 ID プロバイダー (IdP) を設定し、 AWSで有効にします。これにより、フェデレーションユーザーに対して WorkSpaces Pools ディレクトリへのアクセス権が付与されます。リレーステートは、 AWSに正常にサインインした後にユーザーが転送される WorkSpaces ディレクトリエンドポイントです。
重要
WorkSpaces Pools は、IP ベースの SAML 2.0 設定をサポートしていません。
トピック
ステップ 1: 要件を考慮する
WorkSpaces Pools ディレクトリに SAML を設定する場合、以下の要件が適用されます。
-
workspaces_DefaultRole IAM ロールは AWS アカウントに存在する必要があります。このロールは、WorkSpaces Quick Setup を使用した場合、または過去に AWS Management Consoleを使用して WorkSpace を起動したことがある場合に、自動的に作成されます。ユーザーに代わって特定の AWS リソースにアクセスするアクセス許可を Amazon WorkSpaces に付与します。このロールが既に存在する場合は、AmazonWorkSpacesPoolServiceAccess マネージドポリシーのアタッチが必要になる場合があります。このポリシーは、Amazon WorkSpaces が WorkSpaces Pools の AWS アカウントで必要なリソースにアクセスするために使用するものです。詳細については、「workspaces_DefaultRole ロールを作成する」および「AWS マネージドポリシー: AmazonWorkSpacesPoolServiceAccess」を参照してください。
-
WorkSpaces Pools の SAML 2.0 認証は、この機能をサポートする AWS リージョン で設定できます。詳細については、「AWS リージョン WorkSpaces Pools の およびアベイラビリティーゾーン」を参照してください。
-
WorkSpaces で SAML 2.0 認証を使用する場合、IdP は、ディープリンクターゲットリソースまたはリレーステートエンドポイントの URL を使用して、未承諾の IdP を起点とする SSO をサポートする必要があります。これをサポートする IdP の例には、ADFS、Azure AD、Duo Single Sign-On、Okta、PingFederate、および PingOne などがあります。詳細については、IdP のユーザードキュメントを参照してください。
-
SAML 2.0 認証は、次の WorkSpaces クライアントでのみサポートされています。最新の WorkSpaces クライアントについては、Amazon WorkSpaces クライアントのダウンロードページ
を参照してください。 -
Windows クライアントアプリケーション、バージョン 5.20.0 以降
-
macOS クライアント、バージョン 5.20.0 以降
-
Web Access
-
ステップ 2: 前提条件を完了させる
WorkSpaces Pools ディレクトリへの SAML 2.0 IdP 接続を設定する前に、以下の前提条件を満たしていることを確認してください。
-
AWSとの信頼関係を確立するために IdP を設定します。
-
AWS フェデレーションの設定の詳細については、「サードパーティーの SAML ソリューションプロバイダーと の統合 AWS」を参照してください。関連する例には、 AWS Management Consoleにアクセスするための IAM との IdP 統合があります。
-
IdP を使用して、組織を IdP として定義するフェデレーションメタデータドキュメントを生成し、ダウンロードします。署名されたこの XML ドキュメントは、証明書利用者の信頼を確立するために使用されます。後で IAM コンソールからアクセスできる場所にこのファイルを保存します。
-
WorkSpaces コンソールを使用して WorkSpaces Pools ディレクトリを作成します。詳細については、「WorkSpaces Pools での Active Directory の使用」を参照してください。
-
サポートされているディレクトリタイプを使用して IdP にサインインできるユーザー用の WorkSpaces Pools を作成します。詳細については、「WorkSpaces プールを作成する」を参照してください。
ステップ 3: IAM で SAML ID プロバイダーを作成する
まず、IAM で SAML IdP を作成する必要があります。この IdP は、組織内の IdP ソフトウェアによって生成されたメタデータドキュメントを使用して、組織の IdP とAWS 信頼の関係を定義します。詳細については、「AWS Identity and Access Management ユーザーガイド」の「SAML ID プロバイダーを作成および管理する」を参照してください。 AWS GovCloud (US) Regionsでの SAML IdP の使用については、「AWS GovCloud (US) ユーザーガイド」の「AWS Identity and Access Management」を参照してください。
ステップ 4: WorkSpace Pool ディレクトリを作成する
WorkSpaces プールディレクトリを作成するには、次の手順を実行します。
https://console.aws.amazon.com/workspaces/v2/home
で WorkSpaces コンソールを開きます。 -
ナビゲーションペインで [ディレクトリ] を選択します。
-
[Create directory] (ディレクトリの作成) を選択します。
-
[WorkSpace タイプ] で [プール] を選択します。
-
ページの [ユーザー ID ソース] セクションで以下の操作を行います。
-
[ユーザーアクセス URL] テキストボックスにプレースホルダー値を入力します。例えば、テキストボックスに
placeholder
と入力します。これは、IdP でアプリケーション使用権限を設定した後に編集します。 -
[リレー状態パラメータ名] テキストボックスは空白のままにします。これは、IdP でアプリケーション使用権限を設定した後に編集します。
-
-
ページの [ディレクトリ情報] セクションで、ディレクトリの名前と説明を入力します。ディレクトリ名と説明は 128 文字未満で、英数字と
_ @ # % * + = : ? . / ! \ -
の特殊文字を含めることができます。ディレクトリ名と説明を特殊文字で始めることはできません。 -
ページの[ネットワークとセキュリティ] セクションで以下の操作を行います。
-
アプリケーションが必要とするネットワークリソースへのアクセスが許可されている VPC および 2 つのサブネットを選択します。耐障害性を高めるために、異なるアベイラビリティーゾーンで 2 つのサブネットを選択する必要があります。
-
WorkSpaces で VPC にネットワークリンクを作成できるように、セキュリティグループを選択します。セキュリティグループは、WorkSpaces から VPC へのフローを許可するネットワークトラフィックを制御します。例えば、セキュリティグループですべてのインバウンド HTTPS 接続が制限されている場合、ウェブポータルにアクセスするユーザーは WorkSpaces から HTTPS ウェブサイトをロードできません。
-
-
[Active Directory 設定] セクションはオプションです。ただし、WorkSpaces Pools で Active Directory (AD) を使用する場合は、WorkSpaces Pools ディレクトリの作成時に AD の詳細を指定する必要があります。WorkSpaces Pools ディレクトリの作成後に [Active Directory 設定] を編集することはできません。WorkSpaces Pools ディレクトリの AD の詳細を指定する方法の詳細については、「WorkSpaces Pools ディレクトリの Active Directory 情報を指定する」を参照してください。そこで説明されているプロセスが完了したら、このトピックに戻って WorkSpaces Pools ディレクトリの作成を完了する必要があります。
WorkSpaces Pools で AD を使用する予定がない場合は、[Active Directory 設定] セクションを省略できます。
-
[ストリーミングプロパティ] セクションで以下の操作を行います。
-
クリップボードのアクセス許可の動作を選択し、[ローカル文字数制限にコピー] (オプション) と [リモートセッションへの貼り付けの文字数制限] (オプション) に入力します。
-
ローカルデバイスへの出力を許可するかしないかを選択します。
-
診断ログを許可するかしないかを選択します。
-
スマートカードサインインを許可するかしないかを選択します。この機能は、この手順の前半で AD 設定を有効にした場合にのみ適用されます。
-
-
ページの [ストレージ] セクションで、ホームフォルダを有効にするよう選択できます。
-
ページの [IAM ロール] セクションで、すべてのデスクトップストリーミングインスタンスで使用できる IAM ロールを選択します。新しい IAM ロールを作成するには、[新しい IAM ロールを作成] を選択します。
アカウントから WorkSpace Pool ディレクトリに IAM ロールを適用すると、 AWS 認証情報を手動で管理することなくWorkSpace Pool の WorkSpace から AWS API リクエストを行うことができます。詳細については、「AWS Identity and Access Management ユーザーガイド」の「IAM ユーザーにアクセス許可を委任するロールを作成する」を参照してください。
-
[Create directory] (ディレクトリの作成) を選択します。
ステップ 5: SAML 2.0 フェデレーション IAM ロールを作成する
次の手順を実行して、IAM コンソールで SAML 2.0 フェデレーション IAM ロールを作成します。
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで [ロール] を選択します。
-
[ロールの作成] を選択してください。
-
信頼されたエンティティタイプとして、[SAML 2.0 フェデレーション] を選択します。
-
SAML 2.0 ベースのプロバイダーとして、IAM で作成した ID プロバイダーを選択します。詳細については、「IAM で SAML ID プロバイダーを作成する」を参照してください。
-
許可されるアクセスとして [プログラムによるアクセスのみを許可する] を選択します。
-
属性に SAML:sub_type を選択します。
-
[値] に「
https://signin.aws.amazon.com/saml
」と入力します。この設定値は、値がpersistent
の SAML サブジェクトタイプアサーションを含む SAML ユーザーストリーミングリクエストへのロールアクセスを制限します。SAML:sub_type が persistent の場合、IdP は特定のユーザーからのすべての SAML リクエストで同じ一意の値をNameID
要素に送信します。詳細については、「AWS Identity and Access Management ユーザーガイド」の「SAML ベースのフェデレーションでユーザーを一意に識別する」を参照してください。 -
[次へ] を選択して続行します。
-
[許可を追加] ページでは変更や選択を行いません。[次へ] を選択して続行します。
-
ロールの名前と説明を入力します。
-
[ロールの作成] を選択してください。
-
[ロール] ページで、作成したロールを選択します。
-
[信頼関係] タブを選択します。
-
[Edit trust policy] (信頼ポリシーを編集) を選択します。
-
[信頼ポリシーを編集] JSON テキストボックスで、sts:TagSession アクションを信頼ポリシーに追加します。詳細については、「AWS Identity and Access Management ユーザーガイド」の「AWS STSでセッションタグを渡す」を参照してください。
結果は次の例のようになります。
-
[ポリシーの更新] を選択してください。
-
[アクセス許可] タブを選択します。
-
ページの [許可ポリシー] セクションで、[許可を追加] を選択し、[インラインポリシーを作成] を選択します。
-
ページの [ポリシーエディタ] セクションで、[JSON] を選択します。
-
[ポリシーエディタ] JSON テキストボックスに、次のポリシーを入力します。必ず以下を置き換えてください。
-
<region-code>
を、WorkSpace Pool ディレクトリを作成した AWS リージョンのコードに。 -
AWS アカウント ID の
<account-id>
。 -
<directory-id>
を、作成したディレクトリの ID に。これは WorkSpaces コンソールで取得できます。
のリソースの場合 AWS GovCloud (US) Regions、ARN には次の形式を使用します:
arn:aws-us-gov:workspaces:
。<region-code>
:<account-id>
:directory/<directory-id>
-
-
[次へ] を選択します。
-
ポリシーの名前を入力し、[Create policy] (ポリシーの作成) を選択します。
ステップ 6: SAML 2.0 ID プロバイダーを設定する
使用する SAML 2.0 IdP によっては、 AWS をサービスプロバイダーとして信頼するように IdP を手動で更新する必要があります。これを行うには、https://signin.aws.amazon.com/static/saml-metadata.xmlsaml-metadata.xml
ファイルをダウンロードし、IdP にアップロードします。これによって、IdP のメタデータが更新されます。
一部の IdP では、すでに更新が設定されています。すでに設定されている場合は、この手順を省略できます。IdP でこの更新がまだ設定されていない場合には、IdP から提供されるドキュメントでメタデータを更新する方法に関する情報を確認します。プロバイダーによっては、XML ファイルの URL をダッシュボードに入力するオプションが提供され、IdP がファイルを取得してインストールします。また、URL からファイルをダウンロードし、ダッシュボードにアップロードする必要があるプロバイダーもあります。
重要
このとき、IdP のユーザーに、IdP で設定した WorkSpaces アプリケーションへのアクセスを許可することもできます。ディレクトリの WorkSpaces アプリケーションにアクセスする権限を与えられているユーザーに対して、自動的に WorkSpace が作成されるわけではありません。同様に、WorkSpace が作成されるユーザーに対して、自動的に WorkSpaces アプリケーションへのアクセス権が与えられるわけではありません。SAML 2.0 認証を使用して WorkSpace に正常に接続するには、ユーザーが IdP によって承認され、WorkSpace が作成されている必要があります。
ステップ 7: SAML 認証レスポンスのアサーションを作成する
IdP が認証レスポンスで SAML 属性 AWS として に送信する情報を設定します。IdP よっては、これはすでに設定されている場合があります。すでに設定されている場合は、この手順を省略できます。まだ設定されていない場合は、以下を指定します
-
SAML サブジェクト名 ID – 署名するユーザーの一意の識別子。このフィールドの形式/値は変更しないでください。変更すると、ユーザーが別のユーザーとして扱われ、ホームフォルダが正常に機能しません。
注記
ドメインに参加している WorkSpaces Pools の場合、ユーザーの
NameID
値は、sAMAccountName
を使用したdomain\username
形式、userPrincipalName
を使用したusername@domain.com
形式、またはuserName
のみで指定する必要があります。sAMAccountName
形式を使用している場合、NetBIOS 名または完全修飾ドメイン名 (FQDN) を使用してドメインを指定できます。Active Directory の一方向の信頼には、sAMAccountName
形式が必要です。詳細については、「WorkSpaces Pools での Active Directory の使用」を参照してください。userName
だけを指定すると、ユーザーはプライマリドメインにログインすることになります。 -
SAML サブジェクトタイプ (値を
persistent
に設定) – 値をpersistent
に設定すると、IdP は特定のユーザーからのすべての SAML リクエストでNameID
要素に同じ一意の値を送信します。「ステップ 5: SAML 2.0 フェデレーション IAM ロールを作成する」のセクションで説明されているように、SAMLsub_type
がpersistent
に設定されている SAML リクエストのみを許可する条件が IAM ポリシーに含まれていることを確認します。 -
Attribute
要素 (Name
属性が https://aws.amazon.com/SAML/Attributes/Role に設定) — この要素には、IdP によってマッピングされたユーザーの IAM ロールと SAML IdP を一覧表示する 1 つ以上のAttributeValue
要素が含まれます。このロールと IdP は、カンマ区切りの ARN のペアとして指定されます。予期される値の例はarn:aws:iam::
です。<account-id>
:role/<role-name>
,arn:aws:iam::<account-id>
:saml-provider/<provider-name>
-
Attribute
Name
属性が https://aws.amazon.com/SAML/Attributes/RoleSessionName に設定されている 要素 — この要素には、SSO 用に発行された AWS 一時的な認証情報の識別子を提供するAttributeValue
要素が 1 つ含まれています。AttributeValue
要素の値は 2~64 文字とし、英数字と_ . : / = + - @
の特殊文字を含めることができます。スペースを含めることはできません。値は通常、E メールアドレスまたはユーザープリンシパル名 (UPN) です。ユーザーの表示名のように、スペースを含む値とすることはできません。 -
Attribute
要素 (Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email に設定) — この要素には、ユーザーのメールアドレスを指定するAttributeValue
要素が 1 つ含まれます。この値は、WorkSpaces ディレクトリで定義されている WorkSpaces ユーザーの E メールアドレスと一致する必要があります。タグ値には、文字、数字、スペース、および特殊文字 (_ . : / = + - @
) の組み合わせを含めることができます。詳細については、「AWS Identity and Access Management ユーザーガイド」の「IAM および AWS STSでのタグ付けの規則」を参照してください。 -
(オプション)
Attribute
要素 (Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:UserPrincipalName に設定) — この要素には、サインインしているユーザーの Active DirectoryuserPrincipalName
を指定するAttributeValue
要素が 1 つ含まれます。値はusername@domain.com
の形式で指定する必要があります。このパラメータは、証明書ベースの認証で、エンドユーザー証明書のサブジェクト代替名として使用します。詳細については、「証明書ベースの認証と WorkSpaces Personal」を参照してください。 -
(オプション)
Attribute
要素 (Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:ObjectSid に設定) — この要素には、サインインしているユーザーの Active Directory セキュリティ識別子 (SID) を指定するAttributeValue
要素が 1 つ含まれます。このパラメータを証明書ベースの認証で使用すると、Active Directory ユーザーへの強力なマッピングが可能になります。詳細については、「証明書ベースの認証と WorkSpaces Personal」を参照してください。 -
(オプション)
Attribute
要素 (Name
属性が https://aws.amazon.com/SAML/Attributes/PrincipalTag:Domain に設定) — この要素には、サインインしているユーザーの Active Directory DNS 完全修飾ドメイン名 (FQDN) を指定するAttributeValue
要素が 1 つ含まれます。このパラメータは、ユーザーの Active DirectoryuserPrincipalName
に代替サフィックスが含まれている場合に、証明書ベースの認証で使用されます。値にはサブドメインを含め、domain.com
の形式で指定する必要があります。 -
(オプション)
Attribute
要素 (Name
属性が https://aws.amazon.com/SAML/Attributes/SessionDuration に設定) — この要素には、再認証が必要となるまで、ユーザーのフェデレーティッドストリーミングセッションがアクティブのまま継続される最大時間を指定するAttributeValue
要素が 1 つ含まれます。デフォルト値は3600
秒 (60 分) です。詳細については、「AWS Identity and Access Management ユーザーガイド」の「SessionDuration SAML 属性」を参照してください。注記
SessionDuration
はオプションの属性ですが、これを SAML レスポンスに含めることをお勧めします。この属性を指定しない場合、セッション継続時間はデフォルト値の3600
秒 (60 分) に設定されます。WorkSpaces デスクトップセッションは、セッションの有効期限が切れると切断されます。
これらの要素を設定する方法については、「AWS Identity and Access Management ユーザーガイド」の「認証レスポンスの SAML アサーションを設定する」を参照してください。IdP の特定の設定要件に関する詳細は、IdP のドキュメントを参照してください。
ステップ 8: フェデレーションのリレーステートを設定する
IdP を使用して、WorkSpaces Pools ディレクトリのリレーステートの URL を指すようにフェデレーションのリレーステートを設定します。による認証が成功すると AWS、ユーザーは WorkSpaces Pools ディレクトリエンドポイントに誘導されます。このエンドポイントは、SAML 認証レスポンスでリレー状態として定義されます。
リレーステート URL は次の形式です。
https://relay-state-region-endpoint/sso-idp?registrationCode=registration-code
次の表に、WorkSpaces SAML 2.0 認証が利用可能な AWS リージョンのリレーステートエンドポイントを示します。WorkSpaces Pools 機能が利用できない AWS リージョンは削除されました。
リージョン | リレーステートのエンドポイント |
---|---|
米国東部 (バージニア北部) リージョン |
|
米国西部 (オレゴン) リージョン |
|
アジアパシフィック (ムンバイ) リージョン | workspaces.euc-sso.ap-south-1.aws.amazon.com |
アジアパシフィック (ソウル) リージョン | workspaces.euc-sso.ap-northeast-2.aws.amazon.com |
アジアパシフィック (シンガポール) リージョン | workspaces.euc-sso.ap-southeast-1.aws.amazon.com |
アジアパシフィック (シドニー) リージョン | workspaces.euc-sso.ap-southeast-2.aws.amazon.com |
アジアパシフィック (東京) リージョン | workspaces.euc-sso.ap-northeast-1.aws.amazon.com |
カナダ (中部) リージョン | workspaces.euc-sso.ca-central-1.aws.amazon.com |
欧州 (フランクフルト) リージョン | workspaces.euc-sso.eu-central-1.aws.amazon.com |
欧州 (アイルランド) リージョン | workspaces.euc-sso.eu-west-1.aws.amazon.com |
欧州 (ロンドン) リージョン | workspaces.euc-sso.eu-west-2.aws.amazon.com |
南米 (サンパウロ) リージョン | workspaces.euc-sso.sa-east-1.aws.amazon.com |
AWS GovCloud (米国西部) |
注記AWS GovCloud (US) Regionsでの SAML IdP の使用について詳しくは、「AWS GovCloud (US) ユーザーガイド」の「Amazon WorkSpaces」を参照してください。 |
AWS GovCloud (米国東部) |
注記AWS GovCloud (US) Regionsでの SAML IdP の使用について詳しくは、「AWS GovCloud (US) ユーザーガイド」の「Amazon WorkSpaces」を参照してください。 |
ステップ 9: WorkSpace Pool ディレクトリで SAML 2.0 との統合を有効にする
WorkSpaces Pools ディレクトリで SAML 2.0 認証を有効にするには、次の手順を実行します。
https://console.aws.amazon.com/workspaces/v2/home
で WorkSpaces コンソールを開きます。 -
ナビゲーションペインで [ディレクトリ] を選択します。
-
[Pools ディレクトリ] タブを選択します。
-
編集するディレクトリの ID を選択します。
-
ページの [認証] セクションで [編集] を選択します。
-
[Edit SAML 2.0 Identity Provider] (SAML 2.0 ID プロバイダーの編集) を選択します。
-
[ユーザーアクセス URL] (「SSO URL」とも呼ばれます) で、プレースホルダーの値を IdP から提供された SSO URL に置き換えます。
-
[IdP ディープリンクパラメータ名] に、設定した IdP とアプリケーションに該当するパラメータを入力します。パラメータ名を省略した場合、デフォルト値は
RelayState
です。次の表に、アプリケーションの ID プロバイダー別に固有のユーザーアクセス URL とディープリンクパラメータ名を示します。
ID プロバイダー パラメータ ユーザーアクセス URL ADFS RelayState
https://
<host>
/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID=<relaying-party-uri>
Azure AD RelayState
https://myapps.microsoft.com/signin/
<app-id>
?tenantId=<tenant-id>
Duo Single Sign-On RelayState
https://
<sub-domain>
.sso.duosecurity.com/saml2/sp/<app-id>
/ssoOkta RelayState
https://
<sub-domain>
.okta.com/app/<app-name>
/<app-id>
/sso/samlOneLogin RelayState
https://
<sub-domain>
.onelogin.com/trust/saml2/http-post/sso/<app-id>
JumpCloud RelayState
https://sso.jumpcloud.com/saml2/
<app-id>
Auth0 RelayState
https://
<default-tenant-name>
.us.auth0.com/samlp/<client-id>
PingFederate TargetResource
https://
<host>
/idp/startSSO.ping?PartnerSpId=<sp-id>
PingOne for Enterprise TargetResource
https://sso.connect.pingidentity.com/sso/sp/initsso?saasid=
<app-id>
&idpid=<idp-id>
-
[保存] を選択します。
重要
ユーザーの SAML 2.0 を取り消しても、セッションは直接切断されません。タイムアウトが発動した後にのみユーザーが削除されます。また、TerminateWorkspacesPoolSession API を使用してセッションを終了することもできます。
トラブルシューティング
以下の情報は、WorkSpaces Pools に関する特定の問題のトラブルシューティングに役立ちます。
SAML 認証の完了後に WorkSpaces Pools クライアントで「ログインできません」というメッセージを受信しています
SAML クレームPrincipalTag:Email
の nameID
と は、Active Directory で設定されたユーザー名とパスワードと一致する必要があります。一部の IdP では、特定の属性を調整した後、更新、更新、再デプロイが必要になる場合があります。調整を行い、SAML キャプチャに反映されない場合は、変更を有効にするために必要な特定のステップについて、IdP のドキュメントまたはサポートプログラムを参照してください。