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

E-MapReduce:JindoFS OSS資格情報プロバイダーを使用する

最終更新日:Jan 11, 2025

SmartData 3.4.0 以降では、JindoFS OSS クレデンシャルプロバイダーがサポートされています。 JindoFS OSS クレデンシャルプロバイダーを使用すると、暗号化された AccessKey ペアをファイルに保存できます。 これにより、AccessKey ペアの漏洩を防ぐことができます。

制限

JindoRangerCredentialsProvider と AssumeRoleStsCredentialsProvider は、SmartData 3.8.0 以降でのみ使用できます。

JindoFS OSS資格情報プロバイダーを構成する

  1. SmartDataサービスページに移動します。
    1. Alibaba Cloud EMRコンソールにログインします。
    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択 し、ビジネス要件に基づいてリソースグループを選択します
    3. [クラスター管理] タブをクリックします。
    4. [クラスター管理] ページで、クラスターを見つけて、[アクション]列の [詳細] をクリックします。
    5. 表示されるページの左側のナビゲーションペインで、[クラスターサービス] > [smartdata] を選択します。
    6. [構成] タブをクリックします。
  2. 構成方法に基づいて、構成を追加または変更します。
    構成方法説明
    グローバル構成(すべてのバケット用)[構成フィルター]セクションで、fs.jfs.cache.oss.credentials.provider パラメーターを検索し、必要なAliyunCredentialsProviderの実装クラスをパラメーター値の末尾に追加します。 複数のクラスを追加する場合は、カンマ(,)で区切ります。 システムは、有効なクレデンシャル値が見つかるまで、クレデンシャル値を順番に読み取ります。 このパラメーターの構成の詳細については、グローバル構成をご参照ください。

    com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider、com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider、com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider。

    バケットレベルの構成構成を追加するには、次の手順を実行します。
    1. [smartdata-site] タブの右上隅にある [カスタム構成] をクリックします。
      重要 JindoRangerCredentialsProviderを使用する場合は、[namespace] タブで構成を追加する必要があります。
    2. [構成項目の追加] ダイアログボックスで、キーfs.jfs.cache.oss.bucket.XXX.credentials.provider に設定し、 を com.aliyun.emr.fs.auth.AliyunCredentialsProvider の必要な実装クラスに設定します。複数のクラスを追加する場合は、コンマ (,) で区切ります。システムは、有効な資格情報の値が見つかるまで、資格情報の値を順番に読み取ります。このパラメーターの構成の詳細については、バケットレベルの構成 をご参照ください。

      例: com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider, com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider, com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider.

      説明 fs.jfs.cache.oss.bucket.XXX.credentials.provider の XXX は、OSS バケットの名前を示します。
    3. [OK] をクリックします。
  3. 構成を保存します。
    1. [サービス構成]セクションの右上隅にある [保存] をクリックします。
    2. [変更の確認] ダイアログボックスで、[説明] を指定し、[構成の自動更新] をオンにします。
    3. [OK] をクリックします。

グローバル構成

ビジネス要件に基づいて、さまざまな資格情報プロバイダーを構成できます。次の表は、サポートされている資格情報プロバイダーについて説明しています。

タイプ説明
TemporaryAliyunCredentialsProviderこのクレデンシャルプロバイダーは、有効期限のある AccessKey ペアと有効期限のあるセキュリティトークンを使用して OSS にアクセスするシナリオに適しています。
このクレデンシャルプロバイダーを使用するには、com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProviderfs.jfs.cache.oss.credentials.provider パラメーターの値に追加し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • fs.jfs.cache.oss.accessKeyId: OSSバケットへのアクセスに使用する AccessKey ID。
  • fs.jfs.cache.oss.accessKeySecret: OSSバケットへのアクセスに使用する AccessKey シークレット。
  • fs.jfs.cache.oss.securityToken: OSSバケットへのアクセスに使用する一時的なセキュリティトークン。
SimpleAliyunCredentialsProviderこのクレデンシャルプロバイダーは、有効期限の長い AccessKey ペアを使用して OSS にアクセスするシナリオに適しています。
このクレデンシャルプロバイダーを使用するには、com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProviderfs.jfs.cache.oss.credentials.provider パラメーターの値に追加し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • fs.jfs.cache.oss.accessKeyId: OSSバケットへのアクセスに使用する AccessKey ID。
  • fs.jfs.cache.oss.accessKeySecret: OSSバケットへのアクセスに使用する AccessKey シークレット。
EnvironmentVariableCredentialsProviderこのクレデンシャルプロバイダーを使用するには、環境変数ファイルで次のパラメーターを構成する必要があります。
  • fs.jfs.cache.oss.credentials.provider: このパラメーターを com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider に設定します。
  • ALIYUN_ACCESS_KEY_ID: OSSバケットへのアクセスに使用する AccessKey ID。
  • ALIYUN_ACCESS_KEY_SECRET: OSSバケットへのアクセスに使用する AccessKey シークレット。
  • ALIYUN_SECURITY_TOKEN: OSSバケットへのアクセスに使用する一時的なセキュリティトークン。
    説明 このパラメーターは、有効期限のあるトークンを構成する場合にのみ必要です。
JindoCommonCredentialsProviderこれは、共通のクレデンシャルプロバイダーです。 必要なパラメーターを構成した後、JindoOSS および JindoFS でこのクレデンシャルプロバイダーを使用できます。
このクレデンシャルプロバイダーを使用するには、com.aliyun.emr.fs.auth.JindoCommonCredentialsProviderfs.jfs.cache.oss.credentials.provider パラメーターの値に追加し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • jindo.common.accessKeyId: OSSバケットへのアクセスに使用する AccessKey ID。
  • jindo.common.accessKeySecret: OSSバケットへのアクセスに使用する AccessKey シークレット。
  • jindo.common.securityToken: OSSバケットへのアクセスに使用する一時的なセキュリティトークン。
EcsStsCredentialsProviderこのクレデンシャルプロバイダーは、AccessKey ペアを必要としません。 パスワードなしモードで OSS にアクセスできます。

この資格情報プロバイダーを使用するには、com.aliyun.emr.fs.auth.EcsStsCredentialsProviderfs.jfs.cache.oss.credentials.provider パラメーターの値に追加する必要があります。

JindoRangerCredentialsProviderこのクレデンシャルプロバイダーは、Ranger でパラメーターを構成して OSS へのアクセスを制御するシナリオに適しています。

この資格情報プロバイダーを使用するには、com.aliyun.emr.fs.auth.JindoRangerCredentialsProviderfs.jfs.cache.oss.credentials.provider パラメーターの値に追加し、namespace.oss.permission.methodRanger[namespace] タブで、名前が 、値が のカスタム パラメーターを追加する必要があります。

説明 カスタムパラメーターを追加した後、Jindo Namespace Service を再起動する必要があります。 詳細については、Jindo Namespace Service の再起動をご参照ください。
AssumeRoleStsCredentialsProviderこのクレデンシャルプロバイダーは、RAM ロールを引き受ける一時的な AccessKey ペアを取得して OSS にアクセスするシナリオに適しています。
このクレデンシャルプロバイダーを使用するには、com.aliyun.emr.fs.auth.AssumeRoleStsCredentialsProviderfs.jfs.cache.oss.credentials.provider パラメーターの値に追加し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • assume.role.sts.accessKeyId: Security Token Service (STS) から取得した AccessKey ID。
  • assume.role.sts.accessKeySecret: STS から取得した AccessKey シークレット。
  • assume.role.sts.endpoint: STS のエンドポイント。 詳細については、エンドポイントをご参照ください。
  • assume.role.roleArn: RAM ロールの Alibaba Cloud Resource Name (ARN)。 ARN は、acs:ram::$accountID:role/$roleName の形式で指定します。 ARN の表示方法については、RAM ロールの ARN を表示する方法をご参照ください。
  • assume.role.roleSessionName: ロールセッションの名前。 これはカスタム構成項目です。 要件に基づいてこの構成項目を設定できます。 たとえば、この構成項目をユーザー名に設定できます。

バケットレベルの設定

ビジネス要件に基づいて、さまざまな資格情報プロバイダーを構成できます。次の表は、サポートされている資格情報プロバイダーについて説明しています。

タイプ説明
TemporaryAliyunCredentialsProviderこのクレデンシャルプロバイダーは、有効期限のあるAccessKeyペアと有効期限のあるセキュリティトークンを使用してOSSにアクセスするシナリオに適しています。
このクレデンシャルプロバイダーを使用するには、fs.jfs.cache.oss.bucket.XXX.credentials.provider パラメーターを com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider に設定し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • fs.jfs.cache.oss.bucket.XXX.accessKeyId: OSSバケットにアクセスするために使用されるAccessKey ID。
  • fs.jfs.cache.oss.bucket.XXX.accessKeySecret: OSSバケットにアクセスするために使用されるAccessKeyシークレット。
  • fs.jfs.cache.oss.bucket.XXX.securityToken: OSSバケットにアクセスするために使用される一時的なセキュリティトークン。
SimpleAliyunCredentialsProviderこのクレデンシャルプロバイダーは、有効期限の長い AccessKey ペアを使用して OSS にアクセスするシナリオに適しています。
このクレデンシャルプロバイダーを使用するには、fs.jfs.cache.oss.bucket.XXX.credentials.provider パラメーターを com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider に設定し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • fs.jfs.cache.oss.bucket.XXX.accessKeyId: OSSバケットへのアクセスに使用する AccessKey ID。
  • fs.jfs.cache.oss.bucket.XXX.accessKeySecret: OSSバケットへのアクセスに使用する AccessKey シークレット。
EnvironmentVariableCredentialsProviderこのクレデンシャルプロバイダーを使用するには、環境変数ファイルで次のパラメーターを構成する必要があります。
  • fs.jfs.cache.oss.bucket.XXX.credentials.provider: このパラメーターを com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider に設定します。
  • ALIYUN_ACCESS_KEY_ID: OSSバケットへのアクセスに使用する AccessKey ID。
  • ALIYUN_ACCESS_KEY_SECRET: OSSバケットへのアクセスに使用する AccessKey シークレット。
  • ALIYUN_SECURITY_TOKEN: OSSバケットへのアクセスに使用する一時的なセキュリティトークン。
    説明 このパラメーターは、有効期限のあるトークンを構成する場合にのみ必要です。
JindoCommonCredentialsProviderこれは、共通のクレデンシャルプロバイダーです。 必要なパラメーターを構成した後、JindoOSS および JindoFS でこのクレデンシャルプロバイダーを使用できます。
このクレデンシャルプロバイダーを使用するには、fs.jfs.cache.oss.bucket.XXX.credentials.provider パラメーターを com.aliyun.emr.fs.auth.JindoCommonCredentialsProvider に設定し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • jindo.common.accessKeyId: OSSバケットへのアクセスに使用する AccessKey ID。
  • jindo.common.accessKeySecret: OSSバケットへのアクセスに使用する AccessKey シークレット。
  • jindo.common.securityToken: OSSバケットへのアクセスに使用する一時的なセキュリティトークン。
EcsStsCredentialsProviderこのクレデンシャルプロバイダーは AccessKey ペアを必要としません。 パスワードなしモードで OSS にアクセスできます。

fs.jfs.cache.oss.bucket.XXX.credentials.provider パラメーターを com.aliyun.emr.fs.auth.EcsStsCredentialsProvider に設定する必要があります。

JindoRangerCredentialsProviderこのクレデンシャルプロバイダーは、Ranger でパラメーターを構成して OSS へのアクセスを制御するシナリオに適しています。

この資格情報プロバイダーを使用するには、com.aliyun.emr.fs.auth.JindoRangerCredentialsProviderfs.jfs.cache.oss.bucket.XXX.credentials.provider パラメーターの値に追加し、namespace.oss.permission.methodRanger[namespace] タブで、名前が 、値が のカスタムパラメーターを追加する必要があります。

説明 カスタムパラメーターを追加した後、Jindo Namespace Service を再起動する必要があります。 詳細については、Jindo Namespace Service の再起動をご参照ください。
AssumeRoleStsCredentialsProviderこのクレデンシャルプロバイダーは、RAM ロールを引き受ける一時的な AccessKey ペアを取得して OSS にアクセスするシナリオに適しています。
このクレデンシャルプロバイダーを使用するには、com.aliyun.emr.fs.auth.AssumeRoleStsCredentialsProviderfs.jfs.cache.oss.bucket.XXX.credentials.provider パラメーターの値に追加し、[smartdata-site] タブに次の構成項目を追加する必要があります。
  • assume.role.sts.accessKeyId: STS から取得した AccessKey ID。
  • assume.role.sts.accessKeySecret: STS から取得した AccessKey シークレット。
  • assume.role.sts.endpoint: STS のエンドポイント。 詳細については、エンドポイントをご参照ください。
  • assume.role.roleArn: RAM ロールの ARN。 ARN は acs:ram::$accountID:role/$roleName の形式で指定します。 ARN の表示方法については、RAM ロールの ARN を表示する方法をご参照ください。
  • assume.role.roleSessionName: ロールセッションの名前。 これはカスタム構成項目です。 要件に基づいてこの構成項目を設定できます。 たとえば、この構成項目をユーザー名に設定できます。

Jindo Namespace Serviceの再起動

JindoRangerCredentialsProvider を使用する場合は、必要な構成項目を追加した後に Jindo Namespace Service を再起動する必要があります。

  1. SmartData サービスページの [構成] タブの右上隅で、[アクション] > [jindo Namespace Service の再起動] を選択します。
  2. [クラスターアクティビティ] ダイアログボックスで、[説明] を指定し、[OK] をクリックします。
  3. [確認] メッセージで、[OK] をクリックします。