
Okta
オクタ
Okta-AWS連携でSSOから権限付与までOktaで管理してみた!
はじめに
Okta社の年次調査レポート「Businesses at Work 2023」によると、マルチクラウドを採用しているOktaの顧客において、最も人気のある組み合わせはとして、Amazon Web Services(AWS)とGoogle Cloud Platform(GCP)が挙げられています。
また、同レポートによると、2022年にOkta経由で利用されたアプリのうち、Microsoft 365に次いで、2番目に多く利用されているアプリもAWSとなっています。
参照元:https://www.okta.com/jp/press-room/press-releases/okta-businesses-at-work2023/
今回はそんなAWSとOktaを連携し、SSOやID管理、さらにはAWSアカウントの権限管理まで検証してみました。現在AWSをご利用の皆様は、是非IDaaSの導入を検討される際の参考にしていただけますと幸いです。
Okta-AWS連携概要
AWS IAM Identity Centerとは?
AWSでは様々なサービスが用意されていますが、今回は、AWS IAM Identity CenterとOktaを連携しました。
AWS IAM Identity Centerとは、AWSのワークフォースユーザーのサインインセキュリティを管理するサービスで、全てのAWSアカウントおよびアプリケーションを一元管理することができます。(https://aws.amazon.com/jp/iam/identity-center/)
簡単に言うと、「AWS上のどのユーザーにどのリソースを利用させるかを管理できる」サービスです。
よって、OktaとAWS IAM Identity Centerを連携することで、AWSアカウントのリソースへのアクセスを、Oktaで管理することができます。
Oktaでは、AWS IAM Identity Centerとのプロビジョニング連携時、下図のように権限を付与/剥奪できます。
※プロビジョニング時の権限付与/剥奪は一部SaaSに有効です。それ以外のSaaSでも、該当のAPIが用意されている場合は、Okta Workflowsを利用することで、同様にライセンスや権限の管理が可能です。

Okta-AWS IAM Identity Center SSO連携
Oktaには、OINというSaaSとの連携テンプレートが用意されているので、AWS IAM Identity Center連携用のOINを指定し、設定していきます。

Okta上に作成されたAWS IAM Identity CenterのアプリでView SAML setup instructionsをクリックし、Instructionsに従って設定を進める。


- AWS IAM Identity Centerの設定 > アイデンティティソースタブにて、「アイデンティティソースを変更」をクリック

- アイデンティティソースとして、「Identity Center ディレクトリ」>「外部のIDプロバイダ―」を選択

- 2で保存したmetadataファイルを外部IdP設定でアップロード後、ACS URLとIssuer URLをOkta側のアプリ設定に貼り付ける

※実際にSSOする際は、3で表示された「AWSアクセスポータルのサインインURL」にアクセスすることで、Oktaにリダイレクトされます。

Okta-AWS IAM Identity Center プロビジョニング連携
Oktaには、OINというSaaSとの連携テンプレートが用意されているので、AWS IAM Identity Center連携用のOINを指定し、設定していきます。

Okta上に作成されたAWS IAM Identity CenterのアプリでView SAML setup instructionsをクリックし、Instructionsに従って設定を進める。


- AWS IAM Identity Centerの設定 > アイデンティティソースタブにて、「アイデンティティソースを変更」をクリック

- アイデンティティソースとして、「Identity Center ディレクトリ」>「外部のIDプロバイダ―」を選択

- 2で保存したmetadataファイルを外部IdP設定でアップロード後、ACS URLとIssuer URLをOkta側のアプリ設定に貼り付ける

※実際にSSOする際は、3で表示された「AWSアクセスポータルのサインインURL」にアクセスすることで、Oktaにリダイレクトされます。


ユーザー・グループ同期と権限付与



以上でプロビジョニング連携は完了です。
ユーザー・グループ同期と権限付与
今回、AWS IAM Identity Center側では事前に許可セットを作成しました。AWSへSSOするユーザーにこの許可セットを割り当てることで、AWS上で利用できる権限範囲が指定されます。ここでは、以下の許可セットを作成しました。
- SystemAdministrator:事前定義された許可セットの中から「SystemAdministrator」を指定
- ViewOnlyAccess: 事前定義された許可セットの中から「ViewOnlyAccess」を指定
また、Okta側では上記許可セットを付与するユーザーのグループをそれぞれ作成しました。
今回のユーザー・グループ同期では、以下のようにグループを分けております。
- AWS_orgTest1_SystemAdmin
SystemAdministratorユーザーのグループプッシュ用グループ - AWS_orgTest1_SystemAdmin_Assign
SystemAdministratorユーザーのユーザー同期用グループ - AWS_orgTest1_ViewOnlyAccess
ViewOnlyAccessユーザーのグループプッシュ用グループ - AWS_orgTest1_ViewOnlyAccess_Assign
ViewOnlyAccessユーザーのユーザー同期用グループ

※グループプッシュとは、Okta側のグループとメンバーシップを、連携先アプリケーションにプッシュする機能です。Oktaとアプリケーションそれぞれの既存グループを紐づけることや、Okta側のグループをアプリケーション側に新規グループとして作成することができます。




まず、ユーザーのカスタム属性として「AWS_Group」を作成し、AWS IAM Identity Centerでアサインしたい許可セット(例:SystemAdministrator)をその属性値として指定しておきます。その後、「AWS_Group属性値が"SystemAdministrator"であるユーザーをAWS_SystemAdminグループへ所属させる」といったグループルールを作成します。


- Okta→AWS IAM Identity Centerへユーザー作成

- Okta→AWS IAM Identity Centerへ作成したグループへのユーザーアサイン

上記の流れで、事前にAWS IAM Identity Center側で許可セットを割り当てていたグループにユーザーがアサインされることで、自動的にユーザーに許可セットが割り当てられます。そのため、Okta側でのグループ設定により、AWSユーザーの権限管理が可能となります。
AWSへのSSO
実際のAWSへのSSOは、以下のように動作し、割り当てられた許可セットでのログインができます。

まとめ
本ブログでは、OIN(Okta Integration Network)を利用した、AWS IAM Identity CenterとのSSO, プロビジョニング連携をご紹介しましたが、いかがでしたでしょうか。
Oktaでは、ユーザーの作成/更新/無効化だけでなく、SaaSによっては、権限も併せて管理できるOINも用意されていますので、SaaSへのアクセス管理を大幅に自動化できます。
AWS IAM Identity Centerとの連携やその他SaaSとの連携にご興味のある方、Oktaに関するお問い合わせなどある方は、是非弊社までご連絡ください。
お問い合わせ・資料請求
株式会社マクニカ Okta 担当
- TEL:045-476-2010
- E-mail:okta@macnica.co.jp
平日 9:00~17:00