一時キーは、Security Token Service(STS)が提供する一時アクセスのための証明書です。一時キーはTmpSecretId、TmpSecretKey、Tokenの3つの部分から成ります。パーマネントキーと異なり、一時キーには次のような特徴があります。
このため、一時キーはフロントエンドの直接転送などの、一時的な権限承認のシーンに適します。信頼性の低いユーザーに対しては、パーマネントキーではなく一時キーを発行することで、安全性を高めることができます。
一時キーは、当社のご提供するCOS STS SDK方式で取得するか、またはSTSのクラウドAPI方式によって直接取得することができます。
詳細については、一時キーの生成および使用ガイドをご参照ください。
一時キーを申請する前に、Cloud Access Management(CAM)ユーザー(Tencent Cloudルートアカウントまたはサブアカウント)を取得しておく必要があります。Policyパラメータを設定することで、一時キーに一時ポリシーを追加して使用者の権限を制限することができます。
例えば、「A」がCAMユーザーの従来の権限を表し、「B」がpolicyパラメータによって一時キーに設定した権限を表すとした場合、「A」と「B」の共通部分が一時キーの最終的に有効な権限となります。
下図のように、CAMユーザー権限とpolicyの一時権限の共通部分が有効な権限です。
下図のように、policyがCAMユーザー権限の範囲内にある場合は、policyが有効な権限となります。
一時キーにはSecretId、SecretKey、Tokenが含まれます。各ルートアカウントおよびサブアカウントはいずれも複数の一時キーを生成することができます。パーマネントキーと異なり、一時キーの有効期間は30分から36時間しかありません。一時キーはフロントエンドの直接転送などの、一時的な権限承認のシーンに適します。信頼性の低いユーザーに対しては、パーマネントキーではなく一時キーを発行することで、安全性を高めることができます。詳細については、一時キーの生成および使用ガイドおよびフロントエンドの直接転送に用いる一時キーの使用ガイドをご参照ください。
Java SDKについては次の例をご参照ください。その他の言語のdemoについては、SDKの概要をご参照ください。
// 1 取得した一時キー (tmpSecretId、tmpSecretKey、sessionToken)を渡します
String tmpSecretId = "SECRETID";
String tmpSecretKey = "SECRETKEY";
String sessionToken = "TOKEN";
BasicSessionCredentials cred = new BasicSessionCredentials(tmpSecretId, tmpSecretKey, sessionToken);
// 2 bucketのリージョンを設定します。COSリージョンの略称についてはhttps://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1をご参照ください
// clientConfigにはregion、https(デフォルトではhttp)、タイムアウト、プロキシなどを設定するsetメソッドが含まれます。ご利用にあたっては、ソースコードまたはよくあるご質問のJava SDKのパートをご参照ください
Region region = new Region("COS_REGION");
ClientConfig clientConfig = new ClientConfig(region);
// 3 cosクライアントを生成します
COSClient cosClient = new COSClient(cred, clientConfig);
一時キーは主に第三者に対しCOSへの一時的なアクセス権限を承認するために用いられます。例えば、ユーザーがクライアントAppを開発し、データをCOSバケットに保存したとします。この場合、パーマネントキーを直接Appクライアント上に置くことはセキュリティ上問題がありますが、クライアントに対してはアップロード・ダウンロードの権限を承認する必要があります。このようなケースでは一時キーを使用することができます。
上の図のように、ユーザーがAppクライアントを開発し、ユーザーのサーバー上にパーマネントキーを保存し、一時キーを使用してフロントエンド直接転送を行うには次のいくつかの手順が必要です。
一時キーはフロントエンドデータの直接転送のユースケースに適しています。次のベストプラクティスをご参照の上、一時キーをご利用ください。
この記事はお役に立ちましたか?