Atlas は、組織、プロジェクト、 データベースレベルでユーザー権限を管理するためのシステムを提供します。Atlas Stream Processing は、ストリーム処理タスクに固有のロールと権限を追加する機能、および特定のストリーム処理ワークスペースへのユーザー権限を制限する能力を使用してこのシステムを拡張します。
組織とプロジェクトのアクセス
ユーザーは、Stream Processing ワークスペースとそれに関連する接続レジストリをプロジェクトレベルで管理します。Atlas Stream Processing はこの目的のProject Stream Processing Ownerロールを提供します。このロールを持つユーザーは、任意の Stream Processing ワークスペースまたは接続レジストリ マネジメントアクションを実行し、プロジェクト内のデータベースとデータベースユーザーを管理できます。このロールをユーザーに割り当てることで、最小権限の原則に従って、不要な機能への権限を付与することなく、Atlas Stream Processing プロジェクトの設定に必要なすべてのアクションを実行できるようにします。
必要に応じて、Project Stream Processing Owner ロールまたは ロールのいずれかを持つユーザーとして、Project Owner Organization Ownerロールで認可されたアクションを実行できます。
Stream Processing ワークスペースへのアクセス
既存の Stream Processing ワークスペースにアクセスし、ストリーム プロセッサを管理できます。これはデータベースユーザーとして Atlas クラスターにアクセスする方法に類似しています。データベースユーザーに割り当てられたロールとアクションによって、Stream Processing ワークスペース内のストリームプロセッサで実行できる操作が決まります。Atlas Stream Processing では、次の権限アクションが提供されます。
processStreamProcessorcreateStreamProcessorstartStreamProcessorstopStreamProcessordropStreamProcessorlistStreamProcessorssampleStreamProcessorstreamProcessorStatslistConnections
必要なデータベースユーザーまたはカスタムロールに正確にそれらの権限アクションを割り当てることができます。あるいは、atlasAdmin または readWriteAnyDatabase を持つデータベースユーザーは、これらのアクションをすべて実行できます。
ネットワーキング
Atlas Stream Processing は、Atlas クラスターとApache Kafkaなどの外部ストリーミングデータソースの両方への接続をサポートしています。Atlas 内の接続には手動構成は必要ありません。外部ストリーミングデータソースに接続するには、AtlasのIPアドレスを外部ストリーミングデータソースのアクセスリストに追加する必要があります。
必要な Atlas IP アドレスを特定するには、次のコマンドを実行します。
curl -H 'Accept: application/vnd.atlas.2023-11-15+json' -s \ 'https://cloud.mongodb.com/api/atlas/v2/unauth/controlPlaneIPAddresses'
プロバイダーとリージョン別にグループ化された、利用可能な Atlas IPアドレスのリストが返されます。ターゲットの Stream Processing ワークスペースがデプロイされているプロバイダと地域のペアのすべての送信 IP アドレスを特定し、これらを外部データソースのアクセスリストに追加します。 詳細については、「Atlas Control Plane からのアクセス許可」を参照してください。
外部のストリーミング データソースへの接続を構成する場合、パブリック IP アドレス経由のアクセスまたはVPC ピアリング接続経由のアクセスのどちらかを選択できます。 詳細については、「接続レジストリへの接続の追加 」を参照してください。
アクセス権を特定の Stream Processing ワークスペースに制限する
デフォルトでは、Atlas Stream Processing 権限アクションを持つユーザーは、すべてのStream Processing ワークスペースに対して関連する操作を実行できます。これらの権限の適用を特定の Stream Processing ワークスペースに限定できます。
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoDatabase & Network Access
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
権限を変更するユーザーの行にあるEditをクリックします。
モーダル ウィンドウで、 Restrict Access to Specific Clusters /Federated Database Instances/Stream Processing Workspacesというラベルの付いたスイッチをオンに切り替えます。
ユーザーに権限を付与する Stream Processing ワークスペースの名前を見つけます。名前の横にあるボックスをオンにして、その Stream Processing ワークスペースに対する権限をユーザーに付与します。その Stream Processing ワークスペースに対するユーザー権限を拒否するには、チェックボックスをオフにします。
実行プロファイル
Atlas データベースに接続するときに使用するデータベースユーザーロールを、$sourceシンクまたは$mergeシンクとして構成できます。これにより、Atlas Stream Processing 固有のデータベースユーザーが、Stream Processing ワークスペースとその接続を構成する上位権限のある Atlas ユーザーの認証情報を介して、そのデータベースをホストしているクラスターに間接的にアクセスするのを防ぐことができます。
注意
最小特権の原則に従い、ユーザーが目的の操作を実行するために必要な特権のみを持つカスタムロールを定義します。
AtlasGoStream ProcessingAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Streaming Data見出しの下のStream Processingをクリックします。
Atlas Stream Processingページが表示されます。
構成する Stream Processing ワークスペースのペインで、Configureをクリックします。
[ Connection Registry ] タブをクリックします。 構成する Atlas データベース接続の行で、クリックします。
Execute Asドロップダウン メニューから、データベースに接続するときに使用するロールを選択します。
監査
Atlas Stream Processing の監査により、管理者は Stream Processing ワークスペースで認証とエンティティマネジメントのイベントを追跡できます。特定の Stream Processing ワークスペースで監査可能なイベントが発生するたびに、Atlas Stream Processing はそのイベントをその Stream Processing ワークスペースのログに書込みます。ログは、それが属する Stream Processing ワークスペースの有効期間にわたって存続し、Atlas Stream Processing は古いイベントを切り捨てることはありません。Stream Processing ワークスペースを削除すると、その Stream Processing ワークスペースに属するログはさらに30日間保持されます。
Stream Processing ワークスペースの監査ログのダウンロードについては、「監査ログのダウンロード」を参照してください。
Atlas Stream Processing は、次の認証イベントの監査をサポートしています。
イベント | 説明 |
|---|---|
認証に成功 | ユーザーが Stream Processing ワークスペースに正常に接続したときに発生 |
認証の失敗 | ユーザーが Stream Processing ワークスペースへの接続に失敗した場合に発生 |
接続の終了 | ユーザーが接続を閉じたときに発生します |
Atlas Stream Processing は、次のエンティティ マネジメント イベントの監査をサポートしています。
startStreamProcessor | ユーザーがストリーム プロセッサを起動したときに発生します |
|---|---|
createStreamProcessor | ユーザーがストリーム プロセッサを作成したときに発生します |
stopStreamProcessor | ユーザーがストリーム プロセッサを停止したときに発生します |
dropStreamProcessor | ユーザーがストリーム プロセッサを削除したときに発生します |
.process() | ユーザーが.process()を発行したときに発生します を呼び出す |
.sample() | ユーザーが.sample()を発行したときに発生します を呼び出す |
監査ログにアクセスしました | ユーザーが監査ログをダウンロードしようとしたときに発生します |