Azure Kubernetes Service に1Password SCIM Bridge をデプロイする
1Passwordマニュアル|Azure Kubernetes Serviceに1Password SCIM Bridgeをデプロイする方法を説明し、自動プロビジョニングを実現しましょう。
ヒント:Azure Kubernetes Service を使用しない場合でも、 Azure Container Appsまたは別のデプロイ環境を使用してプロビジョニングを自動化できます。

1Password Businessでは、 1Password SCIM Bridge を使用して多くの一般的な管理タスクを自動化できます。System for System for Cross-domain Identity Management (SCIM) プロトコルを使用して、 1PasswordをGoogle Workspace、 JumpCloud、 Microsoft Entra ID、 Okta、 OneLogin、 Ripplingなどの保存済みの ID プロバイダーに接続します。
ステップ1:1Passwordアカウントにプロビジョニングを追加する
1Password SCIM Bridgeを展開する前に、プロビジョニング統合を追加し、認証情報を取得する必要があります。 Get Startedをクリックし、 1Passwordアカウントにサインインして、画面の指示に従ってください。
保存済みのプロビジョニング統合の詳細が表示される場合は、まずそれを非アクティブ化する必要があります。 [More Actions]をクリックし、[Deactivate Provisioning] を選択します。
セットアップ プロセスを完了すると、scimsession ファイルとベアラー トークンが取得されます。これらを1PasswordにSaveし、scimsession ファイルをコンピューターにSaveします。これらは、 SCIM bridgeを展開して ID プロバイダーを接続するために必要になります。
重要: セットアップ中に受け取るベアラー トークンと scimsession ファイルは、 1Passwordアカウントの情報にアクセスするために一緒に使用できます。ベアラー トークンは ID プロバイダーと共有する必要がありますが、他のユーザーと共有しないでください。また、scimsession ファイルは絶対に誰とも共有しないでください。
ステップ2:Kubernetesクラスターを生成して構成する
2.1:環境に関する情報を収集する
Microsoft Azureポータルでアカウントにサインインします。
右上のCloud Shell をクリックします。
Azure サブスクリプションの一覧を取得します。 az account list -o table
SCIM bridgeの展開に使用するサブスクリプションを見つけて、その名前またはサブスクリプション ID SubscriptionID)をメモします。
Azure アカウントで利用可能な場所の一覧を取得します。 az account list-locations -o table
デプロイメントに適したサーバーの場所(リージョン)を見つけて、その名前 (eastus など) をメモします。
保存済みのリソース グループを選択するか、新しいリソース グループをCreateします。
保存済みのリソース グループの一覧を取得するには: az group list -o table
新しいリソースグループを作成するには: az group create --name <desiredName> --location <locationName>
デプロイメントに使用するリソース グループの名前をメモします。
以上の手順を完了すると、次の詳細が表示されます。
サブスクリプション名またはサブスクリプションID。
場所(リージョン)。
リソース グループ名。
2.2:クラスターを生成する
SCIM bridgeは、Azure Kubernetes Service クラスターにデプロイする必要があります。SCIM bridgeをデプロイする Azure Kubernetes Service クラスターをCreateするには、シェルの関連コマンドをテキスト エディターにコピーし、<placeholders> を手順 2.1 でメモした値に変更します。
Bash:
az aks create -n op-scim
--enable-cluster-autoscaler \
--node-count 1 \
--min-count 1 \
--max-count 3 \
--node-vm-size Standard_B2s \
--load-balancer-sku basic \
--node-osdisk-size 32 \
--resource-group <resourceGroupName> \
--generate-ssh-keys
PowerShell:
az aks create -n op-scim `
--enable-cluster-autoscaler `
--node-count 1 `
--min-count 1 `
--max-count 3 `
--node-vm-size Standard_B2s `
--load-balancer-sku basic `
--node-osdisk-size 32 `
--resource-group <resourceGroupName> `
--generate-ssh-keys
デプロイメントのコマンドを編集したら、 Cloud Shellで実行します。Azureがクラスターを生成するまで数分かかる場合があります。
クラスターが生成されたことを示すシェル通知が表示されたら、次の手順に進みます。
ステップ3: 1Password SCIM Bridgeを設定して展開する
ヒント: 1,000 人を超えるチーム メンバーを管理する場合は、 GitHubのリソース推奨事項の付録を参照して、ニーズに合わせて展開をカスタマイズしてください。
3.1: Kubernetesクラスターに接続する
Kubernetesサービス ページを開きます。
Createしたクラスターの名前をクリックします。上記のテンプレートの名前をそのままにした場合、名前は op-scim になります。
ページ上部の [Connect] をクリックし、 [Open Cloud Shell] をクリックしてクラスターに接続します。 Cloud Shellを既に開いている場合は、[Connect] ペインにリストされている [Set the cluster subscription] コマンドと [Download cluster credentials] コマンドを実行します。
3.2:scim-examplesリポジトリをクローンする
SCIM bridgeをデプロイするために必要な構成ファイルは全て、 GitHubの scim-examples リポジトリーで入手できます。
リポジトリーをクローンするディレクトリに切り替えて、次のコマンドを実行します。 git clone <a href="https://github.com/1Password/scim-examples.git">https://github.com/ 1Password/scim-examples.git</a>
クローンされたリポジトリ内のKubernetesディレクトリに切り替えます。 scim-examples/kubernetes を CD します。
3.3:scimsessionファイルをアップロードする
Kubernetes Secretを生成する前に、scimsession ファイルをCloud Shellにアップロードします。
[File Upload/Download] ボタンをクリックし、[Upload] を選択します。
コンピューターに保存した scimsession ファイルを見つけて選択します。
アップロード先をメモし、[Complete]をクリックします。

3.4:Kubernetes Secretをせいせ生生成する
Kubernetes SecretをCreateするには、次のコマンドを実行します。
Bashの場合:
kubectl create secret generic scimsession --from-file=scimsession=/home/$USER/scimsession
PowerShellの場合:
kubectl create secret generic scimsession --from-file=scimsession=/home/$Env:USER/scimsession
3.5:1Password SCIM Bridgeをデプロイする
1Password SCIM Bridge は、 Redis インスタンスを使用して Let's Encrypt TLS 証明書をSaveおよびキャッシュします。次のコマンドを使用して、構成、 1Password SCIM Bridge、Redis、およびロード バランサーをデプロイします。
kubectl apply -f .
3.6:DNSレコードを生成する
1Password SCIM Bridge には、管理するドメインのパブリック DNS レコードが必要です。DNS レコードを生成する前に、ロード バランサーの外部 IP アドレスを取得します。
kubectl get services
外部 IP 列に IP アドレスが表示されない場合は、数分待ってからもう一度お試しください。
ロード バランサーのパブリック IP アドレスを指す A レコードを追加します。たとえば、ドメインが example.com の場合は、scim.example.com を使用します。
ヒント:全てのSCIM bridgeトラフィックはポート 443 を使用します。Azure Firewall を使用している場合、または1Password SCIM Bridgeへのイングレスを制限している場合は、Azure Kubernetesクラスターのポート 443 を開きます。Let's Encrypt では、60 日ごとに TLS 証明書を更新するためにポート 443 でのイングレスが必要です。
3.7:Let’s Encryptを設定して有効化する
1Password SCIM Bridge は、 Let's Encrypt が提供する TLS 証明書を使用して、ID プロバイダーとの通信を保護します。
最後の手順でCreateした DNS レコードに基づいて、完全修飾ドメイン名 (FQDN)(例: scim.example.com) を OP_TLS_DOMAIN の値として設定します。
kubectl set envdeploy/op-scim-bridge OP_TLS_DOMAIN=scim.example.com
ステップ4:SCIM bridgeをテストする
重要:SCIM bridgeをIDプロバイダーに接続する前に、 SCIM bridgeに接続できることを確認してください。
安全な(HTTPS)接続経由
有効なTLS証明書を持っていること
DNS が伝播され、 SCIM bridgeが正常に展開されていることを確認するには、ブラウザーで前の手順で構成したドメインにアクセスします。1Password SCIM Bridgeのステータス ページが表示されます。OAuthベアラー トークンを入力して、正しいことを確認します。
ベアラートークンとドメイン(例:scim.example.com)を使用して、 1Passwordへの接続をテストします。
curl --header "Authorization: Bearer <bearer_token>" https://<domain>/scim/Users
1Passwordアカウントのユーザーのリストが表示されれば、 SCIM bridgeは正しく展開されています。
ステップ5:IDプロバイダーをSCIM bridgeに接続する
重要:既に1Password Business を使用している場合は、 1Passwordアカウントのメール アドレスとグループ名が ID プロバイダーのものと一致していることを確認してください。
1Passwordで別のメールアドレスを使用している場合は、変更するように依頼してください。
1Passwordに保存済みのグループがあり、それを ID プロバイダーのグループと同期したい場合は、 1Passwordでグループ名を調整します。
1Password SCIM Bridge は、認証に OAuth ベアラー トークンを受け入れる SCIM 2.0 互換のウェブサービスを提供するため、さまざまな ID プロバイダーで使用できます。
ユーザーガイド
ID プロバイダーを接続する方法については、以下をご覧ください。
ヘルプを受ける
ベアラー トークンやセッション ファイルを紛失した場合など、 SCIM bridgeに関するヘルプを入手します。
さらにサポートが必要な場合やフィードバックを共有する場合は、 1Password Business Supportに問い合わせるか、 1Password Support Communityでのディスカッションに参加してください。
Last updated