注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry の目的は、組織内の客観的な現実を正確に把握することです。この現実を構築する最初のステップは、データ基盤を構築し、権限を設定することです。データ基盤のセキュリティを確保する方法を説明するために、航空機メーカーである Sky Industries の概念例を通して説明します。私たちは、Sky Industries の開発者を代表し、生のFlight、Runway、Airport、Alert、Route、Passengerデータを統合し、オントロジーに備えてデータを準備し、その後、Sky Industries組織全体で利用できるようにします。
データ基盤を設計する際の重要な部分は、将来の拡張とメンテナンスの容易さを実現するために、プロダクションデータパイプライン用に作成するプロジェクトを決定することです。今回の例では、推奨されるプロジェクト設定を使用し、3つのプロジェクトを作成し、それぞれに明確な目的があります。
Foundry インスタンスによっては、プロジェクトとグループを同時に作成できる場合があります。目的は、各プロジェクトに3つのグループを持ち、それぞれがデフォルトの役割(例えば、Viewer
)にマップされることです。プロジェクトが組織内の他のユーザーに発見できるようにしたいので、プロジェクトのデフォルトの役割をDiscoverer
に設定し、プロジェクトにマーキングは追加しません。また、各プロジェクトで、変換が格納されるコードリポジトリを作成します。以下が、Flight Delays [Transform] プロジェクトの最終設定です。
パイプラインを構築するプロジェクトができたので、Foundry を使ってビジネスロジックを作成し始めることができます。ベストプラクティスの詳細については、データ統合ドキュメントを参照してください。
別のプロジェクトからデータを使用するには、現在のプロジェクトでそれを参照する必要があります。そうすることで、ビルドでそのデータセットを使用し、ソースプロジェクトにアクセス権がなくても、プロジェクト内の他のユーザーがそのデータの変換を作成できるようになります。
以下は、**Flight Control System [Datasource]**プロジェクトのflightsデータセットにプロジェクト参照を追加して、**Flight Delays [Transform]**プロジェクトで使用するときの様子です。
すべての変換を記述した後、最終的なプロダクションパイプラインは以下のようになります。
パイプラインが3つのプロジェクトにまたがっているため、各プロジェクトに対してユーザーに特定の役割アクセスを別々に与えることができます。
例えば、最初の運用ユーザーであるエリックをAviation [Ontology] - Viewerグループに追加し、**Aviation [Ontology]プロジェクトでViewerアクセス権を与えます。デフォルトの役割がDiscovererであるため、これらのユーザーはFlight Control System [Datasource]およびFlight Delays [Transform]**プロジェクトにDiscovererアクセス権しか持っていませんが、Aviation [Ontology]プロジェクトではViewerアクセス権があります。データソースプロジェクトへの発見者アクセスが、オントロジープロジェクトのような下流データへのアクセスを許可するものではありません。
以下は、エリックのリソースアクセスの様子です。
エリックの同僚であるリンダは、プロダクションパイプラインを維持する人物です。そのため、リンダは、すべての3つのプロジェクトの対応するオーナーとエディターグループに追加されます。パイプラインを個別のプロジェクトとグループに分割することが、長期的に維持しやすい方法です。
データやリソースを同僚と共有することをお勧めします。これは、プロジェクトグループに追加することで、プロジェクトへの一貫したアクセスが可能になります。この方法は、リソースを直接共有するよりもわかりやすく、管理しやすいです。正しいプロジェクトグループメンバーシップを通じて適切な役割を提供することに加えて、マーキングや組織メンバーシップなどの他のアクセス要件が満たされていることを確認する必要があります。詳細については、権限の確認セクションをご覧ください。