すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:パッケージに基づくクロスプロジェクトリソースアクセス

最終更新日:Jan 10, 2025

クロスプロジェクトまたはクロスアカウントのリソースアクセスシナリオでは、アカウントがプロジェクトに追加されていない場合、アカウントはプロジェクト内のリソースまたはオブジェクトにアクセスできません。 MaxComputeは、パッケージベースのアクセス制御メカニズムを提供します。 このメカニズムを使用すると、プロジェクト内のリソースとリソースに対するアクセス許可をパッケージ化し、別のプロジェクトの所有者にパッケージのインストールを許可できます。 これにより、ユーザーまたはロールはプロジェクト全体のリソースにアクセスできます。 このトピックでは、パッケージベースのアクセス制御メカニズムについて説明し、パッケージベースのアクセス制御メカニズムを実装する方法の例を示します。

背景情報

このトピックでは、Alibaba Cloudアカウントが複数のMaxComputeプロジェクトを所有しており、Project Aの特定のテーブル、リソースファイル、およびユーザー定義関数 (UDF) を、このアカウントの他のプロジェクトまたは別のAlibaba Cloudアカウント内の他のプロジェクトと共有する必要があります。 次のいずれかの方法を使用して、他のプロジェクトとリソースを共有できます。

  • 他のプロジェクトのユーザーをプロジェクトAに追加し、各ユーザーにリソースへのアクセス権限を付与します。 この方法は複雑である。 プロジェクト間のリソースアクセスシナリオでは、この方法を使用しないことを推奨します。 この方法は、プロジェクトチームのメンバーにきめ細かいリソースアクセス制御が必要な場合にのみ使用することをお勧めします。 認証コマンドの構文の詳細については、「ACLベースのアクセス制御」をご参照ください。

  • パッケージベースのアクセス制御メカニズムを使用します。

    パッケージベースのアクセス制御メカニズムは、プロジェクト間でデータとリソースを共有するために使用されます。 プロジェクトAの所有者は、他のプロジェクトが使用する必要のあるリソースとそのリソースに対する操作権限をパッケージ化し、他のプロジェクトの所有者にパッケージのインストールを許可します。 パッケージがインストールされた後、他のプロジェクトの所有者は、プロジェクト内のユーザーがパッケージ内のリソースにアクセスすることを許可するかどうかを判断できます。 次の図は、パッケージベースのアクセス制御メカニズムの実装方法を示しています。

    Package使用流程

上の図は、パッケージベースのアクセス制御メカニズムに、パッケージ作成者とパッケージユーザーの2つのエンティティが含まれることを示しています。 次の表に、エンティティとエンティティが実行できる操作に関する情報を示します。

エンティティ

説明

実行可能な操作

エンティティ役割

操作プラットフォーム

パッケージ作成者

パッケージ作成者が属するプロジェクトは、共有するリソースを提供します。 パッケージ作成者は、共有する必要があるプロジェクトリソースとリソースに対する操作権限をパッケージ化し、パッケージユーザーにパッケージのインストールとパッケージ内のリソースへのアクセスを許可します。

パッケージの作成

リソースが属するプロジェクトの所有者、またはリソースが属するプロジェクトのプロジェクトレベルの役割Super_Administratorが割り当てられているユーザー

パッケージへのリソースの追加

パッケージからリソースを削除

パッケージを使用する権限を付与

プロジェクトからパッケージへのアクセス許可を取り消す

パッケージの削除

パッケージの表示

パッケージの詳細を表示

パッケージユーザー

パッケージユーザーが属するプロジェクトは、パッケージ内のリソースにアクセスします。 パッケージユーザーがパッケージ作成者によって作成されたパッケージをインストールした後、パッケージユーザーはパッケージ内のリソースに直接アクセスできます。

パッケージのインストール

リソースを使用するプロジェクトの所有者、またはリソースを使用するプロジェクトのプロジェクトレベルの役割Super_AdministratorまたはAdminが割り当てられているユーザー

インストールされたパッケージの詳細を表示

ユーザーまたはロールによるパッケージへのアクセス許可

パッケージのアンインストール

制限事項

パッケージベースのアクセス制御メカニズムを使用する前に、次の制限事項に注意してください。

  • 最大1,000個のリソースをパッケージに追加できます。

  • 最大100,000個のMaxComputeプロジェクトに対してパッケージをインストールできます。

  • MaxComputeプロジェクトには、別のMaxComputeプロジェクトに最大100個のパッケージをインストールできます。

  • MaxComputeプロジェクトには、最大100,000個のパッケージを作成できます。

  • MaxComputeプロジェクトには、最大100,000個のパッケージをインストールできます。

パッケージの作成

パッケージ作成者は、MaxComputeプロジェクトにパッケージを作成します。

  • 構文

    create package <package_name>;
  • パラメーター

    パラメーター

    必須

    説明

    package_name

    必須

    パッケージの名前。プロジェクト内で一意です。 名前は1 ~ 128文字で、英数字、アンダースコア (_) を使用できます。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • この例では、Alibaba CloudアカウントBob@aliyun.comはtest_project_aプロジェクトの所有者であり、他のプロジェクトがtest_project_aプロジェクト内の特定のリソースにアクセスする権限を付与する必要があります。 パッケージを作成します。 サンプルコマンド:

    Go to the test_project_a project by using the Alibaba Cloud account Bob@aliyun.com. 
    use test_project_a; 
    -- Create a package. 
    create package datashare;

パッケージにリソースを追加する

パッケージ作成者は、パッケージユーザーが必要とするリソースを、作成されたパッケージに追加します。

  • 構文

    add <object_type> <object_name> to package <package_name> [with privileges <privileges>];
  • 制限事項

    プロジェクトをパッケージに追加することはできません。

  • 注意事項

    リソースをパッケージに追加すると、リソースはスナップショットとしてパッケージ化されません。 リソースがパッケージに追加された後にリソースデータが更新された場合、パッケージユーザーは最新のリソースデータにアクセスします。

  • パラメーター

    パラメーター

    必須

    説明

    object_type

    必須

    パッケージに追加するオブジェクトの型。 一度に指定できるオブジェクトタイプは1つだけです。

    オブジェクトタイプの詳細については、「権限」をご参照ください。

    object_name

    必須

    パッケージから削除するオブジェクトの名前。 次のいずれかの方法を使用して、オブジェクト名を取得できます。

    • テーブルまたはビュー名: MaxComputeクライアントshow tables; コマンドを実行して、テーブルまたはビュー名を取得できます。

    • リソースファイル名: MaxComputeクライアントlist resources; コマンドを実行し、リソースファイル名を取得します。

    • 関数: MaxComputeクライアントlist functions; コマンドを実行して、関数名を取得できます。

    • インスタンス名: MaxComputeクライアントshow instances; コマンドを実行してインスタンス名を取得できます。

    説明
    • パッケージにリソースを追加するときは、アスタリスク (*) を使用して追加するリソースを指定できます。 たとえば、add table * to package package_name; コマンドを実行して、すべてのテーブルをパッケージに追加できます。

    • リソースをパッケージに追加するときは、プロジェクト名. リソース名形式でリソース名を指定しないでください。 たとえば、プロジェクトaのtableという名前のテーブルをパッケージに追加する場合は、リソース名としてA.tableを指定しないでください。 リソース名としてtableを指定する必要があります。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

    privileges

    選択可能

    パッケージ内のリソースに対する操作権限。 このパラメーターを指定しない場合、リソースに対する [読み取り] 、[説明] 、および [選択] 権限がデフォルトでパッケージに追加されます。 リソースとリソースに対する操作権限は不可分であり、パッケージに追加した後に更新することはできません。 パッケージ内のリソースまたはこれらのリソースに対する操作権限を更新する場合は、パッケージ内のリソースを削除してから、更新したリソースおよびリソースに対する操作権限を再度パッケージに追加する必要があります。

    操作権限の詳細については、「権限」をご参照ください。

  • 作成したパッケージに、リソースファイルudtf.jarとtest_project_aプロジェクトのテーブルsale_detailおよびbank_dataを追加します。 サンプルコマンド:

    -- Add resources to the package that you created. 
    add Resource udtf.jar to package datashare;
    add Table sale_detail to package datashare;

パッケージからリソースを削除する

パッケージ作成者は、作成されたパッケージからリソースを削除します。

  • 構文

    remove <object_type> <object_name> from package <package_name>; 
  • パラメーター

    パラメーター

    必須

    説明

    object_type

    必須

    パッケージから削除するオブジェクトの型。 一度に削除できるオブジェクトは1つだけです。

    オブジェクトタイプの詳細については、「権限」をご参照ください。

    object_name

    必須

    パッケージから削除するオブジェクトの名前。 次のいずれかの方法を使用して、オブジェクト名を取得できます。

    • テーブルまたはビュー名: MaxComputeクライアントshow tables; コマンドを実行して、テーブルまたはビュー名を取得できます。

    • リソースファイル名: MaxComputeクライアントlist resources; コマンドを実行して、リソースファイル名を取得できます。

    • 関数: MaxComputeクライアントlist functions; コマンドを実行して、関数名を取得できます。

    • インスタンス名: MaxComputeクライアントshow instances; コマンドを実行してインスタンス名を取得できます。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • datashareパッケージからsale_detailテーブルを削除します。 サンプルコマンド:

    -- Remove the sale_detail table from the datashare package. 
    remove Table sale_detail from package datashare;

プロジェクトにパッケージを使用する権限を付与する

プロジェクトのパッケージ作成者は、作成されたパッケージを他のプロジェクトに使用する権限を与えます。

  • 構文

    allow project <project_name> to install package <package_name> [using label <number>];
  • パラメーター

    パラメーター

    必須

    説明

    project_name

    必須

    パッケージの使用を許可するMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

    number

    選択可能

    このパラメーターは、ラベルベースのアクセス制御ポリシーを追加するために使用されます。 このパラメーターは、パッケージユーザーがアクセスできるデータの機密レベルを指定します。 承認されたMaxComputeプロジェクトは、機密レベルがnumberで指定されたレベル以下のパッケージデータにのみアクセスできます。 このパラメーターを指定しない場合、感度レベルはデフォルトで0です。

    ラベルベースのアクセス制御の詳細については、「ラベルベースのアクセス制御」をご参照ください。

  • test_project_bを承認して、test_project_aプロジェクトで作成されたdatashareパッケージをインストールします。 サンプルコマンド:

    -- Authorize the test_project_b project to install the datashare package. 
    allow project test_project_b to install package datashare;

プロジェクトからパッケージへのアクセス権限を取り消す

パッケージ作成者は、プロジェクトのパッケージに対するアクセス許可を取り消します。

  • 構文

    disallow project <project_name> to install package <package_name>;
  • パラメーター

    パラメーター

    必須

    説明

    project_name

    必須

    パッケージに対するアクセス許可を取り消すMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • test_project_bプロジェクトからtest_project_aプロジェクトのdatashareパッケージをインストールする権限を取り消します。 サンプルコマンド:

    -- Revoke permissions to install the datashare package from the test_project_b project. 
    disallow project test_project_b to install package datashare;

パッケージの削除

パッケージ作成者は、パッケージを削除する。

  • 構文

    delete|drop package <package_name>;
  • 注意事項

    パッケージを削除すると、このパッケージを使用して付与された権限に関する情報が消去されます。

  • パラメーター

    パラメーター

    必須

    説明

    package_name

    必須

    削除するパッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • test_project_aプロジェクトで作成されたdatashareパッケージを削除します。 サンプルコマンド:

    -- Delete the datashare package. 
    drop package datashare;

パッケージの表示

パッケージ作成者は、MaxComputeプロジェクトで作成またはインストールされたパッケージを表示します。

  • 構文

    show packages;
  • test_project_aプロジェクトで作成またはインストールされたパッケージに関する情報を表示します。 サンプルコマンド:

    -- View packages. 
    show packages;

    返される結果には、次の情報が含まれます。

    • PackageName: 作成またはインストールされたパッケージの名前。

    • CreateTime: パッケージが作成された時刻。

    • SourceProject: パッケージが属するMaxComputeプロジェクトの名前。

    • InstallTime: パッケージがインストールされた時刻。

    • ステータス: パッケージのステータス。

    +-------------+--------------------------+
    | PackageName | CreateTime               |
    +-------------+--------------------------+
    | datashare   | 2021-12-28T18:10:39+0800 |
    +-------------+--------------------------+
    +-------------+--------------------+--------------------------+--------+
    | PackageName | SourceProject      | InstallTime              | Status |
    +-------------+--------------------+--------------------------+--------+
    | systables   | information_schema | 2020-11-24T14:11:23+0800 | OK     |
    +-------------+--------------------+--------------------------+--------+

パッケージの詳細を表示する

パッケージ作成者は、MaxComputeプロジェクトで作成されたパッケージの詳細を表示します。

  • 構文

    describe package <package_name>;
  • パラメーター

    パラメーター

    必須

    説明

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • test_project_aプロジェクトのdatashareパッケージに含まれているリソースと権限を表示します。 サンプルコマンド:

    -- View the details of the datashare package. 
    describe package datashare;

    返される結果には、次の情報が含まれます。

    • CreateTime: パッケージが作成された時刻。

    • PackageName: パッケージの名前。

    • SourceProject: パッケージが属するMaxComputeプロジェクトの名前。

    • ObjectType: パッケージ内のオブジェクトの型。

    • ObjectName: パッケージ内のオブジェクトの名前。

    • ObjectPrivileges: パッケージ内のオブジェクトに対する権限。

    • ProjectName: パッケージのインストールを許可されているプロジェクト。

    • UserLabel: ユーザーラベル。

    CreateTime:         2021-12-28T18:10:39+0800
    PackageName:        datashare
    SourceProject:      test_project_a
    
    Object List
    +--------------+------------------------------------------+------------------+
    | ObjectType   | ObjectName                               | ObjectPrivileges |
    +--------------+------------------------------------------+------------------+
    | RESOURCE     | udtf.jar                                 | Read             |
    +--------------+------------------------------------------+------------------+
    | TABLE        | sale_detail                              | Describe,Select  |
    +--------------+------------------------------------------+------------------+
    
    Allowed Project List
    +-----------------+-----------+
    | ProjectName     | UserLabel |
    +-----------------+-----------+
    | test_project_b  | 0         |
    +-----------------+-----------+

パッケージのインストール

パッケージユーザーは、MaxComputeプロジェクトにパッケージをインストールします。

  • 構文

    install package <project_name>.<package_name>;
  • 注意事項

    パッケージをインストールした後、show packages; コマンドを実行してインストールされているパッケージを表示し、describe package <package_name>; コマンドを実行してパッケージ内のリソースとアクセス許可を表示します。

  • パラメーター

    パラメーター

    必須

    説明

    project_name

    必須

    パッケージが属するMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • test_project_bプロジェクトにtest_project_aプロジェクトのdatashareパッケージをインストールします。 この例では、Alibaba CloudアカウントAmy@aliyun.comがtest_project_bプロジェクトの所有者です。 サンプルコマンド:

    -- Go to the test_project_b project by using the Alibaba Cloud account Amy@aliyun.com. 
    use test_project_b; 
    -- Install the datashare package. 
    install package test_project_a.datashare;

インストールされたパッケージの詳細を表示する

パッケージユーザーは、MaxComputeプロジェクトにインストールされているパッケージの詳細を表示します。

  • 構文

    describe package <project_name>.<package_name>;
  • パラメーター

    パラメーター

    必須

    説明

    project_name

    必須

    パッケージが属するMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • test_project_bプロジェクトにインストールされているdatashareパッケージのリソースと権限を表示します。 サンプルコマンド:

    -- View the details of the datashare package. 
    describe package test_project_a.datashare;

    返される結果には、次の情報が含まれます。

    • CreateTime: パッケージが作成された時刻。

    • PackageName: パッケージの名前。

    • SourceProject: パッケージが属するMaxComputeプロジェクトの名前。

    • ObjectType: パッケージ内のオブジェクトの型。

    • ObjectName: パッケージ内のオブジェクトの名前。

    • ObjectPrivileges: パッケージ内のオブジェクトに対する権限。

    CreateTime:         2021-12-28T18:10:39+0800
    PackageName:        datashare
    SourceProject:      test_project_a
    
    Object List
    +--------------+------------------------------------------+------------------+
    | ObjectType   | ObjectName                               | ObjectPrivileges |
    +--------------+------------------------------------------+------------------+
    | RESOURCE     | udtf.jar                                 | Read             |
    +--------------+------------------------------------------+------------------+
    | TABLE        | sale_detail                              | Describe,Select  |
    +--------------+------------------------------------------+------------------+

パッケージへのアクセスをユーザーまたはロールに許可する

パッケージユーザーは、パッケージがインストールされているMaxComputeプロジェクトのパッケージにアクセスする権限をユーザーまたはロールに付与します。

インストールされたパッケージは、MaxComputeの独立したオブジェクトのタイプです。 パッケージ内のリソースにアクセスする場合は、パッケージに対する読み取り権限が必要です。 読み取り権限がない場合、Super_AdministratorまたはAdminロールが割り当てられているプロジェクト所有者とユーザーは、アクセス制御リスト (ACL) を使用して読み取り権限を付与できます。 ACLベースのアクセス制御の詳細については、「ACLベースのアクセス制御」をご参照ください。

  • 構文

    grant <actions> on package <project_name>.<package_name> to {USER|ROLE} <name>;
  • 注意事項

    読み取り権限がユーザーまたはロールに付与された後、ユーザーまたはロールは、パッケージがインストールされているプロジェクト内でのみ、パッケージ内のリソースにアクセスできます。 パッケージのアクセス許可を詳細に管理する方法の詳細については、「パッケージのアクセス制御」をご参照ください。

  • パラメーター

    パラメーター

    必須

    説明

    actions

    必須

    パッケージ内のリソースに対する操作権限。 値を [読み取り] に設定します。

    project_name

    必須

    パッケージが属するMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

    name

    必須

    アクセス権限を付与するユーザーアカウントまたはロールの名前。 1回の権限付与操作に指定できるユーザーアカウントまたはロールは1つだけです。

    MaxComputeクライアントlist users; またはlist roles; コマンドを実行して、ユーザーアカウントまたはロールの名前を取得できます。

  • この例では、BellaはAlibaba CloudアカウントAmy@aliyun.comのRAMユーザーです。 datashareパッケージへのアクセスをBellaに許可します。 サンプルコマンド:

    -- Authorize Bella to access the datashare package. 
    grant Read on package test_project_a.datashare to user RAM$Amy@aliyun.com:Bella;

ユーザーまたはロールからパッケージへのアクセス権限を取り消す

パッケージユーザーは、パッケージがインストールされているMaxComputeプロジェクトのユーザーまたはロールから、パッケージに対するアクセス許可を取り消します。

  • 構文

    revoke <actions> on package <project_name>.<package_name> from {USER|ROLE} <name>;
  • パラメーター

    パラメーター

    必須

    説明

    actions

    必須

    パッケージ内のリソースに対する操作権限。 値を [読み取り] に設定します。

    project_name

    必須

    パッケージが属するMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

    name

    必須

    パッケージに対するアクセス許可を取り消すユーザーアカウントまたはロールの名前。 1回の失効操作に対して指定できるユーザーアカウントまたはロールは1つだけです。

    MaxComputeクライアントlist users; またはlist roles; コマンドを実行して、ユーザーアカウントまたはロールの名前を取得できます。

  • Bellaからパッケージのアクセス許可を取り消します。 サンプルコマンド:

    -- Revoke the access permissions on the package from Bella. 
    revoke Read on package test_project_a.datashare from user RAM$Amy@aliyun.com:Bella;

パッケージのアンインストール

パッケージユーザーは、MaxComputeプロジェクトにインストールされているパッケージをアンインストールします。

  • 構文

    uninstall package <project_name>.<package_name>;
  • パラメーター

    パラメーター

    必須

    説明

    project_name

    必須

    パッケージが属するMaxComputeプロジェクトの名前。

    MaxComputeプロジェクトの名前を表示するには、 MaxComputeコンソール

    上部のナビゲーションバーで、リージョンを選択します。 次に、[プロジェクト管理] タブでMaxComputeプロジェクトの名前を表示します。

    package_name

    必須

    パッケージの名前。

    MaxComputeクライアントshow packages; コマンドを実行して、作成したパッケージに関する情報を取得できます。

  • test_project_bプロジェクトにインストールされているdatashareパッケージをアンインストールします。 サンプルコマンド:

    -- Uninstall the datashare package. 
    uninstall package test_project_a.datashare;

使用例

この例では、Alibaba CloudアカウントBob@aliyun.comがtest_project_aプロジェクトの所有者です。 Alibaba CloudアカウントAmy@aliyun.comは、test_project_bプロジェクトの所有者です。 ビジネス上の問題に対処するために、test_project_aプロジェクトのudtf.jarリソースファイルとsale_detailテーブルをtest_project_bと共有します。 また、test_project_bプロジェクトのRAMユーザーAmy@aliyun.com:Bellaがリソースにアクセスする必要があります。 MaxComputeクライアントで次の手順を実行します。

  1. test_project_aプロジェクトに移動し、Alibaba CloudアカウントBob@aliyun.comを使用してパッケージを作成します。

    Go to the test_project_a project by using the Alibaba Cloud account Bob@aliyun.com. 
    use test_project_a; 
    -- Create a package. 
    create package datashare;
  2. Alibaba CloudアカウントBob@aliyun.comを使用して、作成されたパッケージにリソースを追加します。

    -- Add resources to the package that you created. 
    add Resource udtf.jar to package datashare;
    add Table sale_detail to package datashare;
  3. Alibaba CloudアカウントBob@aliyun.comを使用して、test_project_bプロジェクトにパッケージのインストールを許可します。

    -- Authorize the test_project_b project to install the datashare package. 
    allow project test_project_b to install package datashare;
  4. test_project_bプロジェクトに移動し、Alibaba CloudアカウントAmy@aliyun.comを使用してパッケージをインストールします。

    -- Go to the test_project_b project. 
    use test_project_b;
    -- Install the datashare package. 
    install package test_project_a.datashare; 
    -- View the resources of the package. 
    describe package test_project_a.datashare; 
    -- The following result is returned: 
    CreateTime:         2021-12-28T18:10:39+0800
    PackageName:        datashare
    SourceProject:      test_project_a
    
    Object List
    +--------------+------------------------------------------+------------------+
    | ObjectType   | ObjectName                               | ObjectPrivileges |
    +--------------+------------------------------------------+------------------+
    | RESOURCE     | udtf.jar                                 | Read             |
    +--------------+------------------------------------------+------------------+
    | TABLE        | sale_detail                              | Describe,Select  |
    +--------------+------------------------------------------+------------------+
  5. Alibaba CloudアカウントAmy@aliyun.comを使用して、Bellaにパッケージへのアクセスを許可します。

    -- Authorize Bella to access the package. 
    grant Read on package test_project_a.datashare to user RAM$Amy@aliyun.com:Bella; 

次のステップ

パッケージを作成してインストールしたら、ビジネス要件に基づいて次の操作を実行できます。

関連ドキュメント