例: グループを使用したチームアクセス
このチュートリアルでは、ポリシーテグをIAMグループとロールと一緒に使用して、チームメンバーのデータアクセスを管理する方法を説明します
目的
このチュートリアルでは、ポリシーテグをIAMグループとロールと一緒に使用して、チームメンバーのデータアクセスを管理する方法を説明します。グループのロールバインドにCEL条件を割り当てることで、グループに追加されたすべてのユーザーが自動的に正しいアクセスレベルを継承します。
目次
- シナリオ
- ステップ1: タグスキーマの設計
- ステップ2: ポリシーテグの作成とバインド
- ステップ3: IAMグループの作成
- ステップ4: グループのCEL条件の設定
- ステップ5: ユーザーをグループに追加
- ステップ6: アクセスの確認
- 設定の拡張
シナリオ
貴社には、employee_dataというデータセットがあり、以下のテーブルを含みます。
salary_detailsテーブルには、個人を特定できる情報(PII)を含む属性national_idがあり、これは上級HRスタッフのみがアクセス可能です。
目標: 新しいチームメンバー(新入社員)はoffice_locationsとteam_directory]にアクセスできる必要がありますが、salary_detailsやperformance_reviewsにはアクセスできません。HRスタッフは給与データにアクセスできますが、上級HRでない限りnational_idを見ることはできません。
ステップ1: タグスキーマの設計
ポリシーテグキーaccess_levelを3つの値で作成します。
さらに、タグキーpiiを1つの値で作成します。
ステップ2: ポリシーテグの作成とバインド
ポリシーテグをaccess_level(値general、hr、management)とpii(値restricted)を作成します。
次にデータにバインドします。
テーブルoffice_locationsとteam_directoryには明示的なタグがありません。これらはデータセットからaccess_level: generalを継承します。
ステップ3: IAMグループの作成
Identity Access Managerで3つのグループを作成します。
各グループにADAC Readerロール(またはAdvanced Data Access Control読み取り権限を含む適切なロール)を割り当てます。
グループの作成とロールの割り当ての手順については、Groupsを参照してください。
ステップ4: グループのCEL条件の設定
各グループのADACロールバインドに対して、IAMでCEL条件を設定します。条件はゲートチェーンの順序に従う必要があります。データセット→テーブル→属性。
New Joiners: generalデータへのアクセスのみ:
このCELはaccess_level: generalをすべてのレベルで強制します。新入社員はoffice_locationsとteam_directory(データセットからgeneralを継承)にアクセスできますが、salary_details(hr)やperformance_reviews(management)にはアクセスできません。
HR Team: general + hrデータへのアクセス、ただしPII属性は不可:
このCELは以下のように動作します。
- データセットレベル:
access_level: generalが必要です:employee_dataで通過します - テーブルレベル:
generalまたはhrを許可します:performance_reviews(management)を除くすべてのテーブルで通過します - 属性レベル:
generalまたはhrを許可しますが、piiタグが存在しない必要があります:national_id(pii: restrictedがある)を拒否します
!has(PolicyTags.pii)チェックにより、piiキーでタグ付けされた属性は、その値に関係なく拒否されます。これはPIIの包括的な保護に役立ちます。
Senior HR: general + hrデータを含むPIIへのフルアクセス:
このCELはHR Teamと同じですが、!has(PolicyTags.pii)制限がありません。上級HRはnational_idにアクセスできます。
これらのCEL条件を編集するには、IAMのグループのロールバインドに移動し、CELエディタに切り替えます。手順については、Writing CEL Conditions Manuallyを参照してください。
ステップ5: ユーザーをグループに追加
新しいチームメンバーが加わった場合:
- IAMでユーザーアカウントを作成します。
- 必要なベースロールを割り当てます。
- 組織レベル:
Organization Viewer - プロジェクトレベル:
AM Admin(または作業に適したロール)
- 組織レベル:
- ユーザーをNew Joinersグループに追加します。
これで完了です。グループのCEL条件が自動的にgeneralタグ付きデータへのアクセスを許可します。個別のCEL条件を設定する必要はありません。
HRチームに移動した場合:
- New Joinersからユーザーを削除します。
- HR Teamにユーザーを追加します。
アクセスはすぐに更新されます。ユーザーはsalary_details(national_idを除く)に加えて一般テーブルを見ることができます。
ステップ6: アクセスの確認
Explorerを使用して、各グループのユーザーのアクセスを確認します。
New Joinerとして:
HR Teamメンバーとして:
Senior HRとして:
設定の拡張
管理グループの追加
マネージャーにperformance_reviewsへのアクセス権を付与するには、ManagementグループをこのCELで作成します。
複数のグループに属するユーザー
ユーザーは複数のグループに属することができます。誰かがHR TeamとManagementの両方に属している場合、両方のグループの権限の和を取得します。彼らはsalary_detailsとperformance_reviewsの両方にアクセスできます。
ユーザーが複数のグループに属している場合、各グループのロールバインドは独立して評価されます。どのロールバインドのCEL条件が通過すれば、ユーザーにアクセス権が付与されます。これにより、複数グループの設定は加算的になります。
サービスアカウント
サービスアカウントもグループに追加できます。レポートパイプラインが一般的なデータを読み取る必要がある場合、個々のCEL条件を設定する代わりに、そのサービスアカウントをNew Joinersグループに追加してください。
さらに進む
当社のソリューションを実装するためのトレーニングや技術的なアシスタンスが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして、プロフェッショナルサービスの専門家に見積もりを依頼し、プロジェクトのカスタム分析を依頼してください。
Data Platformを構築するチームと直接質問し、フィードバックを共有し、交流するには、専用のDiscordチャンネルにアクセスしてください。
OVHcloudサービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

