AWS は SAMLRequest を発行しないため、従来の SP起点ではAWSコンソールへのSSOができませんでしたが、IdP起点(IdP-Initiated)SSO の実装によりSSOログインが可能となりました。

アプリケーションの登録

  1. EVECLOUD管理ツール>アプリケーションページにてアプリケーションの登録を行います。
    登録方法の詳細は「アプリケーションの管理>アプリケーションの登録」を参照してください。

    登録の際、「アプリケーション表示名」欄にAWSとわかるような任意の表示名を入力し、「アプリケーションの種類」は「SAML」を選択します。
  2. アプリケーション一覧にて、作成したアプリケーション「AWS」を選択し、設定画面を開きます。
  3. [サービスプロバイダー] タブを開き、「SPの名前」「署名アルゴリズム」「SP設定情報の直接入力」「Issuer」「ACS URL」の項目を入力します。
    [保存]ボタンをクリックして登録を完了します。
    項目設定内容
    SPの名前アプリケーション作成時に設定した表示名が自動で入力されています。変更は任意で行ってください。
    署名アルゴリズム「SHA-256」を選択します。
    SP設定情報の直接入力「SP設定情報の直接入力」を選択し、以降の入力欄をアクティブにします。
    Issuerurn:amazon:webservicesを入力します。
    ACS URLhttps://signin.aws.amazon.com/samlを入力します。
  4. [Identity Provider] タブ内を開き、AWS側への設定用に「メタデータ(XMLファイル)」をダウンロードしておきます。

AWS IAMのSAML認証設定

IDプロバイダの作成

  1. AWSコンソールへ管理者権限アカウントでログインします。 IAM コンソールへ移動して、IDプロバイダ を開きます。
  2. [プロバイダを追加] ボタンをクリックします。
  3. 以下の項目を入力します。画面下方にある [プロバイダを追加] ボタンをクリックして登録を完了させます。
    項目設定内容
    プロバイダーのタイプ「SAML」を選択します。
    プロバイダー名任意の名前を入力します。(今回はEVECLOUD)
    メタデータドキュメントEVECLOUD側のIdP設定でダウンロードしておいたメタデータ(XMLファイル)をアップロードします。
  4. 作成したプロバイダを選択して開きます。

    「ARN (saml-provider)」の情報を控えておきます。例:arn:aws:iam::123456789012:saml-provider/EVECLOUD

IAMロールの追加

SSO でログインしたユーザーに付与する権限ロールを作成します。

  1. AWS IAM>ロールへ移動し、[ロールを作成] ボタンをクリックします。
  2. 「ステップ1:信頼されたエンティティを選択」画面が開きます。以下の項目を入力し、[次へ] ボタンをクリックします。
    項目設定内容
    信頼されたエンティティタイプ「SAML 2.0 フェデレーション」を選択します。
    SAML 2.0 ベースのプロバイダーIDプロバイダで作成した「EVECLOUD」を選択します。
    「プログラムと AWS マネジメントコンソールへのアクセスを許可する」を選択します。
  3. 「ステップ2:許可を追加」画面が開きます。ロールにアタッチするポリシーを必要に応じて設定します(今回は ReadOnlyAccess をアタッチ)。[次へ] ボタンをクリックします。
  4. 「ステップ3:名前、確認、および作成」画面が開きます。任意のロール名(今回は EveCloudUser)を入力します。画面下方にある [ロールを作成] ボタンをクリックして登録を完了させます。
  5. 作成したロールを選択して開きます。

    「ARN (role)」の情報を控えておきます。例:arn:aws:iam::123456789012:role/EveCloudUser

EVECLOUD カスタム属性の設定

  1. EVECLOUD管理ツール>アプリケーションページを開き、アプリケーション一覧から「AWS」を選択します。
  2. [サービスプロバイダー] タブを開き、「IdP起点SSOを許可する」にチェックを入れます。
  3. 「カスタム属性」の [+属性を追加] ボタンをクリックして属性記入欄を追加します。
  4. 以下の属性記入例を参考に値を入力します。[保存]ボタンをクリックして登録を完了させます。
#属性名フォーマット
1https://aws.amazon.com/SAML/Attributes/Roleuri<RoleARN>,<ProviderARN>
2https://aws.amazon.com/SAML/Attributes/RoleSessionNameuri${userEmail}
3https://aws.amazon.com/SAML/Attributes/SessionDurationuri3600
「Role」属性の値

AWS IAMのSAML認証設定時に控えておいたARNの「role (RoleARN)」と「saml-provider (ProviderARN)」を , (カンマ)区切りでつなげます→<RoleARN>,<ProviderARN>
例:arn:aws:iam::123456789012:role/EveCloudUser,arn:aws:iam::123456789012:saml-provider/EVECLOUD

「RoleSessionName」属性の値

AWS の CloudTrail に記録されるセッション名です。テンプレート変数 ${userEmail} を指定すると、ログインユーザーのメールアドレスが自動で入ります。

「SessionDuration」属性の値

セッションの有効時間(秒)です。3600(1時間)~ 43200(12時間)の範囲で指定できます。

EVECLOUDユーザーのSAMLログイン設定

EVECLOUD の「Identity Provider」設定で、「SPNameの属性」を「ユーザー情報のSAMLログインユーザー」に設定した場合、SAML利用ユーザーは以下の設定が必要です。

  1. EVECLOUD管理ツールにて、「グループの管理」>「ユーザー管理」からSAMLログイン設定をさせたいユーザーを選択し、「ユーザー設定」画面を開きます。
  2. 左メニューの[SAML]を選択し、SAMLアプリケーション一覧から登録済みのSAML「AWS」を選択します。
  3. 表示されたダイアログの「SAMLログインユーザー1」の項目にシングルサインオンを行いたい AWS のアカウント名を入力し、[次へ]ボタンをクリックします。SAMLユーザー複数登録に対応しています。必要に応じて「SAMLログインユーザー2」の項目に情報を入力します。
    [決定]ボタンをクリックします。
  4. [保存]ボタンをクリックして登録を完了させます。