見出し画像

OktaとAruba CentralのSAML接続

追記(2022/05/29)

Aruba Centralは統合されたため、SAML接続は統合先のHPE GreenLakeと設定する必要があります。



前回のChatworkとの連携を参考に、Aruba CentralとのSAML連携をリトライしてみました。

画像18


設定

まずはOkta側の設定です。

2021年11月時点、OktaにはAruba CentralのAppがないのでCreate App Integrationで作成します。

画像1

Aruba CentralとはIdP initiatedで連携させます。
この段階ではSingle sign on URLとAudience URIには適当なURLを入力します。

画像2

Applicationが完成したらSign OnタブのIdentity Provider metadataリンクからmetadataファイルをダウンロードします。

画像3


続いてAruba Centralの設定です。

管理コンソール画面のシングルサインオンをクリックします。

画像4

SAML連携するために会社のメアドのドメイン名を入力してプロファイルを追加します。

画像5

このような画面になります。
メタデータファイルを選択して先ほどダウンロードしたmetadataファイルを読み込ませます。
このように基本情報が表示されたら保存をクリックします。

画像6

今登録したSAMLプロファイルのメタデータの表示をクリックします。

画像7

メタデータの内容が表示されます。
画面の箇所をクリックしてXML部分をコピーしてどこかにメモしておきます。ファイルとして保存する必要はないです。

画像8

最後にアカウントアイコンをクリックし、顧客IDをコピーしてどこかにメモしておきます。

画像9


またOktaの設定に戻ります。

登録したAruba CentralのApplicaitonを編集します。
先ほどSingle sign on URLとAudience URIは適当なURLを入力しました。ここを先ほどメモしたメタデータのXML内にURLらしき値が3~4箇所あります。


語尾がacsになっているURLSingle sign on URLに入力します。
語尾がmetadataになっているURLAudience URIに入力します。

画像10

そのままスクロールしてAttribute Statementsを設定します。
Attribute Statementsを登録し終えた画面はこうなります。

画像11

NameとValueに入力する値です。
顧客IDは先ほどAruba Centralでメモした値です。
roleとgroupは利用環境によって変わってきます。

画像12

roleとgroupについて
Aruba Centralの管理コンソールで、アクセスするユーザーアカウントに付与する権限とグループ名を指定します。実際どういう権限を付与するかは会社の環境によって変わってくると思います。


最後にAssignmentsタブで利用させたいユーザーを追加すれば完了です。

プロビジョニングなので事前にAruba Central側にユーザーアカウントを作る必要はないです。
OktaからアクセスすればFederatedとして自動的にユーザーアカウントが生成されます。

画像13

さきほどのroleとgroupについて
attribute statementsで登録したroleやgroupはプロビジョニングされたユーザーアカウントの権限になります。


しくじりポイント

SAML-tracerはちゃんと使おう、日本語の変換や翻訳はほどほどに、の2点です。

まずSSO熟練者の方々は当然かと思いますが、今回はSAML-tracerを解析していった結果、原因の手前まで追求できました。

しくじっていた箇所をフォーカスします。

画像14

おなじみの認証と認可。
302なので認可の部分で失敗していることがわかります。

SAML-tracerの記載されたエラーコードからAruba公式サイトがヒットしました。

ようはcustomer IDが届いてない、というエラーでした。

画像15


customer ID?

OktaにはNameに関する項目はありますがcustomerらしき項目はなさそうです。


Aruba Central側から302のコードを発しているため認可が降りず、つまりAruba Central側にcustomer IDを持っているはずでした。


そう言えば管理コンソールは日本語設定にしてました。

画像16


これを元々の英語設定に戻してみた結果・・・


画像17

ここだった。


今振り返ると【 顧客 = Customer 】は簡単に気づきそうですが・・・


海外製SaaSだとドキュメントやナレッジは英語がメイン。
一般的な機能ならともかく、SAML周りですと英語のドキュメントしかないサービスも多いです。

私もそうですが英語が出来ず、またSaaS側の言語設定で日本語があるとその設定にしがちです。

ドキュメントの翻訳ならまだしも、UI(User Interface)部分は敢えて英語設定に戻し、英語に慣れるようにしようかと思いました。

この記事が気に入ったらサポートをしてみませんか?