西山です。
みなさんTEAM使ってますか?
TEAMは組織内のAWSアカウントに対して、一時的に指定のアクセス権限を付与する「申請→承認→権限付与→権限失効」のフローを自動化するオープンソースのツールです。
AWS Organizationsを利用しているのであればぜひ利用を検討してみてください。
TEAMを利用したセキュアなAWS利用についてはこちらを参照ください。
目次
TEAMをアップデートしてカスタムドメインを設定したい
先日TEAMのv1.1.1がリリースされました。内容はカスタムドメインへの対応です。
これまでTEAMのドメインはAWS Amplifyのドメインのみ利用可能でしたが、今回のアップデートによってカスタムドメインを設定することができるようになりました。
普段はIAM Identity Centerのシングルサインオン画面からTEAMへアクセスしているので、あまりカスタムドメインを設定するメリットはギークの運用上ないのですが、今後のアップデートに備えて設定していきたいと思います。
v1.1.1へアップデートする
TEAMのアップデートはシンプルで、デプロイマシン(ローカル)のソースを自分でgit pullする必要はなく、アップデートスクリプトがソースの更新とデプロイを行います。
ただし、今回のようなカスタムドメインの設定などの新しい機能が実装された場合には、アップデートスクリプトを実行する前にparameters.shファイルを更新する必要があります。
parameters.shを更新する
ドキュメントを読むと、
UI_DOMAIN=portal.teamtest.online
というようにUI_DOMAINキーを追加すればよいということだったので、追加しました。
また、これはv1.1.1にバージョンアップする際の注意点ですが、CLOUDTRAIL_AUDIT_LOGSを指定しないとupdate.shがエラーとなるため、こちらも追加する必要がありました。
【オプション】cli認証情報を追加する
あとはupdate.shを実行するだけですが、こちらも環境によっては注意点があります。
ギークフィードではAWS CLIからIAM Identity Centerのセッション情報を取得してcliアクセスを行っていますが、parameters.shでプロファイルを指定してもupdate.sh実行時にうまくセッション情報を取得できていなかったので、別途.aws/credentialsに一時的なSSOの認証情報を追加する形で実行しました。
普段はidentitycenterというプロファイルでアクセスしています。
update.shを実行する
これらを設定し、update.shをエラーなく実行完了すると、Amplifyコンソールでデプロイが行われていることを確認することができます。
これにてアップデート作業は完了ですが、デプロイ完了後もカスタムドメインの設定が必要になります。
カスタムドメインの設定を行う
Amplifyでドメインを追加する
アップデートのデプロイ完了後、Amplifyコンソールからドメイン管理→ドメインを追加をクリックします。
- ボックスに設定したいカスタムドメインを入力します
- ドメインを設定をクリックします
- ドメインのルートを設定しない場合は「ルートを除外」をクリックします
- サブドメインを入力します。iamteamとしました。
- 保存をクリックします
ドメインの所有権を確認するために、指定のCNAMEレコードを設定する必要があるのでDNSレコードに追加します。
ドメインサービスによってはレコードの記法が異なりコピペできないので注意です。
ドメインのアクティベーションへ進めば所有権確認は完了です。
最後にサブドメイン用のCNAMEレコードを登録します。
アクション→DNSレコードの表示から、先程登録したサブドメイン用のCNAMEレコードが表示されるので、こちらもDNSレコードに追加しましょう。
以下のようになればAmplifyのカスタムドメイン設定は完了です。
integration.shを実行する
applicationstartURLを更新するためにintegration.shを実行します。
integration.shを実行する前に、リージョンを指定するために環境変数を設定します。
$ export AWS_DEFAULT_REGION=ap-northeast-1
実行すると下記のように長いapplicationstartURLが表示されるためコピーしておきます。
applicationstartURLを更新する
IAM Identity Centerにアクセスし、アプリケーションからTEAMを選択します。
アクションから設定を編集をクリックします。
アプリケーション開始URLを先程更新されたapplicationstartURLに変更し、保存します。
cognito.shを実行する
cognito.shを実行しcognitoの設定を更新します。
実行時、下記のエラーが出ますがこちらは無視して問題ないです。
An error occurred (DuplicateProviderException) when calling the CreateIdentityProvider operation: IDC already exists for tenant ap-northeast-1_XXXXXXX.
cognitoの設定が更新されたことを確認する
Amazon Cognito → ユーザープール→ $(ユーザープール名) → アプリケーションの統合 → $(xxxxxx_app_clientWeb) → ホストされたUI
にアクセスし、カスタムドメインが以下のように設定されていることを確認します。
アクセス確認
以上でカスタムドメインの設定は終了です。SSO画面からTEAMアプリケーションを立ち上げてカスタムドメインになっていることを確認しましょう。
おわりに
今回はTEAMをv1.1.1へアップデートしカスタムドメインを設定しました。
公式のアップデートドキュメントは最低限の記述のみなのでつまってしまう箇所が何点かありました。
この手順ブログがアップデートの助けになれば幸いです。
採用宣伝
ギークフィードではAWSエンジニアなどの職種で一緒に働く仲間を募集しています。
弊社に興味を持っていただいたり、会社のことをカジュアルに聞いてみたいという場合でも、ご気軽にフォームからお問い合わせください。その場合はコメント欄に、カジュアルにお話したいです、と記載ください!
- AWS Step Functionsの基本を再学習しました - 2024-09-23
- Amazon SESでバウンスメールを管理する - 2024-07-07
- TEAMをv1.1.1にアップデートしカスタムドメインを設定する - 2024-02-17
- コールセンター白書2023とAmazon Connect - 2023-12-25
- Provide dynamic and personalized CX with in-app web call for Amazon Connect - 2023-12-16