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

E-MapReduce:資格情報プロバイダーの使用

最終更新日:Jan 11, 2025

資格情報プロバイダーを使用して、暗号化された AccessKey ペアをファイルに保存できます。 これにより、AccessKey ペアの漏洩を防ぎます。

背景情報

Hadoop 資格情報プロバイダーを使用して、暗号化された AccessKey ペアをファイルに保存できます。 これにより、AccessKey ペアがプレーンテキストで送信されるという問題を防ぎます。 ビジネス要件に基づいて、適切な JindoOSS 資格情報プロバイダーを選択できます。

JindoOSS 資格情報プロバイダーの構成

  1. SmartData サービスに移動します。
    1. Alibaba Cloud EMR コンソール にログオンします。
    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択します。 必要に応じてリソースグループを選択します。 デフォルトでは、アカウントのすべてのリソースが表示されます。
    3. [クラスター管理] タブをクリックします。
    4. 表示される [クラスター管理] ページで、ターゲットクラスターを見つけ、[アクション] 列の [詳細] をクリックします。
    5. 左側のナビゲーションペインで、[クラスターサービス] をクリックし、次に [smartdata] をクリックします。
  2. [smartdata-site] タブに移動します。
    1. [構成] タブをクリックします。
    2. [サービス構成] セクションで、[smartdata-site] タブをクリックします。
  3. 構成情報を追加します。
    1. [smartdata-site] タブの右上隅にある [カスタム構成] をクリックします。
    2. [構成項目の追加] ダイアログボックスで、次の表に記載されているパラメーターを追加します。
      • グローバル構成 (すべてのバケットの場合)
        パラメーター説明
        fs.jfs.cache.oss.credentials.providercom.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.providercom.aliyun.emr.fs.auth.AliyunCredentialsProvider の実装クラスを指定します。 複数のクラスはコンマ (,) で区切ります。 システムは、有効な資格情報の値が見つかるまで、資格情報の値を順番に読み取ります。 例: com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider,com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider
        資格情報プロバイダーの詳細については、資格情報プロバイダーの種類 をご参照ください。
        説明 XXX は、オブジェクトストレージサービス (OSS) バケットの名前を示します。

資格情報プロバイダーの種類

ビジネス要件に基づいて、さまざまな資格情報プロバイダーを選択できます。 次のプロバイダーがサポートされています:
  • グローバル構成
    • TemporaryAliyunCredentialsProvider
      このプロバイダーは、有効期限のある AccessKey ペアとセキュリティトークンを使用して OSS にアクセスするシナリオに適しています。
      パラメーター説明
      fs.jfs.cache.oss.credentials.providercom.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider
      fs.jfs.cache.oss.accessKeyIdOSS にアクセスするために使用される AccessKey ID。
      fs.jfs.cache.oss.accessKeySecretOSS にアクセスするために使用される AccessKey シークレット。
      fs.jfs.cache.oss.securityTokenOSS にアクセスするために使用される一時的なセキュリティトークン。
    • SimpleAliyunCredentialsProvider
      このプロバイダーは、有効期限の長い AccessKey ペアを使用して OSS にアクセスするシナリオに適しています。
      パラメーター説明
      fs.jfs.cache.oss.credentials.providercom.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider
      fs.jfs.cache.oss.accessKeyIdOSS にアクセスするために使用される AccessKey ID。
      fs.jfs.cache.oss.accessKeySecretOSS にアクセスするために使用される AccessKey シークレット。
    • EnvironmentVariableCredentialsProvider
      このプロバイダーを使用するには、次の表に記載されているパラメーターを構成する必要があります。
      パラメーター説明
      fs.jfs.cache.oss.credentials.providercom.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider
      ALIYUN_ACCESS_KEY_IDOSS にアクセスするために使用される AccessKey ID。
      ALIYUN_ACCESS_KEY_SECRETOSS にアクセスするために使用される AccessKey シークレット。
      ALIYUN_SECURITY_TOKENOSS にアクセスするために使用される一時的なセキュリティトークン。
      説明 このパラメーターは、有効期限のあるトークンを構成する場合にのみ必須です。
    • InstanceProfileCredentialsProvider
      このプロバイダーは AccessKey ペアを必要としません。 パスワードなしモードで OSS にアクセスできます。
      パラメーター説明
      fs.jfs.cache.oss.credentials.providercom.aliyun.emr.fs.auth.InstanceProfileCredentialsProvider
  • バケットレベルの構成
    • TemporaryAliyunCredentialsProvider
      このプロバイダーは、有効期限のある AccessKey ペアとセキュリティトークンを使用して OSS にアクセスするシナリオに適しています。
      パラメーター説明
      fs.jfs.cache.oss.bucket.XXX.credentials.providercom.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider
      fs.jfs.cache.oss.bucket.XXX.accessKeyIdOSS バケットにアクセスするために使用される AccessKey ID。
      fs.jfs.cache.oss.bucket.XXX.accessKeySecretOSS バケットにアクセスするために使用される AccessKey シークレット。
      fs.jfs.cache.oss.bucket.XXX.securityTokenOSS バケットにアクセスするために使用される一時的なセキュリティトークン。
    • SimpleAliyunCredentialsProvider
      このプロバイダーは、有効期限の長い AccessKey ペアを使用して OSS にアクセスするシナリオに適しています。
      パラメーター説明
      fs.jfs.cache.oss.bucket.XXX.credentials.providercom.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider
      fs.jfs.cache.oss.bucket.XXX.accessKeyIdOSS バケットにアクセスするために使用される AccessKey ID。
      fs.jfs.cache.oss.bucket.XXX.accessKeySecretOSS バケットにアクセスするために使用される AccessKey シークレット。
    • EnvironmentVariableCredentialsProvider
      このプロバイダーを使用するには、次の表に記載されているパラメーターを構成する必要があります。
      パラメーター説明
      fs.jfs.cache.oss.bucket.XXX.credentials.providercom.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider
      ALIYUN_ACCESS_KEY_IDOSS バケットにアクセスするために使用される AccessKey ID。
      ALIYUN_ACCESS_KEY_SECRETOSS バケットにアクセスするために使用される AccessKey シークレット。
      ALIYUN_SECURITY_TOKENOSS バケットにアクセスするために使用される一時的なセキュリティトークン。
      説明 このパラメーターは、有効期限のあるトークンを構成する場合にのみ必須です。
    • InstanceProfileCredentialsProvider
      このプロバイダーは AccessKey ペアを必要としません。 パスワードなしモードで OSS にアクセスできます。
      パラメーター説明
      fs.jfs.cache.oss.bucket.XXX.credentials.providercom.aliyun.emr.fs.auth.InstanceProfileCredentialsProvider

Hadoop 資格情報プロバイダーを使用して AccessKey ペア情報を保存する

説明 Hadoop 資格情報プロバイダーの詳細については、CredentialProvider API ガイド をご参照ください。
Hadoop によって提供されるコマンドを使用して、AccessKey ペアとセキュリティトークン情報を資格情報ファイルに保存します。 構文:
hadoop credential <subcommand> [options]
たとえば、グローバル構成モードでは、AccessKey ペアとトークン情報を JCEKS ファイルに保存します。 ファイルのアクセス許可を使用してファイルを保護するか、パスワードを指定して保存する情報を暗号化できます。 パスワードを指定しない場合は、デフォルトの文字列が暗号化に使用されます。
hadoop credential create fs.jfs.cache.oss.accessKeyId -value AAA -provider jceks://file/root/oss.jceks
hadoop credential create fs.jfs.cache.oss.accessKeySecret -value BBB -provider jceks://file/root/oss.jceks
hadoop credential create fs.jfs.cache.oss.securityToken -value  CCC -provider jceks://file/root/oss.jceks
資格情報ファイルが生成されたら、次の表に記載されているパラメーターを構成して、プロバイダーの種類と場所を指定する必要があります。
パラメーター説明
fs.jfs.cache.oss.security.credential.provider.pathAccessKey ペア情報を保存する資格情報ファイルを保存するために使用されるパス。

たとえば、このパラメーターを jceks://file/${user.home}/oss.jceks に設定できます。これは、oss.jceks ファイルがホームディレクトリに保存されていることを示します。