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

DataWorks:(上級) RAMロールを使用してDataWorksコンソールにログオンし、DataWorksを使用する

最終更新日:Jan 11, 2025

DataWorksでは、RAMユーザーが特定のRAMロールを引き受けて、そのRAMロールを使用してDataWorksにログオンし、開発操作を実行できます。このトピックでは、ロールベースのシングルサインオン(SSO)を使用してDataWorksコンソールにログオンし、DataWorksを使用する方法について説明します。

背景情報

DataWorksコンソールにログオンするには、次のいずれかの方法を使用できます。

  • Alibaba CloudアカウントまたはRAMユーザーを使用する

    Alibaba CloudアカウントまたはRAMユーザーとパスワードを使用して、DataWorksコンソールにログオンし、DataWorksを使用できます。この場合、Alibaba CloudアカウントまたはRAMユーザーはDataWorksワークスペースのメンバーになり、DataWorksの機能を使用するための権限が付与されます。

  • ロールベースのSSOを使用する

    企業のセキュリティに対する規制要件が厳しくなるにつれて、ロールベースのSSOを使用してDataWorksコンソールにログオンし、DataWorksを使用することを好む企業もあります。この場合、RAMロールはDataWorksワークスペースのメンバーになります。 RAMロールを引き受けるユーザーは、DataWorksコンソールへのログオンに使用するAlibaba CloudアカウントまたはRAMユーザーと同じ権限を持ちます。ロールの詳細については、「RAMロールの概要」および「概要」をご参照ください。

注意事項

  • ロールベースのSSOを使用してアクセスできるのは、[maxcompute] または [hologres] コンピューティングエンジンに関連付けられているDataWorksワークスペースのみです。

  • RAMユーザーまたはRAMロールを使用してユーザーに必要な権限を付与するには、AliyunRAMFullAccess ポリシーをRAMユーザーまたはRAMロールにアタッチする必要があります。詳細については、「RAMユーザーに権限を付与する」をご参照ください。

手順 1:RAMロールを作成する

  1. [RAMコンソール] にログオンします。

    Alibaba Cloudアカウントとパスワードを使用してRAMコンソールにログオンします。

  2. 左側のナビゲーションペインで、[ID] > [ロール] を選択します。

  3. RAMロールを作成します。

    [ロール] ページで、[ロールの作成] をクリックし、画面の指示に従ってRAMロールを作成します。

    • RAMユーザーがAlibaba Cloud管理コンソールでIDを切り替えることによってRAMロールを引き受けるようにするには、[信頼エンティティの選択] で [alibaba Cloudアカウント] を選択します。詳細については、「信頼できるAlibaba CloudアカウントのRAMロールを作成する」をご参照ください。

    • オンプレミスのIDプロバイダー(IdP)がRAMロールを引き受けるようにするには、[信頼エンティティの選択] で [idp] を選択します。詳細については、「信頼できるIdPのRAMロールを作成する」をご参照ください。

手順 2:RAMロールの信頼ポリシーを定義する

[ロール] ページで、RAMロールの名前をクリックします。表示されるページで、[信頼ポリシー] タブをクリックし、RAMロールの信頼ポリシーを定義します。信頼ポリシードキュメントには2つの部分があります。最初の部分では、RAMロールをRAMユーザーまたはオンプレミスのIdPが引き受けることができることを定義します。2番目の部分では、RAMロールをDataWorksサービスが引き受けることができることを定義します。次のセクションでは、さまざまなシナリオにおけるRAMロールの信頼ポリシーについて説明します。ビジネス要件に基づいて信頼ポリシーを選択できます。

image

説明

以下のポリシードキュメントのUIDは、Alibaba CloudアカウントのUIDに置き換え、IDPは選択したオンプレミスIdPの名前に置き換える必要があります。

シナリオ 1:RAMロールをRAMユーザーが引き受ける

RAMユーザーがRAMロールを引き受けてDataWorksを使用するようにするには、RAMロールに次のポリシードキュメントを設定します。

説明

以下のポリシーでは、指定されたRAMユーザーとDataWorksサービスが、Security Token Service(STS)トークンを取得してRAMロールを引き受けることが許可されています。 AssumeRole操作の詳細については、「AssumeRole」をご参照ください。

{
    "Statement": [
        {
            // RAM ユーザーがロールを引き受けることを許可します。
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::UID:root"
                ]
            }
        },
        {
            // DataWorks サービスがロールを引き受けることを許可します。
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "dataworks.aliyuncs.com"
                ]
            }
        }
    ],
    "Version": "1"
}

シナリオ 2:RAMロールをオンプレミスのIdPが引き受ける

オンプレミスのIdPがRAMロールを引き受けてDataWorksを使用するようにするには、RAMロールに次のポリシードキュメントを設定します。

{
   "Statement": [
        {
            // オンプレミスの IdP がロールを引き受けることを許可します。
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "saml:recipient": "https://signin.aliyun.com/saml-role/sso"
                }
            },
            "Effect": "Allow",
            "Principal": {
                "Federated": [
                    "acs:ram::UID:saml-provider/IDP"
                ]
            }
        },
        {
            // DataWorks サービスがロールを引き受けることを許可します。
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "dataworks.aliyuncs.com"
                ]
            }
        }
    ],
    "Version": "1"
}

手順 3:RAMロールを引き受ける必要があるRAMユーザーに AliyunSTSAssumeRoleAccess ポリシーをアタッチする

RAMユーザーがRAMロールを引き受けるようにするには、RAMユーザーに AliyunSTSAssumeRoleAccess ポリシーをアタッチする必要があります。これにより、RAMユーザーはSTSの AssumeRole 操作を呼び出して、RAMロールのSTSトークンを取得できます。詳細については、「RAMユーザーに権限を付与する」をご参照ください。

説明

オンプレミスのIdPがRAMロールを引き受ける場合は、この手順を実行する必要はありません。

手順 4:RAMロールを引き受けるRAMユーザーを使用してDataWorksコンソールにログオンする

この手順の操作を実行すると、RAMロールとしてDataWorksを使用できます。ロールベースのSSOの詳細については、「概要」をご参照ください。

  1. RAMユーザーとして [DataWorksコンソール] にログオンします。

  2. IDを切り替えます。

    DataWorksコンソールにログオンした後、右上隅のユーザープロファイルにポインターを移動し、[IDの切り替え] を選択してRAMロールに切り替えます。

追加情報

ワークスペースを作成した後、以下の操作を実行できます。ワークスペースの作成方法については、「ワークスペースを作成する」をご参照ください。

  • データ開発のメンバーとして、RAMロールをDataWorksワークスペースに追加します。

    DataWorksワークスペース管理者は、データ開発のメンバーとしてRAMロールをDataWorksワークスペースに追加できます。詳細については、「RAMユーザーをワークスペースにメンバーとして追加し、メンバーにロールを割り当てる」をご参照ください。

  • 本番環境でMaxComputeタスクをスケジュールするためのIDとしてRAMロールを指定します。

    MaxComputeデータソースを追加する 際に、本番環境でMaxComputeタスクをスケジュールするためのアクセスIDとしてRAMロールを指定できます。RAMロールをスケジューリングアクセスIDとして指定する場合は、他のサービスでRAMロールを使用せず、すべてのMaxComputeタスクがスケジューリング専用のResource Groupを使用して実行されるようにすることをお勧めします。