概要
Cloud Object Storage(COS)コンソール、APIは、バケットタグに基づいてバケットリストをフィルタリングする機能を提供しています。この機能はタグの権限を承認することで実装します。
権限承認の手順
- ルートアカウントOwnerを使用して、CAMコンソールにログインし、ポリシー設定ページに進みます。
- 次の手順に従って、サブアカウントSubUserに、指定のタグを持つバケットへのアクセス権限を承認します。ポリシージェネレーターまたはポリシー構文で実装できます。
- CAMのポリシー設定ページに進みます。
- カスタムポリシーの新規作成 > ポリシージェネレーターに従って作成をクリックします。
- 権限承認の設定ページに移動します。設定情報は以下のとおりです。
- 効果:許可を選択します。デフォルトは変わりません。
- サービス:COSを選択します。
- アクション:**読み取り操作 > GetService(バケットリストのプル)**を選択します。
- リソース:すべてのリソースを選択します。
- 条件:その他の条件を追加をクリックします。サイドウィンドウで次の情報の設定を行います。
- 条件キー:
qcs:resource_tag
を選択します。 - 演算子:
string_equal
を選択します。 - 条件値:
key&val
形式でタグを入力し、keyをタグキーに、valueをタグ値にそれぞれ置き換えます。
- 次のステップをクリックし、ポリシー名を入力します。
- 完了をクリックすれば、作成完了です。
- CAMのポリシー設定ページに進みます。
- カスタムポリシーの新規作成 > ポリシー構文に従って作成をクリックします。
- 空白テンプレートによる作成を選択し、次のステップをクリックします。
- 次のポリシー形式に従って入力します。このうち、keyとvalueはそれぞれ指定のタグキーとタグ値に置き換えます。
{
"version": "2.0",
"statement":[
{
"effect": "allow",
"action":[
"name/cos:GetService"
],
"resource": "*",
"condition":{
"for_any_value:string_equal":{
"qcs:resource_tag": [
"key&value"
]
}
}
}
]
}
- 完了をクリックすれば、作成完了です。
- ポリシーをサブアカウントSubUserにバインドします。ポリシーページで、ステップ2で作成したポリシーを見つけ、右側のユーザー/グループ/ロールのバインドをクリックします。
- ポップアップウィンドウで、サブアカウントSubUserにチェックを入れ、OKをクリックすると、サブアカウントSubUserをそのポリシーにバインドできます。
コンソールでの確認
- サブアカウントSubUserでCOSコンソールにログインします。
- バケットリストページには、このサブアカウントがアクセス権限を持つバケットのリストが自動的に表示されます。
上記の手順によって、指定のタグ(key、value)を持つバケットへのアクセス権限がサブアカウントに承認されました。
インターフェースの呼び出し
注意:
- コンソールと異なり、GetService APIインターフェースの呼び出しでは、サブアカウントがアクセス権限を持つバケットのリストは自動表示されません。タグパラメータを渡す必要があります。
- 現在GetServiceインターフェースで渡すことができるタグは1つのみです。
- サブアカウントSubUserのキーを使用してリクエストを送信します。
- GetServiceインターフェースを呼び出し、(key,value)などのタグフィルタリングパラメータを渡します。リクエストの例は次のとおりです。詳細についてはGET Service(List Buckets)をご参照ください。
GET /?tagkey=key1&tagvalue=value1 HTTP/1.1
Date: Fri, 24 May 2019 11:59:51 GMT
Authorization: Auth String
この記事はお役に立ちましたか?