2021年1月27日水曜日

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

値の例:
arn:aws:iam::123456789012:role/example-glg-user,arn:aws:iam::123456789012:saml-provider/example-glg

そうすると、管理画面が以下のようになります。
 
 
保存したら、設定が終わります。 

ポータルからログインしましょう!

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などのリソースのアクセスを許可することができるため、是非色々試してみてください。

  ジャレド・ウォレス