私の設計では、マルチテナントSAASアプリケーションのバックエンドとしてDocumentDBを使用したいと考えています。 テナントごとのデータが10GBを超えることができるため、テナントモデルごとにコレクションを使用したいと考えています。 要件は、アプリケーションでデータを確実に分離する方法です。テナント1は、テナント2のデータをコードと青空のポータルで見ることができません。コレクションのアクセス許可を同じものに設定するにはどうすればよいですか?DocumentDBコレクションのアクセス許可
1
A
答えて
1
は、私はあなたがコレクション/ドキュメントへのユーザーアクセスを制御するためにcreate DocumentDB users for each tenant and associate the permissions with the userに試みることができるテナントモデル
ごとにコレクションを使用します。
string documentCollectionlink = UriFactory.CreateDocumentCollectionUri("{database id}", "{collection id}").ToString();
string databaseLink = UriFactory.CreateDatabaseUri("{database id}").ToString();
Permission docPermission = new Permission
{
PermissionMode = PermissionMode.All,
ResourceLink = documentCollectionlink,
Id = "tenant1perm"
};
await client.CreateUserAsync(databaseLink, new User { Id = "tuser" });
docPermission = await client.CreatePermissionAsync(UriFactory.CreateUserUri("{database id}", "tuser"), docPermission);
、その後、あなたはDocumentDBユーザーの権限を読んで、テナントに基づいてアクセストークンを取得し、リソースを操作するためのトークンでDocumentClientの新しいインスタンスを作成することができます。
var qclient = new DocumentClient(new Uri(EndpointUri), token);
関連する問題
- 1. Java - DocumentDB無許可アクセス
- 2. DocumentDB - コレクション
- 3. DocumentDB + Xamarin - 許可トークンが無効です
- 4. Team Foundation Server 2010プロジェクトのコレクションとプロジェクトのアクセス許可
- 5. FileProvider - アクセス許可
- 6. Vistaのアクセス許可
- 7. パッカーシェルローカルポストプロセッサのアクセス許可
- 8. フォルダのアクセス許可
- 9. ファンページのアクセス許可
- 10. フォルダのアクセス許可
- 11. ACCESS_FINE_LOCATIONのアクセス許可
- 12. バックアップサーバーのアクセス許可
- 13. アプリケーションのアクセス許可
- 14. アンドロイドコンテンツプロバイダのアクセス許可
- 15. フォルダのアクセス許可
- 16. type_linear_accelerationのアクセス許可
- 17. レジストリのアクセス許可
- 18. ファイルのアクセス許可
- 19. インターネットのアクセス許可?
- 20. CLLocationManagerのアクセス許可
- 21. Azure DocumentDBデータベース/コレクションの制限
- 22. コードナビホワイトリスト許可許可ナビゲーションとアクセス元
- 23. DocumentDB - トリガ内から別のコレクションにアクセスする
- 24. アクセス制御 - 許可アクセス元 -
- 25. Android PermissionDenial:Bind_RemoteViewsアクセス許可
- 26. Android SYSTEM_ALERT_WINDOWアクセス許可
- 27. Djangoアクセス許可App
- 28. Bitnamiアクセス許可php.ini
- 29. ユーザーグループとアクセス許可
- 30. Xamarin.Ui.Test Inject_Eventsアクセス許可
本当に助けてくれてありがとう。ユーザーのグループやコレクションの役割ベースのアクセス許可を持たせることもできますか? – MiniKh
私が知る限り、Azure DocumentDBには**グループ**と**ロール**のコンセプトはありません。あなたのアプリケーションで**マルチテナント**を実装するために**私の返信で述べたように、実際のユーザーまたはアプリケーションのテナントに対応するDocumentDBでユーザーを作成することができます。 DocumentDBユーザーの詳細については、[このリンク](https://docs.microsoft.com/en-us/azure/documentdb/documentdb-resources#users)を参照してください。 –
更新情報回答があなたの問題の解決に役立つ場合は、回答としてマークしてください。他の人がすぐに回答を見つけて同様の問題を解決するのに役立ちます。 –