アカウントの権限が不足していると、MPSを正常に利用できない可能性があります。特にサブアカウントを利用している場合により発生しやすくなります。本ドキュメントでは、よくある権限不足のシナリオとそのソリューションについて説明します。
シナリオ1(必須):アカウントはMPS製品サービスを利用していない場合。
アカウントはMPS製品サービスを利用していない場合、MPSを正常に利用できません。そのため、MPSコンソールの使用やAPIの呼び出しを行う前に、MPSサービスの利用を開始する必要があります。この操作は必須です。
ソリューション
メインアカウントの責任者に連絡し、メインアカウントでMPSコンソールにログインし、サービスを無料で利用開始をクリックします。 サブアカウントにMPSのフル読み書き権限がある場合(シナリオ2を参照し、QcloudMPSFullAccessプリセットポリシーを関連付ける)、サブアカウントから直接MPSを利用することもできます。 シナリオ2(必須):サブアカウントにMPS操作権限がない場合。
メインアカウントがサブアカウントにMPSの読み書き権限を付与していない場合、サブアカウントはMPSを正常に利用できません。
この場合、サブアカウントでMPSコンソールにアクセスすると、以下のエラーメッセージが表示されます。
サブアカウントでMPSのAPIを呼び出そうとすると、以下のエラーメッセージが表示されます。
この問題を解決するには、以下のソリューションを参照して、サブアカウントにMPS操作権限を付与する必要があります。この操作は必須です。
ソリューション
方法1:サブアカウントにQcloudMPSFullAccessプリセットポリシーを関連付けます(推奨)。
1. メインアカウントの責任者に連絡し、メインアカウントでログインします。
2. メインアカウントでCAMに入り、ユーザーリストでMPSの使用が必要なサブアカウントを選択し、権限付与をクリックします。 3. 「mps」を検索し、サブアカウントにQcloudMPSFullAccessプリセットポリシー権限を付与します。
方法2:サブアカウントにカスタムポリシーを関連付けます。
注意:
現在、MPSのプリセットポリシーはQcloudMPSFullAccessのみで、このフル読み書きポリシーはサブアカウントがMPSの全インターフェースにアクセスすることを許可します。高度なセキュリティ要件により、メインアカウントがサブアカウントのインターフェース権限を制限したい場合は、カスタムポリシーを関連付けることができます。
1. メインアカウントでCAMに入り、ポリシーページでカスタムポリシーを新規作成をクリックします。 2. ポリシージェネレーターで作成を選択します。
3. MPSサービスを選択し、操作(Action)で必要なMPSインターフェースを選択します。一度に複数の操作を選択することができます。
注意:
SDKを使用する場合は、RequestFromSdkインターフェースを選択する必要があります。
4. リソースですべてのリソースを選択し、次へをクリックします。
5. ポリシー名を入力したら、「この権限をユーザーに付与」でサブアカウントにポリシーを直接関連付けることができ、完了をクリックしてプロセスを完了します。
6. ポリシーページに戻ると、すべてのカスタムポリシーが表示されます。ポリシー名をクリックするとポリシーを変更できます。
シナリオ3(任意):MPSにCOSバケット内のファイルへの読み書き権限を付与していない場合。
現在、MPSでは3つの入力ソースに対応しています:Tencent Cloud COS、AWS S3、URLダウンロードアドレス。
COSをファイルソースとして使用する場合は、COS認証を完了する必要があります。MPS_QcsRoleサービスロールを作成し、MPSがCOSバケット内のファイルのダウンロード、トランスコード、アップロードなどの読み書き操作を行えるようにします。
AWS S3またはURLをファイルソースとして使用する場合は、COS認証をスキップできます。
COS認証を完了せずにMPSのAPIを直接呼び出してCOSバケット内のファイルを処理すると、タスクは失敗します。以下に例を示します。
ソリューション
メインアカウントでログインしてMPSコンソールの概要ページに入り、COS認証をクリックし、ポップアップで認証に同意をクリックします。完了後、CAM‐ロールにMPS_QcsRoleサービスロールが自動作成されます。 サブアカウントにMPSのフル読み書き権限がある場合(シナリオ2を参照し、QcloudMPSFullAccessプリセットポリシーを関連付ける)、サブアカウントでCOS認証を完了することも可能です。 注意:
この認証操作ではCOSを利用する必要はなく、COS料金も発生しません。MPS製品がCOS製品の必要なAPI読み書き権限を取得できるようにするだけです。
シナリオ4(任意):サブアカウントにcam:GetRole権限がない場合。
上記3つのシナリオの権限付与を完了後も、サブアカウントでMPSコンソールにログインする際、以下のエラーメッセージが表示されます。
これは、MPSコンソールのフロントエンドがTencent Cloud CAMのGetRoleインターフェスを呼び出し、ユーザーにMPS_QcsRoleサービス関連ロールが存在するかをクエリするためです。その結果に基づき、権限付与のプロンプトを表示するかを判断します。サブアカウントにcam:GetRole権限がない場合、MPSコンソールのフロントエンドはGetRoleインターフェスを正常に呼び出してロールを照会できなくなり、ポップアップでエラーメッセージが表示されます。
注意:
GetRoleはMPSコンソールのフロントエンド操作であり、サブアカウントにcam:GetRole権限がない場合、MPSコンソールの利用にのみ影響し、APIの利用には影響しません。コンソールを使用することで、MPS操作やタスク結果の確認がより円滑に行えるため、以下の手順に従って、サブアカウントにcam:GetRole権限を付与することをお勧めします。
ソリューション
1. メインアカウントの責任者に連絡し、メインアカウントでログインします。
2. メインアカウントでCAM‐ポリシーに入り、カスタムポリシーを新規作成をクリックし、ポリシージェネレーターで作成を選択して新しいカスタムポリシーを作成します。 赤枠の通り、CAMサービス、読み取り操作‐GetRole、すべてのリソースを選択し、次へをクリックします。
3. ポリシー名を入力し、MPSの利用が必要なサブアカウントにこの権限を付与し、完了をクリックします。