バケットポリシーは、バケット用の OSS 権限付与ポリシーです。バケットポリシーを使用すると、匿名ユーザーまたは Alibaba Cloud アカウント、RAM ユーザー、RAM ロールなどの指定されたユーザーに対して、特定の OSS リソースへの詳細なアクセスを許可または拒否できます。たとえば、別の Alibaba Cloud アカウントに属する RAM ユーザーに、特定の OSS リソースに対する読み取り専用権限を付与できます。
注意
バケットポリシーを設定する前に、この機能についてよく理解していることを確認してください。詳細については、「バケットポリシー」をご参照ください。
このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID
cn-hangzhouを使用します。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。同じリージョン内の他の Alibaba Cloud プロダクトからバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。OSS でサポートされているリージョンとエンドポイントの詳細については、「OSS のリージョンとエンドポイント」をご参照ください。このトピックでは、アクセス資格情報は環境変数から読み取られます。アクセス資格情報の設定方法の詳細については、「アクセス資格情報の設定」をご参照ください。
バケットポリシーを設定するには、
oss:PutBucketPolicy権限が必要です。バケットポリシーを取得するには、oss:GetBucketPolicy権限が必要です。バケットポリシーを削除するには、oss:DeleteBucketPolicy権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーの付与」をご参照ください。
サンプルコード
参考資料
バケットポリシーを設定するための完全なサンプルコードについては、「GitHub の例」をご参照ください。
バケットポリシーを設定するための API 操作については、「PutBucketPolicy」をご参照ください。
バケットポリシーを取得するための完全なサンプルコードについては、「GitHub の例」をご参照ください。
バケットポリシーを取得するための API 操作については、「GetBucketPolicy」をご参照ください。
バケットポリシーを削除するための完全なサンプルコードについては、「GitHub の例」をご参照ください。
バケットポリシーを削除するための API 操作については、「DeleteBucketPolicy」をご参照ください。