この記事は、CyberAgent Group SRE Advent Calendar 2023の5日目の記事です。
はじめに
技術本部 サービスリライアビリティグループ(SRG)の石川 雲(@kumo_rn5s)です。
SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
SRGでは以前から技術記事を執筆していますが、Google検索での最適化を施していないため、あまり知られていないようです。より多くの方に当社の記事を読んでいただくために、本記事の主要部分をSRGのサイトで是非ご覧ください。
本記事は、ArgoCDの数少ないSAML2.0連携について、ArgoCDコミュニティ内のSAML連携現状と連携事例を紹介するものです。
ArgoCDのSSO連携について
ArgoCDは、Kubernetes環境向けの宣言型GitOps連携ツールです。弊社では、ArgoCDのGA前から導入し、複数のプロジェクトでArgoCDを利用しています。
ArgoCDのインストール後、初期設定に利用される全アクセス権を持つデフォルトユーザ admin
が設定されます。この admin
ユーザは、初期設定後は使用せず、代わりにローカルユーザへの切り替え、またはSSO統合の設定が推奨されています。
ArgoCDではSSOを設定するために、主に2つの方法があります。
-
組み込みDex Connector
現在のプロバイダがOIDCをサポートしていない場合 ( 例:
SAML
、LDAP
)、またはDexの機能を活用したい場合(例: 属性マッピング)に適しています。DexもOIDCをサポートしています。 -
既存のOIDCプロバイダ
Github、Auth0、Microsoft、Keycloak、Google、Oktaなど、既に使用しているOIDCプロバイダがある場合に適しています。
ArgoCDとの連携には、どれがいい?
一般的に、既存のADやLDAPを持つ企業内環境では、多くのシステムがSAML 2.0のみに対応しているため、SAML 2.0が適しています。しかし、ArgoCDでSAML 2.0の連携をサポートしているDex Connectorは、SAML 2.0自体を非推奨としています。内部ネットワーク外での使用では、SAML 2.0とArgoCDの連携はできるだけ避けるべきです。
......
残りの内容については、ぜひSRGのサイトでご確認ください。