What I'd like to do
oracleCloudにGoogle Work Spaceのアカウントでログインしたい。 curiosourceでは、統一ID基盤をGoogle Work Spaceにしているため、インフラとして使用しているOCIのコンソールにも上記アカウントでログインできるようにしたかった。
SetUp
Google Work SpaceでSAMLアプリケーションの登録をして、OCI側にメタデータをアップロードする。
まずは、Google Work Spaceの管理コンソールからSAML連携用のメタデータを取得する。
![oracleCloudにGoogleWorksSpaceのSAML設定してみた](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F6A7h4S9Ds7QsEaI1uMd6Qg%2F5022ee90774f6faa7ecd4339918cfc5a%2F________-___________________.png%3Ffm%3Dwebp&w=3840&q=75)
![oracleCloudにGoogleWorksSpaceのSAML設定してみた](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F3g0CwDjN67DtbNKafMhgiM%2F326cc407531a2bed5c1a1a1a2b9d85ed%2F________-___________________-2.png%3Ffm%3Dwebp&w=3840&q=75)
メタデータをダウンローしたら、今度はOCIコンール上で操作する。
フェデレーションを開き、先ほどダウンロードしたメタデータをアップロードする。
![oracleCloudにGoogleWorksSpaceのSAML設定してみた](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F2Gx7ZRX2SNrAkrokhxMidJ%2F10987a8a17c17af1699870467e4338d1%2F______Oracle_Cloud_Infrastructure.png%3Ffm%3Dwebp&w=3840&q=75)
![oracleCloudにGoogleWorksSpaceのSAML設定してみた-4](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F6IQHGQiHOf8L6B1T6d59si%2F98be16107d18c12e250e92fe9866bbe1%2F____________Oracle_Cloud_Infrastructure.png%3Ffm%3Dwebp&w=3840&q=75)
フェデレーションとして登録が完了したら、Oracleメタデータをダウンロードする。 一見、一般ドキュメントのように見えるがきちんとテナント毎に違うパラメータになっている。
![oracleCloudにGoogleWorksSpaceのSAML設定してみた-5](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F73CZPymbryPq4sYjMHMjkz%2Fdd4c0b2285fc32499afcc84f67860fcd%2F____________Oracle_Cloud_Infrastructure-2.png%3Ffm%3Dwebp&w=3840&q=75)
メタデータで重要なのは、
entityID
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
の部分。 これらをGoogleWorkSpaceのコンソールから設定する。
![oracleCloudにGoogleWorksSpaceのSAML設定してみた-6](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F7DlGLLrzaDqDFlD0N1Q7oO%2Fd9b13398065fbe50373142dd36401edf%2F________-______________________.png%3Ffm%3Dwebp&w=3840&q=75)
ここまで設定できれば、コンソールにログインができるようになるが、何も権限がない状態なので権限付与できるように設定していく。 今回は、GoogleWorkSpaceの組織階層で管理組織のユーザーはAdmin権限となるよう設定した。 OracleConsoleで設定していく。 Google側からのグループ連携は、パス形式で連携されるため下記のような形で入力する。 今回はAdmin組織のユーザーに権限を設定した。
![oracleCloudにGoogleWorksSpaceのSAML設定してみた-7](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F4RMYFFvXncnITXoyhZdU8Q%2F6d6975814a88210909f4d30fef2adae1%2F____________Oracle_Cloud_Infrastructure___.png%3Ffm%3Dwebp&w=3840&q=75)
次にGoogle側に下記のように設定する。
![oracleCloudにGoogleWorksSpaceのSAML設定してみた-8](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fvdinsmmocmj0%2F3oaZP2chqX9yoEcgAoMj2d%2Fa3e3c78c4d7205c3caf5843f3c8ca375%2FSAML_________-___________.png%3Ffm%3Dwebp&w=3840&q=75)
GoogleDirectoryの属性:OrgnaizationUnitPath アプリ属性(共通):https://auth.oraclecloud.com/saml/claims/groupName ここまで設定することで、Google側でAdmin組織に属しているユーザーはOracle側でもAdminitsrationユーザーとして操作できる。