JFrog PlatformのSCIMによるユーザーとグループ管理

SCIM Support in the JFrog Platform 863x300

組織が大きくなると、ユーザーやグループのライフサイクルを管理することが大きな課題となります。会社は急速に成長し、新しい従業員を雇用し、組織が使用する多くのアプリケーションに対するアクセス権を与えています。つまり、従業員がチームや役割を変更したり、一時的または恒久的に退社したりする際、多くの従業員に関連するアクションが必要になります(そうしないと運用、セキュリティ、コンプライアンスの問題が発生する可能性があります)。

そのため、セキュリティやコンプライアンス上の理由から、従業員の特定のアプリケーションへのアクセスを無効にする必要がある場合が多々あります。多数の外部サービスを利用し、多くのユーザーを抱えている組織では、このプロセスに時間がかかり、エラーが発生しやすくなります。Artifactoryではユーザーやグループの作成・削除、ユーザーの無効化、ユーザーが無効化された場合のアクセストークンやAPIキーの失効などが行えます。

JFrog PlatformにSCIM v2.0のプロトコルとスキーマが追加されたことで、クラウドベースのアプリケーションやサービスのアイデンティティ・アクセス・セキュリティが格段に容易になったのは、DevOpsチームには喜ばしいことでしょう。

Scaling Software Supply Chains Securelyを読む

System for Cross domain Identity Management (SCIM)はシステム間でユーザーやグループのプロビジョニングと管理を可能にするオープンスタンダードなプロトコルです。SCIMプロトコルのJFrogの実装はSCIM v2.0仕様のコアを提供しています。SCIMの実装はSCIMスキーマに準拠したRESTエンドポイントに依存しており、ユーザーやグループの作成、削除、無効化、グループやユーザー間の関連付けなど、アイデンティティプロバイダー(IdP)を介して多数のアクションを可能にします。IT部門はOktaAzure Active Directoryなどのアイデンティティプロバイダーを利用し、JFrogのユーザーやグループを管理することができます。これにより、複数のアプリケーションにまたがるユーザーを管理するための時間のかかるプロセスを削減することができます。

System For Cross-Domain Identity Management

SCIMプロトコルは全てのユーザー管理が一箇所に集中しているため、企業のセキュリティとコンプライアンスの地位を向上させ、アプリケーションへのアクセスはボタンをクリックするだけで簡単に無効化/有効化され、IT部門は多くの時間と労力を節約することができます。

JFrogはDevOpsの世界に不可欠な存在であるため、SCIM v2.0プロトコルをJFrog Platformに実装し、ユーザーが好きなIdPを利用してユーザーやグループを簡単に管理できるようにしました。

このブログではIdP(ここではOkta)を設定し、ユーザーを作成後、そのアクティビティを無効にする方法を3つの簡単なステップでご紹介します。

ステップ1: Access Adminトークンの生成

まず、JFrog Platformアプリケーションとの通信を認証するために使用するAccess Adminトークンを生成します。管理者としてログインし、Identity and Access > Access Tokens > Generate Admin Tokenに進みます。

Generate Admin Token

作成したAccess Admin Tokenをコピーします。OktaでSCIMを設定する際に必要になります。

ステップ2: OktaでSCIMの設定

OktaApplications > Create New Appをクリックします。ポップアップが表示された後、SCIMと統合されるSAML 2.0サインオン方法として選択します。

アプリの名前を入力し、「Next」をクリックします。

Choose a name for your app

メモ: 以下の手順に従い、OktaでSAML SSOを任意に設定してください。

GeneralタブのProvisioningオプションでSCIMを選択し、Saveをクリックします。

choose SCIM in the Provisioning options

新しいProvisioningタブの表示後、Editをクリックします。

以下のようにフィールドに入力します:

Provisioning_SCIM Connection

    • SCIM connector base URL: https://<ARTIFACTORY_URL>/access/api/v1/scim/v2
    • Unique identifier field for users: userName
    • Supported provisioning actions: 必要なアクションを有効にします。この例では全てのアクションを有効にしています。
    • Authentication Mode: HTTP Header
    • Authorization: 先ほど生成したAccess Adminトークンを貼り付けます。

    Test Connector Configurationをクリックします。成功したアクションがポップアップで表示されます:

Test Connector Configuration

Saveをクリックし、左メニューのTo AppタブでサインオンにSAMLを使用しているため「Sync Password」以外の全てにチェックします:

Saveをクリックします。

以上でJFrog ArtifactoryでSCIMの設定が完了しました。後はそれを使うだけです。

ステップ3: JFrog ArtifactoryでSCIMを使用

ユーザーを作成します。Directory > People > Add Personに進みます。フィールドに入力し、Saveをクリックします。

Directory_Add Person

ここで先ほど作成したユーザーをクリックし、「Assign Applications」をクリックし、JFrog platformのアプリケーションの「Assign」をクリックします。

Doneをクリックします。

Assign Applications

これでJFrog PlatformUsersページに新しいユーザーが表示されます:

JFrog Platform Users page

ユーザーを無効にしたいと仮定し、More Actions > Deactivateをクリックします。

Disable user

変更はJFrog Platformに自動的にプロビジョニングされます:

JFrog Platform

Okta上でユーザーに変更を加えた場合、ユーザーの無効化、ユーザーのグループへの割り当て等、これらの変更がJFrog Platformに反映されます。同様にグループを作成し、JFrog DevOps platformにプッシュすることも可能です。

SCIMはユーザーやグループを管理する場合、より簡単で直感的な操作を可能にします。これがSCIMをJFrog Platformに導入した主な動機です。上記のような迅速且つ自動化されたアクションを享受することで、セキュリティやコンプライアンス上の問題を回避することができます。グループに管理者権限を追加したり、多くのユーザーをグループに割り当てたりすることが一ヶ所で容易に実行できるからです。組織内のユーザー数が増加し、誰もが複数のアプリケーションを使用するようになると、これらのアクションはますます一般的になるでしょう。

JFrog PlatformでSCIMを利用する >