View a markdown version of this page

Amazon Verified Permissions を使用した PDP の実装 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Verified Permissions を使用した PDP の実装

Amazon Verified Permissions は、ポリシー決定ポイント (PDP) を実装するために使用できる、スケーラブルできめ細かなアクセス許可の管理および認可サービスです。ポリシーエンジンとして、アプリケーションがユーザーアクションをリアルタイムで検証し、過度に特権的または無効なアクセス許可を強調表示するのに役立ちます。これは、認可を外部化し、ポリシーの管理と管理を一元化することで、開発者がより安全なアプリケーションを迅速に構築するのに役立ちます。認可ロジックをアプリケーションロジックから分離することで、Verified Permissions はポリシーのデカップリングをサポートします。

Verified Permissions を使用して PDP を実装し、アプリケーション内で最小特権と継続的な検証を実装することで、開発者はアプリケーションへのアクセスをゼロトラストの原則に合わせることができます。さらに、セキュリティチームと監査チームは、アプリケーション内のどのリソースにアクセスできるかをより適切に分析および監査できます。Verified Permissions は、専用でセキュリティファーストのオープンソースポリシー言語である Cedar を使用して、よりきめ細かなコンテキスト対応アクセスコントロールのために、ロールベースのアクセスコントロール (RBAC) と属性ベースのアクセスコントロール (ABAC) に基づいてポリシーベースのアクセスコントロールを定義します。

Verified Permissions は、Amazon Cognito、Google、Facebook などの複数の ID プロバイダーを使用してマルチテナント認可を有効にする機能など、SaaS アプリケーションにいくつかの便利な機能を提供します。SaaS アプリケーションに特に役立つもう 1 つの Verified Permissions 機能は、テナントごとのカスタムロールのサポートです。顧客関係管理 (CRM) システムを設計する場合、1 つのテナントは、1 つの特定の基準セットに基づいて、販売機会ごとにアクセスの粒度を定義できます。別のテナントに別の定義がある場合があります。Verified Permissions の基盤となるアクセス許可システムは、これらのバリエーションをサポートできるため、SaaS ユースケースの優れた候補となります。Verified Permissions は、すべてのテナントに適用されるポリシーを記述する機能もサポートしているため、ガードレールポリシーを適用して SaaS プロバイダーとしての不正アクセスを防ぐことは簡単です。

Amazon Verified Permissions を使用した PDP の実装

Verified Permissions を使用する理由

Amazon Cognito などの ID プロバイダーで Verified Permissions を使用すると、アプリケーション用のより動的なポリシーベースのアクセス管理ソリューションを実現できます。データのセキュリティ、機密性、プライバシーを維持しながら、ユーザーによる情報の共有とコラボレーションを支援するアプリケーションを構築できます。Verified Permissions は、アイデンティティとリソースのロールと属性に基づいてアクセスを強制するきめ細かな認可システムを提供することで、運用コストを削減します。ポリシーモデルを定義し、ポリシーを作成して一元的に保存し、アクセスリクエストをミリ秒単位で評価できます。

Verified Permissions では、Cedar というシンプルで人間が読める宣言言語を使用してアクセス許可を表現できます。Cedar で記述されたポリシーは、各チームのアプリケーションで使用されるプログラミング言語に関係なく、チーム間で共有できます。

Verified Permissions を使用する際の考慮事項

Verified Permissions では、プロビジョニングの一環としてポリシーを作成し、自動化できます。アプリケーションロジックの一部として、実行時にポリシーを作成することもできます。ベストプラクティスとして、テナントのオンボーディングとプロビジョニングの一部としてポリシーを作成するときは、継続的インテグレーションと継続的デプロイ (CI/CD) パイプラインを使用してポリシーバージョンを管理、変更、追跡する必要があります。または、アプリケーションはポリシーバージョンを管理、変更、追跡できますが、アプリケーションロジックは本質的にこの機能を実行しません。アプリケーションでこれらの機能をサポートするには、この機能を実装するようにアプリケーションを明示的に設計する必要があります。

認可決定に到達するために他のソースから外部データを提供する必要がある場合は、このデータを取得し、認可リクエストの一部として Verified Permissions に提供する必要があります。このサービスでは、追加のコンテキスト、エンティティ、属性はデフォルトでは取得されません。