カスタムレンズを使用してウェルアーキテクチュアIDPソリューションを構築する – パート2:セキュリティ

「カスタムレンズでウェルアーキテクチュアIDPソリューションを構築する - Part 2:セキュリティ編」

アマゾンウェブサービス(AWS)でプロダクション用のソリューションを構築するには、リソース、時間、お客様の期待、ビジネスの結果との間でトレードオフを行う必要があります。AWS Well-Architected Frameworkは、AWS上でワークロードを構築する際に行う意思決定の利点とリスクを理解するのに役立ちます。フレームワークを使用することで、AWSで信頼性の高い、安全な、効率的な、コスト効果の高い、持続可能なワークロードを設計および運用するための現在のオペレーションおよびアーキテクチャの推奨事項を学ぶことができます。

インテリジェントドキュメント処理(IDP)プロジェクトは、通常、光学文字認識(OCR)と自然言語処理(NLP)を組み合わせてドキュメントを読み取り、特定のエンティティやフレーズを抽出します。このIDP Well-Architectedカスタムレンズは、フィールドでよく見られる一般的な課題に対処するためのガイダンスを提供します。このカスタムレンズで一連の質問に答えることで、潜在的なリスクを特定し、改善計画に従って解決することができます。

この記事では、IDPソリューションのセキュリティピラーに焦点を当てています。セキュリティピラーの導入と設計原則から始めて、アクセス制御、データ保護、キーとシークレット管理、ワークロード構成の4つの重要な領域でソリューションの設計と実装を検討します。この記事を読むことで、Well-Architected FrameworkにおけるセキュリティピラーとそのIDPソリューションへの適用について学ぶことができます。

設計原則

セキュリティピラーは、IDPソリューションがドキュメント処理システムと出力アセットを保護し、AWSのテクノロジーを活用してドキュメントをインテリジェントに処理する際にセキュリティを向上させる能力を包括しています。

全てのIDPソリューションで使用されるAWSのAIサービス(たとえば、Amazon TextractAmazon ComprehendAmazon Comprehend Medicalなど)は、AWSが物理インフラストラクチャ、APIエンドポイント、OS、アプリケーションコードのセキュリティを担当し、特定の地域内でのサービスの回復力とフェールオーバーも行います。したがって、AWSのお客様は、これらの要素のセキュリティに費やすのではなく、これらのサービスを使用してIDPタスクを達成することに集中することができます。IDPワークロードセキュリティを強化するためのいくつかの設計原則があります。

  • 強力なアイデンティティ基盤を実装する– IDPアプリケーションでAWSリソースとの対話ごとに適切な認可を使用して、最小限の特権の原則を実装し、役割の分離を強制します。アイデンティティ管理を一元化し、長期的な静的認証情報への依存を排除することを目指します。
  • トレース性を維持する– IDPで使用されるAIサービスは、AWS CloudTrailと統合されており、IDP環境のアクションや変更を監視、アラート、監査することができます。また、Amazon CloudWatchとの統合により、ログとメトリクスの収集をIDPシステムに統合し、自動的に調査と対応を行うことができます。
  • 現在のセキュリティ推奨事項を自動化する– ソフトウェアベースの自動化されたセキュリティメカニズムは、より迅速かつ費用効果の高いスケーリングを安全に実現します。IDPアーキテクチャを作成し、AWS CloudFormationを使用してバージョン管理されたテンプレート内で定義および管理されるコントロールの実装を行います。
  • 転送および静止状態のデータを保護する– IDPに必要なすべてのAIサービスは、デフォルトでデータの転送時の暗号化をサポートしています。静止状態およびIDPの出力データの保護にも注意を払います。データを感度レベルに分類し、暗号化やトークン化、適切なアクセス制御などのメカニズムを使用します。
  • 特権を最小限に与える– IDPは、ドキュメントの直接アクセスや手動処理のニーズを大幅に減らします。機密データを扱う際のドキュメントの誤処理や人為的エラーのリスクを軽減するため、ケースの検証や補完タスクに必要な人物のみを関与させます。
  • セキュリティイベントに備える– 組織の要件に合わせたインシデント管理および調査ポリシーとプロセスを備えて、インシデントに備えます。インシデント対応シミュレーションを実行し、検出、調査、回復のスピードを向上させるために自動化ツールを使用します。

フォーカスエリア

IDPのワークロードを作成する前に、セキュリティ要件を満たすためのプラクティスを実施する必要があります。この記事では、セキュリティの柱に焦点を当て、4つのフォーカスエリアについて説明します:

  • アクセス制御 – IDPアプリケーションでは、アクセス制御が情報セキュリティを確保するための重要な要素です。これは、認可されたユーザーだけがアプリケーションにアクセスできるようにするだけでなく、他のサービスが環境にアクセスし、適切に安全な方法で相互作用することを保証するためのものです。
  • データ保護 – IDPアプリケーションでは、データの転送中の暗号化はデフォルトでサポートされていますが、データ保護は主にデータの静的な暗号化と個人を特定できる情報(PII)などの機密情報の管理に焦点を当てています。
  • キーとシークレットの管理 – IDPのワークフローを保護するための暗号化アプローチには、複数のサービスや関連システムでデータを暗号化し、ユーザーに認可を与えるために異なるキーを使用する場合があります。包括的なキーとシークレットの管理システムを適用することで、IDPアプリケーションとデータをさらに保護するための耐久性のある安全なメカニズムを提供します。
  • ワークロードの設定 – ワークロードの設定には、監視や監査サービスを使用してトランザクションとデータのトレース性を維持する、インシデント対応手順の設定、異なるIDPのワークロードを分離するなど、複数の設計原則が含まれます。

アクセス制御

アクセス制御のフォーカスエリアでは、以下の現在の推奨事項を考慮してください:

  • IDP関連サービスとのプライベート接続にVPCエンドポイントを使用する – Amazon Textract、Amazon Comprehend、およびAmazon Simple Storage Service (Amazon S3)のAPIには、世界中のネットワークを介した接続またはVPCエンドポイントを使用してAWSネットワーク内でネットワークトラフィックを保持する方法があります。現在のセキュリティの推奨事項に従い、IDPのトラフィックをVPC内に保持し、インターフェースVPCエンドポイントを作成してVPCとAmazon TextractまたはAmazon Comprehendのプライベート接続を確立することがおすすめです。また、ゲートウェイVPCエンドポイントを使用してVPCからAmazon S3にアクセスすることもできます。
  • 集中的なアイデンティティプロバイダーを設定する – IDPアプリケーションにユーザーやシステムの認証を行うために、集中的なアイデンティティプロバイダーを設定すると、複数のIDPアプリケーションとサービスへのアクセスを簡単に管理することができます。これにより、複数の資格情報の必要性が減り、既存の人事プロセスとの統合の機会も提供されます。
    • 個々のAWSアカウントとの統合には、SAML 2.0ベースのプロバイダーを使用したAWSの集中型アイデンティティを使用することができます。AWS Identity and Access Management (IAM)を使用しています。
    • AWS Organizations内の複数のアカウントへの統合には、AWS IAM Identity Centerでアイデンティティソースを構成し、ユーザーやグループの管理場所を指定することができます。
  • IAMロールを使用してアクセスを制御し、最小特権アクセスを強制する – IDPサービスへのユーザーアクセスを管理するために、IDPアプリケーションのサービスに対してIAMロールを作成し、適切なポリシーやタグを添付して最小特権アクセスを実現する必要があります。その後、IAMロールを適切なグループに割り当てます。また、サービスの使用許可を割り当てるためにIAMロールを使用することもでき、これにより、サービスAPIの呼び出しには一時的なAWS Security Token Service(STS)の資格情報が使用されます。AWS以外のシステムからIDPの目的でAWSサービスを呼び出す必要がある場合、AWS IAM Roles Anywhereを使用してIAMで一時的なセキュリティ資格情報を取得することができます。
  • Amazon TextractとAmazon Comprehendを他のサービスからのなりすまし攻撃から保護する – IDPアプリケーションでは通常、複数のAWSサービスを使用します。そのため、あるサービスが別のサービスを呼び出す可能性があります。したがって、クロスサービスの「confused deputy」シナリオを防止する必要があります。資源ポリシーでaws:SourceArnおよびaws:SourceAccountのグローバル条件コンテキストキーを使用して、Amazon TextractまたはAmazon Comprehendがリソースに他のサービスに与える権限を制限することをおすすめします。

データ保護

以下はデータ保護に関するいくつかの最新の推奨事項です:

  • データストア内の機密データを保護するための最新の推奨事項に従う – IDPは通常、複数のデータストアを含みます。これらのデータストア内の機密データは保護する必要があります。この領域での現在のセキュリティの推奨事項には、IAMコントロールの定義、データベースへの検知コントロールの複数の実装方法、データのネットワークフローコントロールを通じたインフラストラクチャのセキュリティ強化、暗号化とトークン化によるデータ保護が含まれます。
  • Amazon Textractでデータを静止状態で暗号化する – Amazon Textractは、データの送信中にTransport Layer Security(TLS)とVPCエンドポイントを使用してデータを暗号化します。Amazon Textractで使用するためのデータを静止状態で暗号化する方法は、サーバーサイドの暗号化です。以下のオプションから選択できます:
    • Amazon S3でのサーバーサイドの暗号化(SSE-S3) – Amazon S3の管理キーを使用する場合、各オブジェクトは固有のキーで暗号化されます。さらに保護策として、この方法はキー自体を定期的にローテーションする主キーで暗号化します。
    • AWS KMSでのサーバーサイドの暗号化(SSE-KMS) – Amazon S3内のオブジェクトへの不正アクセスから保護するためのAWS Key Management Service(AWS KMS)キーの使用には、別の権限があります。SSE-KMSは、KMSキーが使用された時刻や使用者を示すCloudTrail内の監査トレイルも提供します。さらに、ユニークなKMSキーを作成および管理できます。
  • カスタムS3バケット内のAmazon Textract非同期APIの出力を暗号化するStartDocumentTextDetectionまたはStartDocumentAnalysisを呼び出して非同期のAmazon Textractジョブを開始すると、APIアクションのオプションパラメータとしてOutputConfigがあります。このパラメータを使用して、出力を保存するためのS3バケットを指定できます。また、別のオプションの入力パラメータであるKMSKeyIdを使用して、出力を暗号化するために使用するKMS顧客管理キー(CMK)を指定できます。
  • Amazon ComprehendでAWS KMS暗号化を使用する – Amazon ComprehendはAWS KMSと連携してデータの強化された暗号化を提供します。AWS KMSとの統合により、Start*およびCreate*ジョブのためのストレージボリューム内のデータを暗号化し、Start*ジョブの出力結果を独自のKMSキーを使用して暗号化します。
    • AWS Management Console経由での使用時、Amazon Comprehendは独自のKMSキーでカスタムモデルを暗号化します。
    • AWS Command Line Interface(AWS CLI)経由での使用時、Amazon Comprehendは独自のKMSキーまたは提供されたCMKを使用してカスタムモデルを暗号化できますが、後者を推奨します。
  • IDPの出力内のPIIの保護 – PIIを含むドキュメントの場合、IDPの出力に含まれるPIIも保護する必要があります。IDPのダウンストリームにPIIを保存する必要がある場合は、IAMコントロールの定義、データベースへの保護および検知コントロールの実装、ネットワークフローコントロールを通じたインフラストラクチャのセキュリティ強化、暗号化とトークン化を実装することを検討してください。PIIをIDPのダウンストリームに保存する必要がない場合は、IDPの出力でPIIを削除することを検討してください。IDPワークフローでAmazon Comprehendを使用してPII削除ステップを設計することができます。

キーとシークレットの管理

キーとシークレットの管理に関する現在の推奨事項を以下に考慮してください:

  • 暗号キーの安全な管理にはAWS KMSを使用する – コンテンツの保護を助けるために、キーの保存、ローテーション、およびアクセス制御を含む暗号化アプローチを定義する必要があります。AWS KMSは暗号化キーの管理をサポートし、多くのAWSサービスと統合しています。KMSキーのために耐久性のある安全な冗長ストレージを提供します。
  • シークレット管理にはAWS Secrets Managerを使用する – IDPワークフローでは、複数のサービスやステージでデータベースの資格情報などのシークレットが必要になる場合があります。これらのシークレットを保存、管理、取得、および定期ローテーションするためのツールが必要です。AWS Secrets Managerは、データベースの資格情報、アプリケーションの資格情報、およびその他のシークレットをライフサイクル全体で管理、取得、およびローテーションするのに役立ちます。資格情報をSecrets Managerに保存することで、アプリケーションコードを検査できるすべての人による資格情報の漏洩リスクを軽減します。

ワークロードの設定

ワークロードを設定するには、以下の現在の推奨事項に従ってください:

  • AWSアカウントを使用して複数のIDPワークロードを分離する – プロダクション、開発、テストなどの環境やワークロード間の共通のガードレールと隔離を確立するために、マルチアカウント戦略を使用することをおすすめします。 AWSは、この隔離境界を確立するためのツールを提供し、マルチアカウント戦略によるワークロードのスケールにわたる管理を実現します。組織単位(OU)のグループ化によって定義された階層にAWSアカウントを組織化する必要があります。セキュリティコントロールは、OUおよびメンバーアカウントに対して組織化および適用され、組織内のメンバーアカウントに一貫した予防的な制御を確立します。
  • CloudTrailでAmazon TextractおよびAmazon ComprehendのAPI呼び出しをログに記録する – Amazon TextractおよびAmazon Comprehendは、CloudTrailと統合されています。キャプチャされる呼び出しには、サービスコンソールからの呼び出しと、自分自身のコードからサービスのAPIエンドポイントへの呼び出しが含まれます。
  • インシデント対応手順の確立 – 網羅的で予防的かつ検出的なコントロールを備えていても、組織はセキュリティインシデントの潜在的な影響への対応と軽減のためのプロセスを確立する必要があります。セキュリティインシデントが発生する前にツールとコントロールを配置し、定期的にシミュレーションを通じてインシデント対応を実践することで、環境が迅速な調査と復旧をサポートできるかどうかを確認できます。

結論

この投稿では、ウェルアーキテクトIDPソリューションのセキュリティパイラーに関する設計原則と現在の推奨事項を共有しました。

IDPウェルアーキテクチャカスタムレンズについて詳しくは、次の記事を参照してください:

信頼性](https://aws.amazon.com/blogs/machine-learning/build-w ell-architected-idp-solutions-with-a-custom-lens-part-3-reliability/) – カスタムレンズを使用したウェルアーキテクチャIDPソリューションの構築 – パート4: パフォーマンス効率カスタムレンズを使用したウェルアーキテクチャIDPソリューションの構築 – パート5: コスト最適化カスタムレンズを使用したウェルアーキテクチャIDPソリューションの構築 – パート6: サステナビリティ

次のステップとして、AWSウェルアーキテクチャフレームワークについて詳しく読み、AWS上でのインテリジェントドキュメント処理のガイダンスを参照して、IDPアプリケーションの設計と構築を行ってください。IDPワークロードのウェルアーキテクチャレビューのためにアカウントチームに連絡してください。追加の専門的なガイダンスが必要な場合は、AWSアカウントチームに連絡してIDP専門のソリューションアーキテクトを担当してもらってください。

AWSはIDPウェルアーキテクチャレンズを生きたツールとして取り組んでいます。IDPソリューションと関連するAWS AIサービスが進化するにつれて、IDPウェルアーキテクチャレンズも更新します。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

xAIはPromptIDEを発表しました:Promptエンジニアリングと人工知能AIの透明性における新たなフロンティア

人工知能開発における画期的な一手として、xAIはPromptIDEを公開しました。PromptIDEは、プロンプトエンジニアリングと機械学...

データサイエンス

Python におけるカテゴリカル変数の扱い方ガイド

データサイエンスまたは機械学習プロジェクトでのカテゴリ変数の扱いは容易な仕事ではありませんこの種の作業には、アプリケ...

データサイエンス

ジェネラティブAIを活用したシフトレフトテストの推進

「ジェネラティブAIがシフトレフトテストを向上させ、優れたソフトウェア開発のためのテストケースの自動生成と予測的なバグ...

機械学習

「Declarai、FastAPI、およびStreamlitを使用してLLMチャットアプリケーションを展開する」

2022年10月、私が大規模言語モデル(LLM)の実験を始めたとき、最初の傾向はテキストの補完、分類、NER、およびその他のNLP関...

人工知能

生成型AIによる検索のスーパーチャージ

私たちは、ジェネレーティブAIを使用するSGE(Search Generative Experience)という名前の検索ラボの実験から始めます

機械学習

「大規模な言語モデルが医療テキスト分析に与える影響」

イントロダクション 技術革命の進行する世界において、人工知能と医療の融合は医学の診断と治療の風景を再構築しています。こ...