バケット名の後半部分がAPPID情報です。COSコンソールにログインすると確認できます。SecretId、SecretKeyなどの情報は、CAMコンソールのAPIキー管理にログインすると確認できます。
一時キーは現時点ではルートアカウントで最長2時間(7200秒)、サブアカウントで最長36時間(129600秒)であり、デフォルト値は30分(1800秒)です。期限切れとなった一時キーを含むリクエストは拒否されます。一時キーに関する説明は、一時キーの生成および使用ガイドをご参照ください。
ユーザーは漏洩したキーを削除し、新たなキーを作成することができます。詳細については、アクセスキーをご参照ください。
一時キーの生成および使用ガイドのドキュメントを参照し、キーの有効期間を設定してください。
フォルダの権限の設定を参照し、サブアカウントの指定フォルダへのアクセス権限を承認することができます。サブアカウントに対しより高度な権限承認を行う場合は、権限設定の関連事例を参照することができます。
COSチームが開発者向けに提供しているセルフ診断ツールをご利用ください。セルフ診断ツールはリクエストのRequestIdによって、操作の異常に対する診断をサポートすることができます。はい
AccessDeniedは一般的に、権限が承認されていないか、権限が不足しているために起こるエラーです。次の手順に従って、順次トラブルシューティングを実施してください。
COSチームは開発者向けにセルフ診断ツールをご提供しています。セルフ診断ツールはリクエストのRequestIdによって、操作の異常に対する診断をサポートすることができます。
各ルートアカウント(すなわち同一のAPPID)の、バケットACLルールの数は最大1000個までです。設定したバケットACLが1000個を超えるとこのエラーが発生します。このため、不要なACLルールは削除することをお勧めします。
説明:ファイルレベルのACLまたはPolicyの使用はお勧めしません。APIまたはSDKを呼び出す際、ファイルに対して特別なACL制御を必要としない場合は、ACLの関連パラメータ(x-cos-acl、ACLなど)を空にし、バケットの権限をそのまま引き継いでください。
バケットの作成エラーで考えられる原因
次の2つの対処方法を参考までにご提供します。
方法1:現在のバケットのアクセス権限をプライベート読み取り/書き込みに変更できます。詳細については、バケットアクセス権限の設定をご参照ください。その後、バケットの新規作成をもう一度お試しください。
方法2:Policy権限設定のポリシーの追加で、対応するアクセス権限を設定できます。詳細については、バケットポリシーの追加をご参照ください。
期限切れの署名リンクを使用してパブリック読み取りファイルにアクセスした場合、COSは権限の状況を優先的にチェックし、リンクの期限切れ後のアクセスを拒否する判断を行います。
次の手順に従って、順次トラブルシューティングを実施してください。
COSチームは開発者向けにセルフ診断ツールをご提供しています。セルフ診断ツールはリクエストのRequestIdによって、操作の異常に対する診断をサポートすることができます。
第三者によるローカルへのファイルダウンロードを制限したい場合は、次のいくつかのケースを区別する必要があります。
deny anyone Get Object
操作を設定することができます。ルートアカウントAの名前のバケットが、ルートアカウントBのサブアカウントB0に対し操作権限の承認を行う必要があると仮定した場合、まずルートアカウントBに対し、A名のバケットの操作権限を承認してから、ルートアカウントBを通じてサブアカウントB0に対し、A名のバケットの操作権限を承認する必要があります。詳細な操作については、他のルートアカウント下のサブアカウント操作名のバケットへの権限付与を参照することができます。
CAMコンソールでカスタムポリシーを作成し、サブユーザーに対し特定の権限を設定できます。詳細な操作手順については、カスタムポリシーの作成を参照することができます。
説明:カスタムポリシーを作成する際は、読み取り操作の権限を承認し、書き込み操作はアップロードの権限のみを選択する必要があります。関連する権限の削除を選択しないでください。
対応するバケットにdeny anyoneのGet Bucket権限を設定することができます。操作手順は次のとおりです。
COSコンソールにログインし、バケットリストを選択し、対応するバケットの権限管理ページに進みます。
Policy権限設定項目を見つけ、ポリシー構文 > 編集をクリックし、次の表現を入力します。
{
"Statement": [
{
"Action": [
"name/cos:GetBucket",
"name/cos:GetBucketObjectVersions"
],
"Effect": "Deny",
"Principal": {
"qcs": [
"qcs::cam::anyone:anyone"
]
},
"Resource": [
"qcs::cos:ap-beijing:uid/1250000000:examplebucket-1250000000/*"
]
}
],
"version": "2.0"
}
注意:
qcs::cos:ap-beijing:uid/1250000000:examplebucket-1250000000/*
の中の関連情報を次のように置き換えてください。
- “ap-beijing”をご自身のバケットの所在リージョンに置き換えます。
- “1250000000”をご自身のAPPID情報に置き換えます。
- “examplebucket-1250000000”をご自身のバケット名に置き換えます。
このうち、APPIDはバケット名の後半部分です。バケット名はCOSコンソールで確認できます。
ACLはアカウントに対する制限です。ファイルレベルのACLまたはPolicyの使用はお勧めしません。APIまたはSDKを呼び出す際、ファイルに対して特別なACL制御を必要としない場合は、ACLの関連パラメータ(x-cos-acl、ACLなど)を空にし、バケットの権限をそのまま継承してください。
コラボレーターアカウントは一種の特殊なサブアカウントです。詳細については、アクセスポリシーの言語概要をご参照ください。
CAMコンソールにログインし、ユーザー管理ページに進み、業務ごとにサブアカウントを有効化し、それぞれに権限を付与する操作を行うことができます。
詳細については、サブアカウントのCOSアクセス権限の承認を参照し、サブアカウントを作成して権限承認を行ってください。
サブアカウントに対し特定のバケットの操作権限のみを持たせたい場合は、ルートアカウントよりサブアカウントにバケットポリシーを追加することができます。詳細については、バケットポリシーの追加をご参照ください。
詳細については、Ranger認証に関するよくあるご質問をご参照ください。
リソースアクセス異常 のドキュメントを参照し、トラブルシューティングを行ってください。
CDNアクセラレーションドメイン名が無効になっているために起こった可能性があります。CDNドメイン名を使用したCOSへのアクセス時にHTTP ERROR 403が返されるのドキュメントを参照して対処してください。
キャッシュの存在が原因の可能性があります。同一リンクからアクセスしたファイルの異常のドキュメントを参照し、更新操作を行ってください。
COSにプライベート読み取り/書き込み権限が設定されている状況で、CDNがオリジンサーバーをCOSに戻す際の認証を実現したい場合は、CDNのback to origin認証をご参照ください。
この記事はお役に立ちましたか?