Document AI の設定¶
このトピックでは、必要な役割と権限の付与など、 Document AI の設定について説明します。
Document AI で作業するには:
Document AI で使用するウェアハウス、データベース、スキーマを準備します。
Snowflakeでは、コストを追跡しやすくするために、ドキュメント AI 用に別のウェアハウスを作成することを推奨しています。例えば、
doc_ai_wh
X-Smallウェアハウスなどです。詳細については、 Document AI に対して最適なウェアハウスサイズを決定する をご参照ください。必要な役割と権限を付与します。
詳細については、 Document AI アクセス制御 をご参照ください。ロールと権限の付与の例については、 Document AI ユーザーに必要な役割と権限を付与します をご参照ください。
抽出するドキュメントを内部または外部のステージングにアップロードします。
内部ステージ を作成するには、以下の例に示すように CREATE STAGE コマンドを実行します。
CREATE STAGE doc_ai_stage DIRECTORY = (ENABLE = TRUE) ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE');
外部ステージ を作成するには、 外部ステージ に示すように CREATE STAGE コマンドを実行する。
Document AI アクセス制御¶
ユーザーに Document AI へのフルアクセスを提供するには、以下のすべてを実行する必要があります。
SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATORデータベース・ロールをアカウントロールに付与し、そのアカウントロールをユーザーに付与します。
Document AI モデルビルドを準備する権限を付与します。
処理パイプラインを作成し、 Document AI を使用して情報を抽出する権限を付与します。
Snowflake権限モデルの詳細については、 アクセス制御の概要 および アクセス制御権限 をご参照ください。
SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR データベースの役割により、 Document AI モデルビルドの作成、 Document AI モデルでの作業、 SQL を使用して情報の抽出やドキュメント処理パイプラインでの作業が可能になります。
注釈
Document AI にアクセスするには、 ACCOUNTADMIN ロールを使用するだけでは不十分です。SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR データベースロールと必要な権限をアカウントロールに付与する必要があります。
例えば、 doc_ai_role
アカウントロールを作成し、 SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR データベースロールを doc_ai_role
ロールに付与したり、既存のアカウントロールを使用したりすることもできます。
Document AI モデルビルドを準備する権限¶
Document AI ビルドの作成、ドキュメントのアップロード、モデルのテストと評価を行うには、以下の権限を持つロールを使用する必要があります。
権限 |
オブジェクト |
---|---|
USAGE |
Document AI で使用する予定のデータベース |
USAGE |
Document AI で使用する予定のウェアハウス |
OPERATE |
Document AI で使用する予定のウェアハウス |
GRANT CREATE SNOWFLAKE.ML.DOCUMENT_INTELLIGENCE |
Document AI で使用する予定のスキーマ |
USAGE |
Document AI で使用する予定のスキーマ |
Document AI を使用して処理パイプラインを作成し、情報を抽出する権限¶
Document AI を使用して処理パイプラインを作成し、情報を抽出するには、上記の Document AI ビルドの準備に必要なすべての権限と、以下の権限を持つロールを使用する必要があります。
権限 |
オブジェクト |
---|---|
CREATE STAGE |
Document AI で使用する予定のスキーマ |
CREATE STREAM |
Document AI で使用する予定のスキーマ |
CREATE TABLE |
Document AI で使用する予定のスキーマ |
CREATE TASK |
Document AI で使用する予定のスキーマ |
CREATE VIEW |
Document AI で使用する予定のスキーマ |
EXECUTE TASK |
タスクを使用して処理パイプラインを作成するために使用する予定のアカウント |
Document AI ユーザーに必要な役割と権限を付与します¶
次の例では、 Document AI で作業するために必要なすべてのロールと権限を付与する方法を説明します。
注釈
必要なロールと権限を付与する前に、 Document AI 用のウェアハウス、データベース、スキーマが準備されていることを確認します。
doc_ai_role
ロールを作成し、このロールに SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR データベースロールを付与するには、以下のコマンドを実行します。
USE ROLE ACCOUNTADMIN;
CREATE ROLE doc_ai_role;
GRANT DATABASE ROLE SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR TO ROLE doc_ai_role;
Document AI で使用するデータベース、スキーマ、およびX-Smallウェアハウスを作成するには、以下のコマンドを実行します。
CREATE DATABASE doc_ai_db;
CREATE SCHEMA doc_ai_db.doc_ai_schema;
CREATE WAREHOUSE doc_ai_wh;
ウェアハウスの使用権限と操作権限を doc_ai_role
ロールに付与するには、以下のコマンドを実行します。
GRANT USAGE, OPERATE ON WAREHOUSE doc_ai_wh TO ROLE doc_ai_role;
doc_ai_role
ロールがデータベースとスキーマを使用できるようにするには、以下のコマンドを実行します。
GRANT USAGE ON DATABASE doc_ai_db TO ROLE doc_ai_role;
GRANT USAGE ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
doc_ai_role
ロールが抽出用のドキュメントを格納するステージを作成できるようにするには、以下のコマンドを実行します。
GRANT CREATE STAGE ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
doc_ai_role
ロールがモデルビルド( DOCUMENT_INTELLIGENCE クラスのインスタンス)を作成できるようにするには、以下のコマンドを実行します。
GRANT CREATE SNOWFLAKE.ML.DOCUMENT_INTELLIGENCE ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
doc_ai_role
ロールが 処理パイプライン を作成できるようにするには、以下のコマンドを実行します。
GRANT CREATE STREAM, CREATE TABLE, CREATE TASK, CREATE VIEW ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
GRANT EXECUTE TASK ON ACCOUNT TO ROLE doc_ai_role;
doc_ai_user
ユーザー doc_ai_role
にロールを付与するには、次のコマンドを実行します。
GRANT ROLE doc_ai_role TO USER doc_ai_user;