# Azure Kubernetes Service に1Password SCIM Bridge をデプロイする

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FJettajz4z3UEAA4WbrHD%2F0.png?alt=media" alt="thumbs-up" data-size="line"> **ヒント：Azure Kubernetes Service を使用しない場合でも、 Azure Container Appsまたは別のデプロイ環境を使用してプロビジョニングを自動化できます。**

![1Password SCIM Bridgeと1PasswordサーバーとIDプロバイダーの接続関係図](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FYl5d99XtUV1ONicRy3II%2F1.png?alt=media)

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アカウントにプロビジョニングを追加する** <a href="#t444n2xom19" id="t444n2xom19"></a>

1Password SCIM Bridgeを展開する前に、プロビジョニング統合を追加し、認証情報を取得する必要があります。 Get Startedをクリックし、 1Passwordアカウントにサインインして、画面の指示に従ってください。

[Get Started](https://start.1password.com/integrations/provisioning)

[保存済み](https://start.1password.com/integrations/provisioning)のプロビジョニング統合の詳細が表示される場合は、まずそれを非アクティブ化する必要があります。 \[More Actions]をクリックし、\[Deactivate Provisioning] を選択します。<br>

セットアップ プロセスを完了すると、scimsession ファイルとベアラー トークンが取得されます。これらを1PasswordにSaveし、scimsession ファイルをコンピューターにSaveします。これらは、 SCIM bridgeを展開して ID プロバイダーを接続するために必要になります。

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FvN2eNwJT4ExfWO3R1EEh%2F5.png?alt=media" alt="exclamation-triangle" data-size="line"> 重要: セットアップ中に受け取るベアラー トークンと scimsession ファイルは、 1Passwordアカウントの情報にアクセスするために一緒に使用できます。ベアラー トークンは ID プロバイダーと共有する必要がありますが、他のユーザーと共有しないでください。また、scimsession ファイルは絶対に誰とも共有しないでください。

### **ステップ2：Kubernetesクラスターを生成して構成する** <a href="#id-6frwtjgal8iw" id="id-6frwtjgal8iw"></a>

#### **2.1：環境に関する情報を収集する** <a href="#vl1ke5h43flq" id="vl1ke5h43flq"></a>

1. Microsoft Azureポータルでアカウントにサインインします。
2. 右上のCloud Shell をクリックします。
3. Azure サブスクリプションの一覧を取得します。\
   az account list -o table
4. SCIM bridgeの展開に使用するサブスクリプションを見つけて、その名前またはサブスクリプション ID SubscriptionID）をメモします。
5. Azure アカウントで利用可能な場所の一覧を取得します。\
   az account list-locations -o table
6. デプロイメントに適したサーバーの場所（リージョン）を見つけて、その名前 (eastus など) をメモします。
7. 保存済みのリソース グループを選択するか、新しいリソース グループをCreateします。
   * 保存済みのリソース グループの一覧を取得するには：\
     az group list -o table
   * 新しいリソースグループを作成するには：\
     az group create --name \<desiredName> --location \<locationName>
8. デプロイメントに使用するリソース グループの名前をメモします。

以上の手順を完了すると、次の詳細が表示されます。

* サブスクリプション名またはサブスクリプションID。
* 場所（リージョン）。
* リソース グループ名。

#### **2.2：クラスターを生成する** <a href="#jj3cpwj1ieiy" id="jj3cpwj1ieiy"></a>

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を設定して展開する** <a href="#m59gm7q8xwp2" id="m59gm7q8xwp2"></a>

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FhdbsrDVO2vA5R73MN9Vd%2F6.png?alt=media" alt="thumbs-up" data-size="line"> ヒント: 1,000 人を超えるチーム メンバーを管理する場合は、 GitHubのリソース推奨事項の付録を参照して、ニーズに合わせて展開をカスタマイズしてください。

#### **3.1: Kubernetesクラスターに接続する** <a href="#id-12jlql8vk53m" id="id-12jlql8vk53m"></a>

1. Kubernetesサービス ページを開きます。
2. Createしたクラスターの名前をクリックします。上記のテンプレートの名前をそのままにした場合、名前は op-scim になります。
3. ページ上部の \[Connect] をクリックし、 \[Open Cloud Shell] をクリックしてクラスターに接続します。\
   Cloud Shellを既に開いている場合は、\[Connect] ペインにリストされている \[Set the cluster subscription] コマンドと \[Download cluster credentials] コマンドを実行します。

#### **3.2：scim-examplesリポジトリをクローンする** <a href="#d8fn1fm8a3gs" id="d8fn1fm8a3gs"></a>

SCIM bridgeをデプロイするために必要な構成ファイルは全て、 GitHubの scim-examples リポジトリーで入手できます。

リポジトリーをクローンするディレクトリに切り替えて、次のコマンドを実行します。\
git clone \<a href="[https://github.com/1Password/scim-examples.git">https://github.com/](https://github.com/1Password/scim-examples.git">https://github.com/) 1Password/scim-examples.git\</a>

クローンされたリポジトリ内のKubernetesディレクトリに切り替えます。\
scim-examples/kubernetes を CD します。

#### **3.3：scimsessionファイルをアップロードする** <a href="#z5gczr5x41l9" id="z5gczr5x41l9"></a>

Kubernetes Secretを生成する前に、scimsession ファイルをCloud Shellにアップロードします。

* \[File Upload/Download] ボタンをクリックし、\[Upload] を選択します。
* コンピューターに保存した scimsession ファイルを見つけて選択します。
* アップロード先をメモし、\[Complete]をクリックします。

![Azure Cloud Shell内の Upload/Downloadファイルボタン](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2F69ki7185DJjtc918X4LB%2F7.png?alt=media)

#### **3.4：Kubernetes Secretをせいせ生生成する** <a href="#l93xene2zu4" id="l93xene2zu4"></a>

Kubernetes SecretをCreateするには、次のコマンドを実行します。

* Bashの場合：

{% code fullWidth="false" %}

```bash
kubectl create secret generic scimsession --from-file=scimsession=/home/$USER/scimsession
```

{% endcode %}

* PowerShellの場合：

```powershell
kubectl create secret generic scimsession --from-file=scimsession=/home/$Env:USER/scimsession
```

#### **3.5：1Password SCIM Bridgeをデプロイする** <a href="#id-3cc7abalbyr1" id="id-3cc7abalbyr1"></a>

1Password SCIM Bridge は、 Redis インスタンスを使用して Let's Encrypt TLS 証明書をSaveおよびキャッシュします。次のコマンドを使用して、構成、 1Password SCIM Bridge、Redis、およびロード バランサーをデプロイします。

```
kubectl apply -f .
```

#### **3.6：DNSレコードを生成する** <a href="#nmv0ajcmu2ii" id="nmv0ajcmu2ii"></a>

1Password SCIM Bridge には、管理するドメインのパブリック DNS レコードが必要です。DNS レコードを生成する前に、ロード バランサーの外部 IP アドレスを取得します。

```
kubectl get services
```

外部 IP 列に IP アドレスが表示されない場合は、数分待ってからもう一度お試しください。

ロード バランサーのパブリック IP アドレスを指す A レコードを追加します。たとえば、ドメインが example.com の場合は、scim.example.com を使用します。

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FSLkuvflPt9ipwC4S74ZU%2F8.png?alt=media" alt="thumbs-up" data-size="line"> ヒント：全てのSCIM bridgeトラフィックはポート 443 を使用します。Azure Firewall を使用している場合、または1Password SCIM Bridgeへのイングレスを制限している場合は、Azure Kubernetesクラスターのポート 443 を開きます。Let's Encrypt では、60 日ごとに TLS 証明書を更新するためにポート 443 でのイングレスが必要です。

#### **3.7：Let’s Encryptを設定して有効化する** <a href="#id-4svzhx4wxthh" id="id-4svzhx4wxthh"></a>

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をテストする** <a href="#qxah3a8h03f5" id="qxah3a8h03f5"></a>

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FS0j2CJ2PG0gzJayziOTv%2F9.png?alt=media" alt="exclamation-triangle" data-size="line"> 重要：SCIM bridgeをIDプロバイダーに接続する前に、 SCIM bridgeに接続できることを確認してください。

* 安全な（HTTPS）接続経由
* 有効なTLS証明書を持っていること

DNS が伝播され、 SCIM bridgeが正常に展開されていることを確認するには、ブラウザーで前の手順で構成したドメインにアクセスします。1Password SCIM Bridgeのステータス ページが表示されます。OAuthベアラー トークンを入力して、正しいことを確認します。

ベアラートークンとドメイン（例：scim.example.com）を使用して、 1Passwordへの接続をテストします。

```shell-session
curl --header "Authorization: Bearer <bearer_token>" https://<domain>/scim/Users
```

1Passwordアカウントのユーザーのリストが表示されれば、 SCIM bridgeは正しく展開されています。

### **ステップ5：IDプロバイダーをSCIM bridgeに接続する** <a href="#id-1bdxb3n3qbkj" id="id-1bdxb3n3qbkj"></a>

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FawuqUgnt22K7JJhpEN9y%2F10.png?alt=media" alt="exclamation-triangle" data-size="line"> 重要：既に1Password Business を使用している場合は、 1Passwordアカウントのメール アドレスとグループ名が ID プロバイダーのものと一致していることを確認してください。

* 1Passwordで別のメールアドレスを使用している場合は、変更するように依頼してください。
* 1Passwordに保存済みのグループがあり、それを ID プロバイダーのグループと同期したい場合は、 1Passwordでグループ名を調整します。

1Password SCIM Bridge は、認証に OAuth ベアラー トークンを受け入れる SCIM 2.0 互換のウェブサービスを提供するため、さまざまな ID プロバイダーで使用できます。

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FmDJ13FP65qOx7HTChnM1%2F11.png?alt=media" alt="" data-size="line">**ユーザーガイド**

ID プロバイダーを接続する方法については、以下をご覧ください。

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FF6fLj0cbOSNNGkObuLqz%2F12.png?alt=media" alt="" data-size="line">[ **Google Workspace**](https://support.1password.com/scim-google-workspace/)

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FmYnimVFi4lcRXNTtjfzB%2F13.png?alt=media" alt="the JumpCloud logo" data-size="line">[ **JumpCloud**](https://support.1password.com/scim-jumpcloud/)

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FO7qvxDkDpylbkWjFY8ZG%2F14.png?alt=media" alt="the Microsoft Entra ID logo" data-size="line">[ **Microsoft Entra ID**](https://support.1password.com/scim-entra-id/)

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2Fl0B9x5vFCbdOzioFjrLy%2F15.jpeg?alt=media" alt="the Okta logo" data-size="line">[ **Okta**](https://support.1password.com/scim-okta/)

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FnrO1hFHgUDYBn0FZhyF2%2F16.png?alt=media" alt="the OneLogin logo" data-size="line">[ **OneLogin**](https://support.1password.com/scim-onelogin/)

<img src="https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2F3FgqK1OIhNUHk0RN1Qt4%2F17.png?alt=media" alt="the Rippling logo" data-size="line">[ **Rippling**](https://support.1password.com/scim-rippling/)

### **ヘルプを受ける** <a href="#w3h1ct8sxki1" id="w3h1ct8sxki1"></a>

[ベアラー トークンやセッション ファイルを紛失した場合など、 SCIM bridgeに関するヘルプを入手します。](https://support.1password.com/scim-troubleshooting/)

さらにサポートが必要な場合やフィードバックを共有する場合は、 1Password Business Supportに問い合わせるか、 1Password Support Communityでのディスカッションに参加してください。
