
音楽生成AIとは、音楽を作り出す人工知能のことです。利用すれば、スキルや知識がない人でも音楽制作が可能になります。本記事では、音楽生成...
目次
こんにちは、株式会社SMSデータテックの社員Mです。
前回の記事ではECSでRedmineを構築する方法について解説しました。
ECSでRedmineを構築することで、サーバーの管理・運用業務を効率化することができました。
本記事では、次のステップとして、AWS SSOの設定をやってみたいと思います。
AWSでRedmineを構築しており、シングルサインオン(SSO)設定をしたいという方を対象としております。
※現在、omniauth samlのpluginsに脆弱性が発見されております。
導入する際は気を付けて下さい。
AWSコンソールにログインすることができれば、ワンクリックでRedmineにアクセスすることができます。
また、初アクセスの際にアカウントが作成されるため、アカウント作成も必要ありません。
SSOとは、Single Sign-Onとして知られる認証の仕組みのことです。SSOを使用すると、ユーザーは1度の認証で複数の関連システムやアプリケーションにアクセスできます。これは、ユーザーが複数のアカウントやアプリケーションに対して別々にログインする必要がなくなるため、利便性が向上し、セキュリティが向上します。
AWS IAM アイデンティティセンターは、AWS アプリケーションもしくは複数の AWS アカウントに対するワークフォースのアクセスを管理するために推奨されるサービスです。
手順は以下の通りになります。
それぞれ説明していきます。
IAM Identity Centerのアプリケーションから、アプリケーションの追加を行います。
写真
こちらの情報は、後述するsamlファイルに記述するので、メモしておいてください。
アプリケーションメタデータ
「メタデータ値をマニュアルで入力する」を選択
入力項目は下記内容を記述
アプリケーションACS URL:URL/auth/saml/callback
アプリケーションSAML対象者:IAM Identity Center SAML 発行者 URL
属性マッピングについては、AWS公式ドキュメントを参照しています。
下記表の通り記述
アプリケーションのユーザー属性 | ユーザー属性マッピング | 形式 |
Subject | ${user:AD_GUID} | Persistent |
name | ${user:subject} | basic |
firstname | ${user:givenName} | basic |
${user:email} | basic | |
lastname | ${user:familyName} | basic |
AWSからSSOログインが可能になるpluginです。
Start画面からワンクリックでredmineにアクセスできるようになります。
※version5.1.1でも導入できますが、脆弱性が検知されているため、注意が必要です。
dockerfileが存在するディレクトリにpluginsというディレクトリを作成します。
そのディレクトリに移動し、下記コマンドを実行します。
git clone https://github.com/chrodriguez/redmine_omniauth_saml.git |
samlファイルを編集します。
sample-saml-initializers.rbをコピーし、編集していきます。
assertion_consumer_service_url => ”URL/auth/saml/callback”
issue => ”URL/”
idp_sso_target_url => “IAM Identity Center SAML 発行者 URL”
idp_cert => “IAM Identity Center証明書”
name_identifier_format => “urn:oasis:names:tc:SAML:2.0:nameid-format:persistent”
idp_slo_target_url => “URL”
login => ‘extra.raw_info.name’,
mail => ‘extra.raw_info.email’,
firstname => ‘extra.raw_info.firstname’,
lastname => ‘extra.raw_info.lastname’
※Redmineのversion4以下だとこのままで良いのですが、version5以上になるとエラーが発生してしまいます。
そのため、version5以降は下記設定が必須となります。
このsamlファイルの一行目に
require File.expand_path(‘../../../plugins/redmine_omniauth_saml/lib/redmine_omniauth_saml’, __FILE__) |
と入力します。(自身が設定しているディレクトリから/redmine_omniauth_saml/lib/redmine_omniauth_samlを見に行ってください。デフォルトのディレクトリはusr/src/redmineです。)
このディレクトリにはSSOログインに関係するファイルがあります。
以上で設定完了です。
AWSコンソール画面のアプリケーションから、直接Redmineにアクセスできるようになります。
写真追加
今回は、ECSで構築したRedmineにシングルサインオン(SSO)設定を導入してみました。AWS SSOを活用してRedmineに接続する方法についての情報が少なく、設定にはかなり苦労しました。特に、SAMLファイルの編集やIAM Identity Centerの登録に関する部分が難しかったです。
しかし、設定後は面倒なアカウント作成が不要になり、ワンクリックで接続できるようになったため、非常に便利になりました。ただ、一部の脆弱性がまだ解消されておらず、その点が気がかりです。
試行錯誤の末に作り上げたAWS SSO認証が、他の方々のお役に立てることを願っています。