資格情報プロバイダーを使用して、暗号化された AccessKey ペアをファイルに保存できます。 これにより、AccessKey ペアの漏洩を防ぎます。
背景情報
Hadoop 資格情報プロバイダーを使用して、暗号化された AccessKey ペアをファイルに保存できます。 これにより、AccessKey ペアがプレーンテキストで送信されるという問題を防ぎます。 ビジネス要件に基づいて、適切な JindoOSS 資格情報プロバイダーを選択できます。
JindoOSS 資格情報プロバイダーの構成
- SmartData サービスに移動します。
- Alibaba Cloud EMR コンソール にログオンします。
- 上部のナビゲーションバーで、クラスターが存在するリージョンを選択します。 必要に応じてリソースグループを選択します。 デフォルトでは、アカウントのすべてのリソースが表示されます。
- [クラスター管理] タブをクリックします。
- 表示される [クラスター管理] ページで、ターゲットクラスターを見つけ、[アクション] 列の [詳細] をクリックします。
- 左側のナビゲーションペインで、[クラスターサービス] をクリックし、次に [smartdata] をクリックします。
- Alibaba Cloud EMR コンソール にログオンします。
- [smartdata-site] タブに移動します。
- [構成] タブをクリックします。
- [サービス構成] セクションで、[smartdata-site] タブをクリックします。
- 構成情報を追加します。
- [smartdata-site] タブの右上隅にある [カスタム構成] をクリックします。
- [構成項目の追加] ダイアログボックスで、次の表に記載されているパラメーターを追加します。
- グローバル構成 (すべてのバケットの場合)
パラメーター 説明 fs.jfs.cache.oss.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 com.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.provider com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider fs.jfs.cache.oss.accessKeyId OSS にアクセスするために使用される AccessKey ID。 fs.jfs.cache.oss.accessKeySecret OSS にアクセスするために使用される AccessKey シークレット。 fs.jfs.cache.oss.securityToken OSS にアクセスするために使用される一時的なセキュリティトークン。 - SimpleAliyunCredentialsProviderこのプロバイダーは、有効期限の長い AccessKey ペアを使用して OSS にアクセスするシナリオに適しています。
パラメーター 説明 fs.jfs.cache.oss.credentials.provider com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider 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 にアクセスするために使用される一時的なセキュリティトークン。 説明 このパラメーターは、有効期限のあるトークンを構成する場合にのみ必須です。 - InstanceProfileCredentialsProviderこのプロバイダーは AccessKey ペアを必要としません。 パスワードなしモードで OSS にアクセスできます。
パラメーター 説明 fs.jfs.cache.oss.credentials.provider com.aliyun.emr.fs.auth.InstanceProfileCredentialsProvider
- TemporaryAliyunCredentialsProvider
- バケットレベルの構成
- TemporaryAliyunCredentialsProviderこのプロバイダーは、有効期限のある AccessKey ペアとセキュリティトークンを使用して OSS にアクセスするシナリオに適しています。
パラメーター 説明 fs.jfs.cache.oss.bucket.XXX.credentials.provider com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider 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 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 バケットにアクセスするために使用される一時的なセキュリティトークン。 説明 このパラメーターは、有効期限のあるトークンを構成する場合にのみ必須です。 - InstanceProfileCredentialsProviderこのプロバイダーは AccessKey ペアを必要としません。 パスワードなしモードで OSS にアクセスできます。
パラメーター 説明 fs.jfs.cache.oss.bucket.XXX.credentials.provider com.aliyun.emr.fs.auth.InstanceProfileCredentialsProvider
- TemporaryAliyunCredentialsProvider
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.path | AccessKey ペア情報を保存する資格情報ファイルを保存するために使用されるパス。 たとえば、このパラメーターを jceks://file/${user.home}/oss.jceks に設定できます。これは、oss.jceks ファイルがホームディレクトリに保存されていることを示します。 |