Gluegent GateとAWS IAMのID プロバイダを連携しましょう

こんにちは、サイオステクノロジーGluegentサービスラインのジャレド・ウォレスです。少し前のGluegent GateとAWS Cognito認証の連携に続いて、今週はGluegent GateとAWS IAMのID プロバイダのフェデレーション連携の設定方法をご紹介していきたいと思います。AWSのサーバー管理画面や他リソースの管理を行うAWS Management Consoleアカウントへの連携となります。
AWS IAMのID プロバイダ連携イメージ
まず、IAMのID プロバイダフェデレーション登録で何ができるかを把握しましょう。IAMの新ユーザーを作るのではなく、登録するID プロバイダ側でログインできるユーザーに特定のIAMロール(権限)を貸し与えるイメージをしてください。IAMの都合上、IAMユーザーへの紐づけ、プロビジョニング、ユーザーごとに細かい権限設定などは行えません。では、早速設定してみましょう。
Gluegent Gate管理画面での設定
Gluegent GateでのSAML設定を行うために、AWSのメタデータを取得する必要があります。こちらのリンクで取得することができます。右クリックし、ファイルとして保存するか、ブラウザーでアクセスしてから保存してください。次にGluegent Gateの管理コンソールにアクセスし、SAMLサービス設定を行いましょう。
シングルサインオン→SAML→登録
SAML設定登録画面が表示されます。下の方にメタデータの欄にファイルアップロードのボタンをクリックし、先程取得したAWSメタデータのファイルをアップロードし、読み込むボタンを押してください。すると、以下のような画面になります。
アクセス先URLは以下の固定値を記入します。
https://auth.gluegent.net/saml/saml2/idp/SSOService.php?spentityid=urn%3Aamazon%3Awebservices
最後にサービスID欄に適切なIDを入力し、保存します。SAML一覧画面に戻ります。次のステップにGluegent Gateのメタデータも必要になるため、このタイミングで取得しましょう。(シングルサインオン→SAMLで現在のページ)→設定→メタデータ欄にダウンロードボタンをクリックして、ファイルに保存しましょう。
AWS Management Consoleでの設定
先程取得したGluegent Gateのメタデータを利用し、AWSでGluegent GateをIAMのID プロバイダ登録を行います。まず適切な権限を持っているアカウントでAWS Management Consoleにログインします。そこからIAMのID プロバイダー画面にアクセスします。
IAM→アクセス管理→ID プロバイダ
ここからプロバイダを追加ボタンを押して、以下のID プロバイダ画面が表示されます。
プロバイダのタイプはSAMLのままにし、適切なプロバイダ名を定義します。また、ファイルを選択ボタンをクリックし、先程取得したGluegent Gateのメタデータをアップロードし、プロバイダを追加で登録が完了します。
ID プロバイダ用のロール作成
ここまででID プロバイダの登録が完了しました。これからは登録したID プロバイダのフェデレーションユーザーが利用することになるロールを作成し、ID プロバイダに割り当てます。ID プロバイダ一覧から登録したID プロバイダをクリックし、詳細画面が表示されます。

ロールを作成する前に、概要にあるARNのアイコンをクリックすることでコピーし、ノートパッドなどに記録してください。最後のステップに使います。右上のロールの割り当てボタンをクリックし、新しいロールを作成を選択します。また、使用したいロールが作成済みであれば既存のロールを使用するでも構いません。

次のステップに進んで、ポリシーを選択、またはポリシーを新しく作成します。ポリシーの権限はお客様のニーズやフェデレーションユーザーのユースケースによりますので、適切なポリシーの作成をご検討ください。この記事では例としてAWSの作成済みPowerUserAccessポリシーを使用します。

次の画面では Name:Gluegent Gate Role などご希望のタグを付けてください。適切なロール名を定義しロールを作成で完了します。

作成が完了したら、ロールの詳細画面が表示されます。

この画面にあるロール ARNは次のステップに使いますので、ID プロバイダのARNと一緒に記録して保存してください。
SAML属性の設定
最後のステップはGluegent Gateの管理画面からSAML属性の設定を行います。そのために、以前保存した、AWSで登録したID プロバイダと作成したロールのARN(Amazon Resource Name)が必要です。Gluegent Gateの管理画面に戻り、SAMLの設定画面へアクセスします。
そうすると、管理画面が以下のようになります。
シングルサイン→SAML→{設定したサービス名}
送信する属性のユーザーIDに☑を入れ、属性名を以下の値にしてください。https://aws.amazon.com/SAML/Attributes/RoleSessionName
また、送信する属性(固定値)に以下の属性を追加してください。属性名 https://aws.amazon.com/SAML/Attributes/Role
値 ID プロバイダのARN,ロール名のARN
そうすると、管理画面が以下のようになります。

保存したら、設定が終わります。
ポータルからログインしましょう!
Gluegent Gate管理画面でユーザーにアクセスし、新しく登録したAWS Management Consoleサービスを許可します。
許可したユーザーのGluegent Gateのユーザーポータルにアクセスし、AWS Management Consoleが表示されます。

AWS Management Consoleをクリックし、SAML認証を通って自動的にAWS Management Consoleにログインされます!

まとめ
いかがでしょうか。このようにGluegent GateとAWS IAMのID プロバイダを連携することでAWS Managment Consoleへのアクセスをよりセキュアで便利にできます。また、AWS Management Console以外にもS3 Bucketなどのリソースのアクセスを許可することができるため、是非色々試してみてください。
ジャレド・ウォレス