El comando put-bucket-policy sirve para configurar las directivas de un bucket. De este modo, se otorgan permisos a la cuenta actual de Alibaba Cloud o a otras cuentas de Alibaba Cloud para acceder a los recursos almacenados en el bucket. Estas cuentas pueden incluir uno o varios usuarios y roles de RAM.
Nota
Para configurar las directivas de un bucket se requiere el permiso oss:PutBucketPolicy. Para obtener más información, consulte Grant a custom policy.
Sintaxis
ossutil api put-bucket-policy --bucket value --body value [flags]
|
Parámetro |
Tipo |
Descripción |
|
--bucket |
string |
El nombre del bucket para el que desea configurar las directivas de control de acceso. |
|
--body |
string |
El cuerpo de la solicitud con formato JSON, que define los permisos de acceso. |
El comando put-bucket-policy corresponde a la operación PutBucketPolicy. Para obtener más información sobre sus parámetros, consulte PutBucketPolicy.
Una directiva de bucket incluye los campos Version y Statement. A continuación se muestra un ejemplo:
{
"Version": "1",
"Statement": [
{
"Action": ["oss:PutObject", "oss:GetObject"],
"Effect": "Deny",
"Principal": ["1234567890"],
"Resource": ["acs:oss:*:1234567890:*/*"]
}
]
}
Version: la versión de la directiva. Valor predeterminado: 1.-
Statement: una directiva contiene uno o varios arreglos de declaraciones. Cada declaración define un conjunto de permisos.Action: especifique la lista de operaciones permitidas o denegadas, comooss:PutObjectyoss:GetObject.Effect: indica si la declaración permite o deniega el acceso. Valores:AllowoDeny.Principal: especifique la entidad a la que aplica la directiva. En este caso, corresponde al UID del usuario indicado.Resource: define el alcance de los recursos a los que aplica la directiva.
Para obtener detalles sobre los campos
VersionyStatement, consulte Common examples of bucket policies.Para conocer las opciones globales de línea de comandos compatibles, consulte Supported global command line options.
Ejemplo
A continuación se muestra un ejemplo de código para configurar una directiva de control de acceso en examplebucket. Con esta configuración se especifique que no se otorguen a un usuario determinado los permisos necesarios para las operaciones PutObject y GetObject.
ossutil api put-bucket-policy --bucket examplebucket --body "{\"Version\":\"1\",\"Statement\":[{\"Action\":[\"oss:PutObject\",\"oss:GetObject\"],\"Effect\":\"Deny\",\"Principal\":[\"1234567890\"],\"Resource\":[\"acs:oss:*:1234567890:*/*\"]}]}"