MongoDB Atlas は、リソースへの堅牢なアクセスを確保するために、さまざまな認可方法をサポートしています。Atlas ではすべてのユーザーに認証が必要です。ユーザーが認証されると、認可によってユーザーのリソースへのアクセス権が決定されます。
Atlas の認可を実装する際は、ロールベースアクセス制御(RBAC)を使用する必要があります。フェデレーション IdP のユーザーグループを RBAC と併用すると、マネジメントが簡素化されます。
次の推奨事項は、すべての 配置パラダイムにおけるワークフォース(人間)ユーザーとワークロード(アプリケーション)ユーザーの両方に適用されます。
RBAC と事前定義されたロール
Atlas は、ユーザー認可のマネジメントを簡素化するために RBAC(Role-Based Access Control、ロールベースのアクセス制御)を使用します。Atlas には、UI と API を使用して Atlas を管理するために一般に必要な特定レベルのアクセス権を提供する、事前定義されたユーザー ロールが含まれています。マネジメントを簡素化するために、ロールを IdP グループにマッピングできます。
Atlas クラスターに接続するには、きめ細かなカスタム データベース ロールを使用して、ロールがその機能を実行するために必要なアクセス権に基づいて、きめ細かなスコープ設定を提供します。このアプローチにより、最小権限の原則に従うことができます。
注意
常に、必要最低限の RBAC ロールを割り当ててアクセスを制限するべきです。また、ドメイン制限を使用することもお勧めします。
割り当て可能なロールには、組織レベルとプロジェクト レベルの2種類があります。
組織レベルのロール
組織レベルのロールは、サービス アカウントによって新しいプロジェクトの作成、IAM の管理、請求などのタスクを自動化するために使用されます。プラットフォーム チームのメンバーにも使用できます。
Organization Ownerロールは、組織全体の設定を変更したり、構成を削除したりする能力があるため、厳しく制限し、単独の個人には割り当てません。このロールは、組織の初期設定と構成のためにのみ使用するサービスアカウントに割り当てる必要があります。初期作成後は、構成の変更を最小限に抑えてください。アカウントのロックアウトを回避するために、次の項目を作成できます。Just-in-Timeアクセスを持つ SAML 組織オーナー グループ。
組織オーナーのロールを持つサービス アカウント。緊急事態に備えて、強力なアクセス マネジメントを備えた安全な場所に保管してください。
Organization Memberロールは、組織の設定や構成を表示できる運用およびプラットフォーム チームの管理者向けである必要があります。Organization Project Creatorロールは、開発チームと製品チームの新しいアプリケーションに代わってプロジェクトを作成するために使用されるプログラムによるサービス アカウントです。Organization Billing Adminロールは、請求APIからプログラムによって請求書を取得し、FinOps ツールに入力するために使用されるプログラムによるサービス アカウントです。このサービス アカウントは、使用状況の報告を担当するリンクされた組織すべてにアクセスできる必要があります。
プロジェクト レベルのロール
プロジェクト レベルのロールは、アプリケーション開発と保守を担当する開発チーム、テストチーム、製品チームのためのものです。組織レベルのロールと同様に、常に最小権限の原則に従う必要があります。例として、Project Owner ロールは、運用チームとプロビジョニングチームが実施するガバナンスのためにのみ使用されるべきです。Project Owner はクラスターの作成や削除ができるため、サンドボックス環境で作業している場合をのぞいて、このロールはプログラムによるサービス アカウントに割り当てるべきです。
プロジェクト レベルのロールの詳細については、次を参照してください。
フェデレーション IdP
Atlas をフェデレーション IdP と統合することにより、IdP グループを Atlas ロールにマッピングして、ジャストインタイム プロビジョニングを利用できます。これによりアクセス管理が効率化され、プラットフォーム全体で安全で整理されたロール割り当てが保証されます。オーケストレーション レイヤーのプロビジョニング プロセスに基づいて、プログラムでアクセスを許可することができます。
Azure Entra ID、Okta、Ping Identity など、SSO を提供する最新のフェデレーション IdP を使用するべきです。これにより、認可プロセスがより安全になり、IdP グループを Atlas ロールにプログラムで割り当てるために必要な柔軟性がサポートされます。会社のドメインへのアクセスを制限する必要があります。これにより、アクセスが許可されていないユーザーは Atlas にログインできなくなります。
フェデレーション IdP グループへのロールのマッピングについて詳しくは、「ロール マッピング プロセス」を参照してください。
ジャストインタイム アクセス
Atlas は、事前定義された時間後に自動的に期限切れとなる一時的なデータベースユーザーの作成をサポートしています。ユーザーを作成できる期間は、6 時間、1 日、または 1 週間です。
詳細については、「データベースユーザーの設定」を参照してください。
例
認可の設定例については、「認証と認可の例」を参照してください。