例: グループを使用したチームアクセス
このチュートリアルでは、ポリシーテグを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: タグスキーマの設計
3つの値を持つポリシーテグキーaccess_levelを作成します。
さらに、1つの値を持つタグキーpiiを作成します。
ステップ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サービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

