Okta SAMLロール同期設定
OktaをIDプロバイダーとして使用する場合、SAMLを通じてEnvironmentロールとコラボレーターグループを同期できます。
新しい権限モデルへの移行
組織がレガシー権限モデルから新しい権限モデルに移行する場合、OktaでSAMLおよびSCIM設定を更新する必要があります。 Workatoは既存の割り当てを自動的に変換しません。 次を更新します:
workato_roleなどのSAML属性、およびEnvironment固有の属性(workato_role_prod、workato_role_test)を新しいEnvironmentロールにマッピングします。- コラボレーターグループを使用する場合は、
workato_user_groupsSAML属性を設定します。 グループ数が少ない場合は直接属性マッピングを使用し、より大規模なセットには正規表現を使用したグループ属性ステートメントを使用します。
これらの更新を行った後、OktaでユーザーをWorkatoアプリに割り当ててテストし、正しいロールおよびグループクレームが渡されていることを活動監査ログで確認します。
ここでは、基本的なWorkato Environment(DEV(デフォルト)、PROD、TEST)のロール同期を設定します。
前提条件
- OktaテナントのSAML SSOを設定します。
- Workato UIでジャストインタイムプロビジョニングを有効にします。
- チームまたは組織にSAML SSOを適用します。
OktaのWorkatoアプリユーザープロファイルにEnvironmentロール属性を追加する
次の手順を実行して、新しいworkato_role属性をWorkatoユーザープロファイルに追加します。
Workatoで使用する各Environmentについて、次の手順を繰り返します:
OktaでDirectory > Profile Editor > Workato App > + Add Attributeに移動します。
Data typeをstringに設定します。
Display nameをEnvironment属性に設定します。 たとえば、DEV Environmentにはworkato_roleを入力します。 組織で複数のEnvironmentを使用している場合は、それぞれに属性ステートメントを設定します。 TEST Environmentにはworkato_role_test、PROD Environmentにはworkato_role_prodなどの追加属性を追加します。 デフォルトのworkato_role属性はDEV Environmentにマッピングされます。
属性のDescriptionを入力します。
Define enumerated list of valuesチェックボックスを選択します。
Attribute membersの下にEnvironmentロール値を追加します:
| 表示名 | 値 |
|---|---|
| Environment admin | Environment admin |
| Environment manager | Environment manager |
| Member | Member |
| NoAccess | NoAccess |
値では大文字と小文字が区別されます。 ワークスペースでまだレガシー権限モデルを使用している場合は、対応するロール値を参照してください:
レガシーロール値
| 表示名 | 値 |
|---|---|
| 管理者 | 管理者 |
| Operator | Operator |
| Analyst | Analyst |
| NoAccess | NoAccess |
Attribute lengthフィールドで属性の長さパラメーターを定義します。
Attribute requiredフィールドでYesを選択します。
Attribute typeフィールドでPersonalを選択します。
MutabilityフィールドをREAD_WRITEに設定します。
Save Attributeをクリックします。
Environmentロール用のOktaグループを作成する
各Workato Environmentのユーザーアクセスをマッピングするために、OktaでEnvironment権限グループを作成します。
次の命名規則を使用します:
WKT-ENV | <ENVIRONMENT> | <ROLE>例:
WKT-ENV | DEV | Admin:workato_roleをEnvironment adminロールに割り当てますWKT-ENV | DEV | Manager:workato_roleをManagerロールに割り当てますWKT-ENV | DEV | Member:workato_roleをMemberロールに割り当てます
各Environmentについて繰り返します。
グループをWorkatoアプリケーションに割り当てる
OktaでEnvironment権限グループを作成したら、それらをWorkatoアプリケーションに割り当てます。
OktaでApplications > Workato > Assignments > Groupsに移動します。
Workato Environment用に作成したすべてのEnvironmentロールグループを追加します。 たとえば、WKT-ENV | DEV | AdminまたはWKT-ENV | PROD | Operatorです。 Environmentグループは、ユーザープロファイルで設定したEnvironmentロール属性(workato_role、workato_role_test、workato_role_prod)にマッピングされます。
これらのOktaグループに追加されたユーザーには、Workatoで対応するEnvironmentロールが自動的に付与されます。
コラボレーターグループ割り当てを設定する
Workatoでは、SAMLを通じてworkato_user_groups属性を割り当てる2つの方法をサポートしています。 管理するコラボレーターグループの数に最も適したオプションを選択します:
直接割り当て: 組織が少数のコラボレーターグループのみを管理している場合(たとえば10未満)に、この方法を使用します。 この方法では、Oktaユーザープロファイルにグループのリストを事前定義します。
正規表現を使用したグループベースの割り当て: 組織が多数のコラボレーターグループを管理している場合に、この方法を使用します。 この方法では、標準化された命名規則のOktaグループと、一致するすべてのグループ名を動的に渡すグループ属性ステートメントを使用します。
直接割り当て
組織が少数のコラボレーターグループのみを管理している場合は、Oktaでworkato_user_groups属性を設定することで、それらをユーザーに直接割り当てることができます。 少数で固定されたコラボレーターグループのセットを管理する場合は、直接割り当てをお勧めします。
OktaでDirectory > Profile Editor > Workato App > + Add Attributeに移動します。
Data typeをstringに設定します。
新しい属性のDisplay nameとしてworkato_user_groupsを入力します。
任意です。 属性のDescriptionを入力します。
Define enumerated list of valuesチェックボックスを選択します。
Attribute membersの下にコラボレーターグループ名を追加します。 これらの名前は、Workato内の既存のコラボレーターグループと完全に一致している必要があります。
例:
| 表示名 | 値 |
|---|---|
| Analytics_Team | Analytics_Team |
| Engineering_Admins | Engineering_Admins |
| QA_Reviewers | QA_Reviewers |
| All collaborators | All collaborators |
属性の動作
workato_user_groups属性は、新しい権限モデルを使用するワークスペースでプロジェクトレベルのアクセスを管理します。
workato_user_groupsの動作は、IDプロバイダー(IdP)で設定する値によって異なります:
- 空または省略: ユーザーの既存のコラボレーターグループメンバーシップは変更されません。
- All collaborators: ユーザーをすべての明示的なコラボレーターグループから削除します。 ユーザーは、デフォルトのEnvironmentロールを通じて継承している場合にのみアクセスを保持します。
- 特定のグループ名: ユーザーを指定されたコラボレーターグループに追加します。 ユーザーは、Workatoでそれらのグループに設定されたプロジェクトレベルの権限を継承します。
Attribute requiredフィールドでYesを選択します。
Attribute typeフィールドでPersonalを選択します。
MutabilityフィールドをREAD_WRITEに設定します。
Save Attributeをクリックします。
正規表現を使用したグループベースの割り当て
組織が多数のコラボレーターグループを管理している場合は、Oktaグループとグループ属性ステートメントの使用をお勧めします。 これにより、ユーザープロファイルで各グループを事前定義する必要がなくなります。 コラボレーターグループの数が多い場合は、グループベースの割り当てをお勧めします。
コラボレーターマッピング用のOktaグループを作成する
コラボレーターグループには、次の命名規則を使用します:
WKT | <ROLE> | <TEAM>例:
WKT | Admin | Finance
WKT | Builder | HR Operations
WKT | Admin | Sensitive Projects
WKT | Admin | Reusable Assetsこれらのグループ名は、Workatoで定義されている既存のコラボレーターグループと一致している必要があります。
次に、グループ属性ステートメントを設定して、これらのコラボレーターグループをWorkatoに渡します。
既存のユーザー割り当てをグループに変換する
組織が以前にユーザーレベルでロールを割り当てていた場合は、それらをグループレベルの割り当てに変換できます:
OktaでApplications > Workato > Assignmentsに移動します。
Convert Assignmentsを選択します。
名前でユーザーを検索し、そのユーザーが変換対象かどうかを確認します。
個々のユーザーをグループベースの割り当てに移行するにはConvert selectedを選択し、一括変換するにはConvert all assignmentsをクリックします。
個々のユーザー割り当てをグループ割り当てに変換する
ユーザーの割り当てがグループによって管理されるようになったことを確認し、Saveをクリックします。
グループを通じたアプリ割り当て管理を確認する
ロールとグループのSAML属性ステートメントを設定する
ユーザーがSAML SSOを通じてWorkatoにサインインするたびに、workato_roleおよびworkato_user_groups属性値を含めるようにSAML属性ステートメントを設定する必要があります:
OktaでApplication > Workato > General > SAML Settings > Edit > Next > Configure SAML > Attribute Statementに移動します。
次の属性と値を追加します:
Oktaでのworkato_roleのAttribute Statements
次のNameとValueのペアを使用します。 Name formatフィールドは任意であることに注意してください。
- workato_role
- appuser.workato_role
- workato_role_test
- appuser.workato_role_test
- workato_role_prod
- appuser.workato_role_prod
任意です。 Environmentロール属性に加えて、コラボレーターグループ用のgroup attribute statementを設定します:
- Name:
workato_user_groups - Name format: Unspecified
- Filter: Matches regex
- Regex:
^WKT \|.*
これにより、名前がWKT |で始まるOktaグループが、workato_user_groupsの値として渡されます。
コラボレーターグループ用のグループ属性ステートメントを設定する
グループ属性マッピング
組織が多数のコラボレーターグループを管理し、グループベースの割り当てモデルを採用している場合は、この正規表現ベースのグループ属性ステートメントを使用します。 正規表現関数は、グループの命名規則に依存します。
ユーザープロファイルでworkato_user_groups属性を直接設定している場合は、この手順をスキップできます。
OktaでEnvironment固有のWorkatoロールを設定する
WorkatoインスタンスでLifecycle Management機能が有効になっている場合、使用する各EnvironmentにEnvironment固有のSAML属性を設定する必要があります。
| Environment | SAML属性 |
|---|---|
| Dev(メイン) | workato_role |
| テスト | workato_role_test |
| Prod | workato_role_prod |
| Sandbox | workato_role_sandbox |
| UAT | workato_role_uat |
| ステージ | workato_role_stage |
| Pre-prod | workato_role_preprod |
アプリケーションをユーザーに割り当てる
次の手順を実行して、Workatoアプリケーションを個々のユーザーに割り当てます:
OktaでDirectory > Users > {Select User} > Assign Application > Workatoに移動します。
User Name(メールアドレス)が正しいことを確認します。
アプリケーションをユーザーに割り当てる
ユーザーのPROD Environmentロールにworkato_role_prod属性を割り当てます。
workato_role属性を使用して、DEV(デフォルト)Environmentロールを割り当てます。 前の手順と同じロールオプションが適用されます。
workato_role_test属性を使用して、TEST Environmentロールを割り当てます。 前の手順と同じロールオプションが適用されます。
保存をクリックします。
ユーザーロールを更新する
ユーザーのロールを更新するには、適切なEnvironment属性(たとえばworkato_role、workato_role_prod、workato_role_test)から新しい値を選択し、Saveをクリックします。
ユーザーのロールを変更する
たとえば、ユーザーdave.leeのworkato_role_prod値をEnvironment adminからカスタムのDevOps_Adminロールに更新できます。
Environmentアクセスを削除する
以前に指定した特定のEnvironmentへのアクセスを削除するには、いずれかのEnvironment属性のユーザーロールをNoAccessに変更します。
たとえば、workato_role_prod属性をNoAccessに設定することで、プロダクションEnvironmentへのアクセスを制限できます。
ロール変更を確認する
組織でWorkatoの活動監査ログ機能を使用している場合、ユーザーがSAML SSOを通じてログインしたときに自動ロール同期を確認できます。
SAMLアサーションによってトリガーされたロール変更は、値sam_auto_syncでSource属性の下に表示されます。
Workato UIで行われた手動のロール変更では、ソースuserが使用されます。
New RoleおよびPrevious Roleの値も確認できます。
SAMLロール同期の活動監査ログ
Last updated: