翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
適用先: Enterprise Edition と Standard Edition |
対象者: Amazon QuickSight 管理者と Amazon QuickSight デベロッパー |
注記
IAM ID フェデレーションは、ID プロバイダーグループと Amazon QuickSight の同期をサポートしていません。
以下のチュートリアルでは、IdP Okta を Amazon QuickSight のフェデレーションサービスとして設定する方法について説明しています。このチュートリアルでは AWS Identity and Access Management (IAM) と Okta の統合を示しますが、選択した SAML 2.0 IdPs を使用してこのソリューションをレプリケートすることもできます。
次の手順では、AWS 「アカウントフェデレーション」ショートカットを使用して Okta IdP にアプリを作成します。Okta は、この統合アプリケーションを次のように記述します。
「Okta を Amazon Web Services (AWS) Identity and Access Management (IAM) アカウントにフェデレーションすることで、エンドユーザーは Okta 認証情報を使用して、割り当てられたすべての AWS ロールへのシングルサインオンアクセスを取得します。各 で AWS アカウント、管理者はフェデレーションを設定し、Okta を信頼するように AWS ロールを設定します。ユーザーが にサインインすると AWS、Okta シングルサインインエクスペリエンスを取得して、割り当てられた AWS ロールを確認できます。その後、必要なロールを選択できます。ロールは、認証セッション期間中のアクセス許可を定義しています。アカウント数が多いお客様は AWS 、代わりに AWS Single Sign-On アプリを確認してください。」 (https://www.okta.com/aws/)
Okta のAWS 「アカウントフェデレーション」アプリケーションショートカットを使用して Okta アプリケーションを作成するには
-
Okta ダッシュボードにサインインします。アカウントがない場合は、この Quicksight ブランドの URL
を使用して、無料の Okta デベロッパーエディションアカウントを作成します。E メールを有効にしたら、Okta にサインインします。 -
Okta のウェブサイトの左上で、[<> Developer Console (デベロッパーコンソール)] を選択し、続いて [Classic UI (クラシック UI)] を選択します。
-
[Add Applications (アプリケーションを追加する)] を選択し、続いて [Add app (アプリの追加)] を選択します。
-
[検索] に
aws
を入力し、検索結果から [AWS アカウントフェデレーション] を選択します。 -
[Add (追加)] を選択して、このアプリケーションのインスタンスを作成します。
-
[Application label (アプリケーションラベル)] には
AWS Account Federation - QuickSight
と入力します。 -
[Next (次へ)] を選択します。
-
[SAML 2.0]、[Default Relay State (デフォルトのリレーステート)] に
https://quicksight.aws.amazon.com
と入力します。 -
コンテキストメニュー (右クリック)の [Identity Provider metadata (ID プロバイダーメタデータ)] を開き、ファイルを選択して保存します。ファイルを
metadata.xml
と名付けます。次の手順でこのファイルが必要になります。ファイルのコンテンツは以下のようになります。
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://www.okta.com/exkffz2hATwiVft645d5"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate> MIIDpjCCAo6gAwIBAgIGAXVjA82hMA0GCSqGSIb3DQEBCwUAMIGTMQswCQYDVQQGEwJVUzETMBEG . . (certificate content omitted) . QE/6cRdPQ6v/eaFpUL6Asd6q3sBeq+giRG4= </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://dev-1054988.okta.com/app/amazon_aws/exkffz2hATwiVft645d5/sso/saml"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://dev-1054988.okta.com/app/amazon_aws/exkffz2hATwiVft645d5/sso/saml"/> </md:IDPSSODescriptor> </md:EntityDescriptor>
-
XML ファイルを保存したら、Okta ページの下部までスクロールし、[Done (完了)] を選択します。
-
可能であれば、このブラウザウィンドウを開いたままにします。チュートリアルの後半でこの ウィンドウ が必要になります。
次に、 AWS アカウントで ID プロバイダーを作成します。
AWS Identity and Access Management (IAM) で SAML プロバイダーを作成するには
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
ナビゲーションペインで、[Identity providers (ID プロバイダー)]、[Create Provider (プロバイダーの作成)] を選択します。
-
以下の設定を入力します。
-
[Provider Type (プロバイダーのタイプ)] — リストから [SAML] を選択します。
-
[Provider Name (プロバイダー名)] —
Okta
と入力します。 -
[Metadata Document (メタデータドキュメント)] — 前の手順から XML ファイル
manifest.xml
をアップロードします。
-
-
[Next Step (次のステップ)]、[Create (作成)] の順に選択します。
-
作成した IdP を見つけて選択し、設定を表示します。[Provider ARN (プロバイダー ARN)] を書き留めます。チュートリアルを終了するためにこれが必要です。
-
設定を使用して ID プロバイダーが作成されていることを確認します。IAM で、[ID プロバイダー]、[Okta]] (追加した IdP)、[メタデータのダウンロード] を選択します。ファイルは、最近アップロードしたファイルである必要があります。
次に、IAM ロールを作成して、SAML 2.0 フェデレーションが で信頼されたエンティティとして機能するようにします AWS アカウント。このステップでは、Amazon QuickSight でユーザーをプロビジョニングする方法を選択する必要があります。次のいずれかを試すことができます。
-
初めての訪問者が自動的に QuickSight ユーザーになるように、IAM ロールにアクセス許可を付与します。
-
QuickSight API を使用して、QuickSight ユーザーを事前にプロビジョニングする このオプションを選択すると、ユーザーをプロビジョニングし、同時にグループに追加できます。詳細については、「Amazon QuickSight でのグループの作成と管理」を参照してください。
信頼されたエンティティとして SAML 2.0 フェデレーションの IAM ロールを作成するには
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
ナビゲーションペインで [Roles (ロール)]、[Create Role (ロールの作成)] の順に選択します。
-
[Select type of trusted entity (信頼されたエンティティのタイプを選択)]で、SAML 2.0 フェデレーションラベルが付いたカードを選択します。
-
[SAML provider (SAML プロバイダー)] で、前の手順で作成した IdP を選択します (例:
Okta
)。 -
Enable オプション プログラムによるアクセスと AWS マネジメントコンソールによるアクセスを許可します。
-
[Next: Permissions (次へ: アクセス許可)] を選択します。
-
以下のポリシーをエディタに貼り付けます。
ポリシーエディターで、プロバイダーの Amazon リソースネーム (ARN) を使用して JSON を更新します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRoleWithSAML", "Resource": "arn:aws:iam::
111111111111
:saml-provider/Okta
", "Condition": { "StringEquals": { "saml:aud": "https://signin.aws.amazon.com/saml" } } } ] } -
[Review policy (ポリシーの確認)] を選択します。
-
[Name (名前)] に
QuicksightOktaFederatedPolicy
と入力し、[Create policy (ポリシーの作成)] を選択します。 -
再度、[Create policy (ポリシーの作成)]、[JSON] を選択します。
-
以下のポリシーをエディタに貼り付けます。
ポリシーエディタで、JSON を AWS アカウント ID で更新します。これは、プロバイダー ARN の前のポリシーで使用したものと同じアカウント ID である必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "quicksight:CreateReader" ], "Effect": "Allow", "Resource": [ "arn:aws:quicksight::
111111111111
:user/${aws:userid}" ] } ] }次に示すように、ARN で AWS リージョン 名前を省略できます。
arn:aws:quicksight::
111111111111
:user/$${aws:userid} -
[Review policy (ポリシーの確認)] を選択します。
-
[Name (名前)] に
QuicksightCreateReader
と入力し、[Create policy (ポリシーの作成)] を選択します。 -
右側の更新アイコンを選択して、ポリシーのリストを更新します。
-
[Search (検索)] に
QuicksightOktaFederatedPolicy
と入力します。ポリシーを選択して有効にします ()。
自動プロビジョニングを使用しない場合は、次のステップをスキップできます。
QuickSight ユーザーを追加するには、[register-user (ユーザー登録)] を使用します。QuickSight グループを追加するには、[create-group (グループの作成)] を使用します。QuickSight グループにユーザーを追加するには、[create-group-membership (グループメンバーシップの作成)] を使用します。
-
(オプション) [Search (検索)] に
QuicksightCreateReader
と入力します。ポリシーを選択して有効にします ()。
QuickSight API を使用せずに、QuickSight ユーザーを自動的にプロビジョニングする場合は、このステップを実行します。
QuicksightCreateReader
ポリシーを使用すると、quicksight:CreateReader
アクションを使用した自動プロビジョニングがアクティブ化されます。これにより、ダッシュボードの受信者 (閲覧者レベル) に初めてのユーザーがアクセスできるようになります。QuickSight 管理者は、後で QuickSight プロファイルメニュー、QuickSight の管理、ユーザーの管理を更新できます。 -
IAM ポリシーを引き続きアタッチするには、[Next: Tags (次へ: タグ)] を選択します。
-
[Next: Review (次へ: レビュー)] を選択します。
-
[Role name (ロール名)] に
QuicksightOktaFederatedRole
と入力し、[Create role (ロールの作成)] を選択します。 -
次のステップを実行して、この作業が正常に完了したことを確認します。
-
IAM コンソール のメインページ https://console.aws.amazon.com/iam/
に戻ります。ブラウザの [Back (戻る)] ボタンを使用します。 -
[Roles (ロール)] を選択します。
-
[Search (検索)]に、Okta と入力します。検索結果から、[QuicksightOktaFederatedRole] を選択します。
-
ポリシーの [Summary (概要)] ページで、[Permissions (アクセス許可)] タブを検証します。ロールに、アタッチした 1 つ以上のポリシーがあることを確認します。
QuicksightOktaFederatedPolicy
を含んでいる必要があります。ユーザー作成機能を追加することを選択した場合は、QuicksightCreateReader
も含んでいる必要があります。 -
アイコンを使用して、各ポリシーを開きます。テキストが、この手順に示されている内容と一致することを確認します。サンプルアカウント AWS アカウント 番号 111111111111 の代わりに独自の番号を追加したことを再度確認します。
-
[Trust relationships (信頼関係)] タブで、[Trusted entities (信頼されたエンティティ)] フィールドに、ID プロバイダーの ARN が含まれていることを確認します。[Identity providers (ID プロバイダー)]、[Okta] で、IAM コンソールの ARN を再確認できます。
-
Okta のアクセスキーを作成するには
-
にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
Okta が IAM ロールのリストをユーザーに表示することを許可するポリシーを追加します。このためにまず、[Policy (ポリシー)]、 [Create policy (ポリシーの作成)] を選択します。
-
[JSON] を選択し、以下のポリシーを入力します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:ListAccountAliases" ], "Resource": "*" } ] }
-
[Review Policy (ポリシーの確認)] を選択します。
-
[Name (名前)] に
OktaListRolesPolicy
と入力します。その後、[Create policy (ポリシーの作成)] を選択します。 -
Okta にアクセスキーを提供できるように、ユーザーを追加します。
ナビゲーションペインで、[Users (ユーザー)]、[Add user (ユーザーの追加)] を選択します。
-
以下の設定を使用します。
-
[User name (ユーザー名)] に「
OktaSSOUser
」と入力します。 -
[Access type (アクセスの種類)] の [Programmatic access (プログラムによるアクセス)] を有効にします。
-
-
[Next: Permissions (次へ: アクセス許可)] を選択します。
-
[Attach existing policies directly (既存のポリシーを直接添付する)] を選択します。
-
[Search (検索)] に
OktaListRolesPolicy
と入力し、検索結果から [OktaListRolesPolicy] を選択します。 -
[次へ: タグ]、[次へ: 確認] の順に選択します。
-
[Create user] を選択します。これで、アクセスキーを取得することができます。
-
[.csv のダウンロード] を選択し、キーファイルをダウンロードします。このファイルには、この画面に表示されるのと同じアクセスキー ID とシークレットアクセスキーが含まれています。ただし、 AWS はこの情報を 2 回表示しないため、 ファイルをダウンロードしてください。
-
以下を実行して、このステップが正しく完了したことを確認します。
-
IAM コンソールを開き、[Users (ユーザー)] を選択します。[OktaSSOUser] を検索し、検索結果からユーザー名を選択して開きます。
-
[Permissions (アクセス許可)] タブで、OktaListRolesPolicy がアタッチされていることを確認します。
-
アイコンを使用してポリシーを開きます。テキストが、この手順に示されている内容と一致することを確認します。
-
アクセスキーはダウンロード済みですが、[Security credentials (セキュリティ認証情報)] タブでアクセスキーをチェックできます。新しいアクセスキーが必要な場合は、このタブに戻って、アクセスキーを作成できます。
-
次の手順で Okta に戻り、アクセスキーを指定します。アクセスキーは、新しいセキュリティ設定と連携して、 AWS と Okta IdP が連携できるようにします。
AWS 設定を使用して Okta アプリケーションの設定を完了するには
-
Okta ダッシュボードに戻ります。リクエストされた場合、サインインします。デベロッパーコンソールが開かれていない場合は、[Admin (管理者)] を選択して再度開きます。
-
Okta を再度開く必要がある場合は、次のステップに従ってこのセクションに戻ることができます。
-
Okta にサインインします。[Applications (アプリケーション)] を選択します。
-
[AWS アカウントフェデレーション - QuickSight] を選択します。これは、このチュートリアルの冒頭で作成したアプリケーションです。
-
[General (全般)] と [Mobile (モバイル)]の間にある [Sign On (サインオン)] タブを選択します
-
-
[Advanced Sign-On Settings (アドバンストサインオンの設定)] までスクロールします。
-
[ID プロバイダー ARN] (SAML IAM フェデレーションでのみ必要) に、前の手順で作成したプロバイダー ARN を入力します。次に例を示します。
arn:aws:iam::
111122223333
:saml-provider/Okta -
[Done (完了)] または [Save (保存)] を選択します。ボタンの名前は、アプリケーションを作成しているか、または編集しているかによって異なります。
-
[Provisioning (プロビジョニング)] タブを選択し、タブ下部で [Configure API Integration (API 統合の設定)] を選択します。
-
[Enable API integration (API 統合を有効にする)] をオンにして、設定を表示します。
-
[Access Key (アクセスキー)] および [Secret Key (シークレットキー)] で、
OktaSSOUser
_credentials.csv
という以前のファイルに事前にダウンロードしたアクセスキーとシークレットキーを提供します。 -
[Test API Credentials (API 認証情報のテスト)] を選択します。[API インテグレーションを有効にする] 設定の上に、[AWS アカウントフェデレーションが正常に検証されました] と確認するメッセージが表示されます。
-
[Save (保存)] をクリックします。
-
左側の [To App (アプリケーションへ)] がハイライト表示されていることを確認し、右側の [Edit (編集)] を選択します。
-
[Create Users (ユーザーの作成)] で、オプション [Enable (の有効化)] をオンにします。
-
[保存] を選択します。
-
[Provisioning (プロビジョニング)] および [Import (インポート)] の近くにある [Assignments (割り当て)] タブで、[Assign (割り当てる)] を選択します。
-
フェデレーションアクセスを有効にするには、次の 1 つまたは複数の操作を行います。
-
個々のユーザーを操作するには、[Assign to People (人員に割り当てる)] を選択します。
-
IAM グループを操作するには、[Assign to Groups (グループに割り当てる)] を選択します。特定の IAM グループ、またはすべてのユーザー (組織内のすべてのユーザー)を選択できます。
-
-
IAM ユーザーまたはグループごとに、以下を実行します。
-
[Assign (割り当てる)]、[Role (ロール)] を選択します。
-
IAM ロールのリストから [QuicksightOktaFederatedRole] を選択します。
-
[SAML User Roles (SAML ユーザーロール)]で、[QuicksightOktaFederatedRole] を有効にします。
-
-
[Save and Go Back (保存して戻る)] を選択し、続いて [Done (完了)] を選択します。
-
このステップを正しく完了したことを確認するには、左側の [People (人員)] または [Groups (グループ)] フィルターをクリックし、入力したユーザーまたはグループをチェックします。作成したロールがリストに表示されないためにこのプロセスを完了できない場合は、前の手順に戻って、設定を確認します。
Okta (サービスプロバイダーサインインへの IdP) を使用して QuickSight にサインインするには
-
Okta 管理者アカウントを使用している場合は、ユーザーモードに切り替えます。
-
フェデレーションアクセスを許可されたユーザーを使用して、Okta Applications ダッシュボードにサインインします。例えば「AWS Account Federation — QuickSight」のように、ラベル付きの新しいアプリケーションが表示されます。
-
アプリケーションのアイコンを選択し、「AWS Account Federation — QuickSight」を起動します。
Okta を使用して ID を管理し、Amazon QuickSight とのフェデレーションアクセスを使用できるようになりました。
次の手順は、このチュートリアルのオプション部分です。ステップに従う場合は、QuickSight がユーザーに代わって IdP に認可リクエストを転送することを許可します。この方法を使用すると、ユーザーは、最初に IdP ページを使用してサインインする必要なしに、QuickSight にサインインできます。
(オプション) 認証リクエストを Okta に送信するよう QuickSight を設定するには
-
QuickSight を開き、プロファイルメニューから [Manage QuickSight (QuickSight の管理)] を選択します。
-
ナビゲーションペインで [Single Sign-On (IAM フェデレーション)] を選択します。
-
[設定]、[IdP URL] で、IdP がユーザーを認証するために提供する URL を入力します (例: https://dev-
1-----0
.okta.com/home/amazon_aws/0oabababababaGQei5d5/282
)。これは、Okta アプリケーションのページの [General (全般)] タブ、[Embed Link (埋め込みリンク)] に表示されます。 -
[IdP URL] で、
RelayState
と入力します。 -
次のいずれかを行ってください。
-
最初に ID プロバイダーを使用してサインインをテストするには、[Test starting with your IdP (IdP からのテスト開始)] を使用します。QuickSight のスタートページ (例:https://quicksight.aws.amazon.com/sn/start) が表示されます。
-
QuickSight で最初にサインインをテストするには、[Test the end-to-end experience (エンドツーエンドエクスペリエンスをテストする)] にあるカスタム URL を使用します。
enable-sso
パラメータが URL に追加されます。もしenable-sso=1
なら、IAM フェデレーションが認証を試みます。enable-sso=0
の場合、QuickSight は認証リクエストを送信せず、以前と同じように QuickSight にサインインします。
-
-
[Status (ステータス)] で、[ON (オン)] を選択します。
-
設定を保存するには [Save (保存)] を選択します。
QuickSight ダッシュボードへのディープリンクを作成して、ユーザーが IAM フェデレーションを使用して特定のダッシュボードに直接接続できるようにします。これを行うには、次に示すように、リレーステートフラグとダッシュボード URL を Okta シングルサインオン URL に追加します。
シングルサインオン用の QuickSight ダッシュボードへのディープリンクを作成するには
-
このチュートリアルの最初でダウンロードした
metadata.xml
ファイルにある、Okta アプリケーションの Single Sign-On (IAM フェデレーション) URL を見つけます。ファイルの下部近くのmd:SingleSignOnService
という名前の要素に URL があります。次の例に示すように、属性の名前はLocation
で、値は/sso/saml
で終わります。<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://dev-0000001.okta.com/app/amazon_aws/abcdef2hATwiVft645d5/sso/saml"/>
-
IAM フェデレーションの URL の値を取得し、QuickSight ダッシュボードの URL に続けて
?RelayState=
を追加します。RelayState
パラメータは、ユーザーが認証 URL にリダイレクトされたときのステート (URL) をリレーします。 -
リレーステートが追加された新しい IAM フェデレーションに、QuickSight ダッシュボードの URL を追加します。生成された URL は以下のようになります。
https://dev-
1-----0
.okta.com/app/amazon_aws/abcdef2hATwiVft645d5
/sso/saml?RelayState=https://us-west-2.quicksight.aws.amazon.com/sn/analyses/12a12a2a-121a-212a-121a-abcd12abc1ab -
作成したリンクが開かない場合は、
metadata.xml
から最新の IAM フェデレーション URL を使用していることをチェックします。また、サインインに使用するユーザー名が複数の IAM フェデレーション Okta アプリに割り当てられていないことをチェックします。