Usa los permisos (de Cloud IAM)

En esta página, se describe cómo controlar el acceso a los depósitos y objetos mediante los permisos de Cloud Identity and Access Management (Cloud IAM). Cloud IAM te permite controlar quién tiene acceso a tus depósitos y objetos. Si deseas obtener más información sobre Cloud IAM para Cloud Storage, consulta la Descripción general de Cloud IAM.

Para obtener información sobre otras formas de controlar el acceso a los depósitos y objetos, consulta la Descripción general del control de acceso. Para obtener información sobre cómo controlar el acceso a objetos individuales en tus depósitos, consulta Listas de control de acceso.

Usa Cloud IAM con depósitos

En las siguientes secciones, se muestra cómo completar las tareas básicas de Cloud IAM en depósitos.

Agrega un miembro a una política de nivel de depósito

Para obtener una lista de las funciones asociadas con Cloud Storage, consulta Funciones de Cloud IAM. Para obtener información sobre las entidades a las que otorgas funciones de Cloud IAM, consulta Tipos de miembros.

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. Haz clic en el menú desplegable asociado con el depósito en el que deseas otorgarle una función a un miembro.

    El menú desplegable aparece como tres puntos verticales en el extremo derecho de la fila del depósito.

  3. Elige Edit bucket permissions (Editar permisos de depósito).

  4. En el campo Add members (Agregar miembros), ingresa una o más identidades que necesiten acceso a tu depósito.

    Cuadro de diálogo agregar miembros.

  5. Selecciona una función (o funciones) del menú desplegable Select a role (Seleccionar una función). Las funciones que seleccionas aparecen en el panel con una descripción breve del permiso que otorgan.

  6. Haz clic en Add (Agregar).

gsutil

Usa el comando gsutil iam ch y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

gsutil iam ch [MEMBER_TYPE]:[MEMBER_NAME]:[ROLE] gs://[BUCKET_NAME]

Si deseas obtener una lista de valores aceptables para [MEMBER_TYPE], consulta la página de referencia de gsutil iam.

Ejemplos de código

C++

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string bucket_name, std::string role,
   std::string member) {
  StatusOr<google::cloud::IamPolicy> policy =
      client.GetBucketIamPolicy(bucket_name);
  if (!policy.ok()) {
    std::cerr << "Error getting current IAM policy for bucket " << bucket_name
              << ", status=" << policy.status() << std::endl;
    return;
  }
  policy->bindings.AddMember(role, member);
  StatusOr<google::cloud::IamPolicy> updated_policy =
      client.SetBucketIamPolicy(bucket_name, *policy);
  if (!updated_policy.ok()) {
    std::cerr << "Error setting IAM policy for bucket " << bucket_name
              << ", status=" << updated_policy.status() << std::endl;
    return;
  }
  std::cout << "Updated IAM policy bucket " << bucket_name
            << ". The new policy is " << *updated_policy << std::endl;
}

C#

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.

private void AddBucketIamMember(string bucketName,
    string role, string member)
{
    var storage = StorageClient.Create();
    var policy = storage.GetBucketIamPolicy(bucketName);
    Policy.BindingsData bindingToAdd = new Policy.BindingsData();
    bindingToAdd.Role = role;
    string[] members = { member };
    bindingToAdd.Members = members;
    policy.Bindings.Add(bindingToAdd);
    storage.SetBucketIamPolicy(bucketName, policy);
    Console.WriteLine($"Added {member} with role {role} "
        + $"to {bucketName}");
}

Go

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.

bucket := c.Bucket(bucketName)
policy, err := bucket.IAM().Policy(ctx)
if err != nil {
	return err
}
// Other valid prefixes are "serviceAccount:", "user:"
// See the documentation for more values.
// https://cloud.google.com/storage/docs/access-control/iam
policy.Add("group:cloud-logs@google.com", "roles/storage.objectViewer")
if err := bucket.IAM().SetPolicy(ctx, policy); err != nil {
	return err
}
// NOTE: It may be necessary to retry this operation if IAM policies are
// being modified concurrently. SetPolicy will return an error if the policy
// was modified since it was retrieved.

Java

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.

// Initialize a Cloud Storage client
Storage storage = StorageOptions.getDefaultInstance().getService();

// Get IAM Policy for a bucket
Policy policy = storage.getIamPolicy(bucketName);

// Add identity to Bucket-level IAM role
Policy updatedPolicy =
    storage.setIamPolicy(bucketName, policy.toBuilder().addIdentity(role, identity).build());

if (updatedPolicy.getBindings().get(role).contains(identity)) {
  System.out.printf("Added %s with role %s to %s\n", identity, role, bucketName);
}

Node.js

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const roleName = 'Role to grant, e.g. roles/storage.objectViewer';
// const members = [
//   'user:jdoe@example.com',    // Example members to grant
//   'group:admins@example.com', // the new role to
// ];

// Creates a client
const storage = new Storage();

// Get a reference to a Google Cloud Storage bucket
const bucket = storage.bucket(bucketName);

// Gets and updates the bucket's IAM policy
const [policy] = await bucket.iam.getPolicy();

// Adds the new roles to the bucket's IAM policy
policy.bindings.push({
  role: roleName,
  members: members,
});

// Updates the bucket's IAM policy
await bucket.iam.setPolicy(policy);

console.log(
  `Added the following member(s) with role ${roleName} to ${bucketName}:`
);

members.forEach(member => {
  console.log(`  ${member}`);
});

PHP

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

/**
 * Adds a new member / role IAM pair to a given Cloud Storage bucket.
 *
 * @param string $bucketName the name of your Cloud Storage bucket.
 * @param string $role the role you want to add a given member to.
 * @param string $member the member you want to give the new role for the Cloud
 * Storage bucket.
 *
 * @return void
 */
function add_bucket_iam_member($bucketName, $role, $member)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);

    $policy = $bucket->iam()->policy();

    $policy['bindings'][] = [
        'role' => $role,
        'members' => [$member]
    ];

    $bucket->iam()->setPolicy($policy);

    printf('User %s added to role %s for bucket %s' . PHP_EOL, $member, $role, $bucketName);
}

Python

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.

def add_bucket_iam_member(bucket_name, role, member):
    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)

    policy = bucket.get_iam_policy()

    policy[role].add(member)

    bucket.set_iam_policy(policy)

    print('Added {} with role {} to {}.'.format(
         member, role, bucket_name))

Ruby

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
# bucket_name = "Your Google Cloud Storage bucket name"
# role        = "Bucket-level IAM role"
# member      = "Bucket-level IAM member"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket = storage.bucket bucket_name

bucket.policy do |policy|
  policy.add role, member
end

puts "Added #{member} with role #{role} to #{bucket_name}"

JSON

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura la zona de pruebas para que use tus propias credenciales de OAuth.
  2. Crea un archivo .json que contenga la siguiente información y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    {
    "bindings":[
    {
      "role": "[IAM_ROLE]",
      "members":[
        "[MEMBER_NAME]"
      ]
    }
    ]
    }

  3. Usa cURL para llamar a la API de JSON con una solicitud PUT setIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X PUT --data-binary @[JSON_FILE_NAME].json 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Type: application/json"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/iam"

Cómo ver la Política de Cloud IAM de un depósito

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. Haz clic en el menú desplegable asociado con el depósito en el que deseas ver los miembros de las funciones.

    El menú desplegable aparece como tres puntos verticales en el extremo derecho del nombre del depósito.

  3. Elige Edit bucket permissions.

  4. Expande la función deseada para ver los miembros que tiene asignados.

  5. (Opcional) Usa la barra de búsqueda para filtrar los resultados por función o por miembro.

    Si buscas por miembro, tus resultados mostrarán cada función a la que está asignado el miembro.

gsutil

Usa el comando gsutil iam get y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

gsutil iam get gs://[BUCKET_NAME]

Ejemplos de código

C++

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string bucket_name) {
  StatusOr<google::cloud::IamPolicy> policy =
      client.GetBucketIamPolicy(bucket_name);
  if (!policy.ok()) {
    std::cerr << "Error getting IAM policy for bucket " << bucket_name
              << ", status=" << policy.status() << std::endl;
    return;
  }
  std::cout << "The IAM policy for bucket " << bucket_name << " is "
            << *policy << std::endl;
}

C#

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.

private void ViewBucketIamMembers(string bucketName)
{
    var storage = StorageClient.Create();
    var policy = storage.GetBucketIamPolicy(bucketName);
    foreach (var binding in policy.Bindings)
    {
        Console.WriteLine($"  Role: {binding.Role}");
        Console.WriteLine("  Members:");
        foreach (var member in binding.Members)
        {
            Console.WriteLine($"    {member}");
        }
    }
}

Go

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.

policy, err := c.Bucket(bucketName).IAM().Policy(ctx)
if err != nil {
	return nil, err
}
for _, role := range policy.Roles() {
	log.Printf("%q: %q", role, policy.Members(role))
}

Java

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.

// Initialize a Cloud Storage client
Storage storage = StorageOptions.getDefaultInstance().getService();

// Get IAM Policy for a bucket
Policy policy = storage.getIamPolicy(bucketName);

// Print Roles and its identities
Map<Role, Set<Identity>> policyBindings = policy.getBindings();
for (Map.Entry<Role, Set<Identity>> entry : policyBindings.entrySet()) {
  System.out.printf("Role: %s Identities: %s\n", entry.getKey(), entry.getValue());
}

Node.js

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following line before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Gets and displays the bucket's IAM policy
const results = await storage.bucket(bucketName).iam.getPolicy();

const policy = results[0].bindings;

// Displays the roles in the bucket's IAM policy
console.log(`Roles for bucket ${bucketName}:`);
policy.forEach(role => {
  console.log(`  Role: ${role.role}`);
  console.log(`  Members:`);

  const members = role.members;
  members.forEach(member => {
    console.log(`    ${member}`);
  });
});

PHP

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

/**
 * View Bucket IAM members for a given Cloud Storage bucket.
 *
 * @param string $bucketName the name of your Cloud Storage bucket.
 *
 * @return void
 */
function view_bucket_iam_members($bucketName)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);

    $policy = $bucket->iam()->policy();

    printf('Printing Bucket IAM members for Bucket: %s' . PHP_EOL, $bucketName);
    printf(PHP_EOL);

    foreach ($policy['bindings'] as $binding) {
        printf('Role: %s' . PHP_EOL, $binding['role']);
        printf('Members:' . PHP_EOL);
        foreach ($binding['members'] as $member) {
            printf('  %s' . PHP_EOL, $member);
        }
        printf(PHP_EOL);
    }
}

Python

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.

def view_bucket_iam_members(bucket_name):
    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)

    policy = bucket.get_iam_policy()

    for role in policy:
        members = policy[role]
        print('Role: {}, Members: {}'.format(role, members))

Ruby

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
# bucket_name = "Your Google Cloud Storage bucket name"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket = storage.bucket bucket_name

policy = bucket.policy

policy.roles.each do |role, members|
  puts "Role: #{role} Members: #{members}"
end

JSON

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura la zona de pruebas para que use tus propias credenciales de OAuth.
  2. Usa cURL para llamar a la API de JSON con una solicitud GET getIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X GET 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/iam"

Quita a un miembro de una política de nivel de depósito

Console

  1. Abre el navegador de Cloud Storage en Google Cloud Platform Console.
    Abrir el navegador de Cloud Storage
  2. Haz clic en el menú desplegable asociado con el depósito en el que deseas quitarle una función a un miembro.

    El menú desplegable aparece como tres puntos verticales en el extremo derecho del nombre del depósito.

  3. Elige Edit bucket permissions.

  4. Expande la función que contiene el miembro que quieres quitar.

  5. Desplaza el cursor sobre el miembro y haz clic en el ícono de papelera que aparece.

    Quita a un miembro de un proyecto.

  6. En la ventana de superposición que aparece, haz clic en Remove (Quitar).

gsutil

Usa el comando gsutil iam ch con una marca -d y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

gsutil iam ch -d [MEMBER_TYPE]:[MEMBER_NAME] gs://[BUCKET_NAME]

Si deseas obtener una lista de valores aceptables para [MEMBER_TYPE], consulta la página de referencia de gsutil iam.

Ejemplos de código

C++

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string bucket_name, std::string role,
   std::string member) {
  StatusOr<google::cloud::IamPolicy> policy = client.GetBucketIamPolicy(bucket_name);
  if (!policy.ok()) {
    std::cerr << "Error getting current IAM policy for bucket " << bucket_name
              << ", status=" << policy.status() << std::endl;
    return;
  }
  policy->bindings.RemoveMember(role, member);
  StatusOr<google::cloud::IamPolicy> updated_policy =
      client.SetBucketIamPolicy(bucket_name, *policy);
  if (!updated_policy.ok()) {
    std::cerr << "Error setting IAM policy for bucket " << bucket_name
              << ", status=" << updated_policy.status() << std::endl;
    return;
  }
  std::cout << "Updated IAM policy bucket " << bucket_name
            << ". The new policy is " << *updated_policy << std::endl;
}

C#

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.

private void RemoveBucketIamMember(string bucketName,
    string role, string member)
{
    var storage = StorageClient.Create();
    var policy = storage.GetBucketIamPolicy(bucketName);
    policy.Bindings.ToList().ForEach(response =>
    {
        if (response.Role == role)
        {
            // Remove the role/member combo from the IAM policy.
            response.Members = response.Members
                .Where(m => m != member).ToList();
            // Remove role if it contains no members.
            if (response.Members.Count == 0)
            {
                policy.Bindings.Remove(response);
            }
        }
    });
    // Set the modified IAM policy to be the current IAM policy.
    storage.SetBucketIamPolicy(bucketName, policy);
    Console.WriteLine($"Removed {member} with role {role} "
        + $"to {bucketName}");
}

Go

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.

bucket := c.Bucket(bucketName)
policy, err := bucket.IAM().Policy(ctx)
if err != nil {
	return err
}
// Other valid prefixes are "serviceAccount:", "user:"
// See the documentation for more values.
// https://cloud.google.com/storage/docs/access-control/iam
policy.Remove("group:cloud-logs@google.com", "roles/storage.objectViewer")
if err := bucket.IAM().SetPolicy(ctx, policy); err != nil {
	return err
}
// NOTE: It may be necessary to retry this operation if IAM policies are
// being modified concurrently. SetPolicy will return an error if the policy
// was modified since it was retrieved.

Java

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.

// Initialize a Cloud Storage client
Storage storage = StorageOptions.getDefaultInstance().getService();

// Get IAM Policy for a bucket
Policy policy = storage.getIamPolicy(bucketName);

// Remove an identity from a Bucket-level IAM role
Policy updatedPolicy =
    storage.setIamPolicy(bucketName, policy.toBuilder().removeIdentity(role, identity).build());

if (updatedPolicy.getBindings().get(role) == null
    || !updatedPolicy.getBindings().get(role).contains(identity)) {
  System.out.printf("Removed %s with role %s from %s\n", identity, role, bucketName);
}

Node.js

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const roleName = 'Role to grant, e.g. roles/storage.objectViewer';
// const members = [
//   'user:jdoe@example.com',    // Example members to grant
//   'group:admins@example.com', // the new role to
// ];

// Creates a client
const storage = new Storage();

// Get a reference to a Google Cloud Storage bucket
const bucket = storage.bucket(bucketName);

// Gets and updates the bucket's IAM policy
const [policy] = await bucket.iam.getPolicy();

// Finds and updates the appropriate role-member group
const index = policy.bindings.findIndex(role => role.role === roleName);
const role = policy.bindings[index];
if (role) {
  role.members = role.members.filter(
    member => members.indexOf(member) === -1
  );

  // Updates the policy object with the new (or empty) role-member group
  if (role.members.length === 0) {
    policy.bindings.splice(index, 1);
  } else {
    policy.bindings.index = role;
  }

  // Updates the bucket's IAM policy
  await bucket.iam.setPolicy(policy);
} else {
  // No matching role-member group(s) were found
  throw new Error('No matching role-member group(s) found.');
}

console.log(
  `Removed the following member(s) with role ${roleName} from ${bucketName}:`
);
members.forEach(member => {
  console.log(`  ${member}`);
});

PHP

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.

use Google\Cloud\Core\Iam\PolicyBuilder;
use Google\Cloud\Storage\StorageClient;

/**
 * Removes a member / role IAM pair from a given Cloud Storage bucket.
 *
 * @param string $bucketName the name of your Cloud Storage bucket.
 * @param string $role the role you want to remove a given member from.
 * @param string $member the member you want to remove from the given role.
 *
 * @return void
 */
function remove_bucket_iam_member($bucketName, $role, $member)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $policy = $bucket->iam()->policy();
    $policyBuilder = new PolicyBuilder($policy);
    $policyBuilder->removeBinding($role, [$member]);

    $bucket->iam()->setPolicy($policyBuilder->result());
    printf('User %s removed from role %s for bucket %s' . PHP_EOL, $member, $role, $bucketName);
}

Python

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.

def remove_bucket_iam_member(bucket_name, role, member):
    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)

    policy = bucket.get_iam_policy()

    policy[role].discard(member)

    bucket.set_iam_policy(policy)

    print('Removed {} with role {} from {}.'.format(
        member, role, bucket_name))

Ruby

Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
# bucket_name = "Your Google Cloud Storage bucket name"
# role        = "Bucket-level IAM role"
# member      = "Bucket-level IAM member"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket = storage.bucket bucket_name

bucket.policy do |policy|
  policy.remove role, member
end

puts "Removed #{member} with role #{role} from #{bucket_name}"

JSON

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura la zona de pruebas para que use tus propias credenciales de OAuth.
  2. Obtén la política existente aplicada a tu proyecto. Para hacerlo, usa cURL a fin de llamar a la API de JSON con una solicitud GET getIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X GET 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/iam"

  3. Crea un archivo .json que contenga la política que recuperaste en el paso anterior.

  4. Edita el archivo .json para quitar al miembro de la política.

  5. Usa cURL para llamar a la API de JSON con una solicitud PUT setIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X PUT --data-binary @[JSON_FILE_NAME].json 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Type: application/json"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/iam"

Cómo usar Cloud IAM con proyectos

En las siguientes secciones, se muestra cómo completar tareas básicas de Cloud IAM en proyectos. Ten en cuenta que estas tareas usan un comando de línea de comandos aparte, gcloud, y un extremo aparte, cloudresourcemanager.googleapis.com, en comparación con la mayoría de las tareas de Cloud Storage.

Agrega un miembro a una política de nivel de proyecto

Para obtener una lista de las funciones asociadas con Cloud Storage, consulta Funciones de Cloud IAM. Para obtener información sobre las entidades a las que otorgas funciones de Cloud IAM, consulta Tipos de miembros.

Console

  1. Abre el navegador IAM & Admin (IAM y administrador) en Google Cloud Platform Console.
    Abrir el navegador IAM & Admin
  2. Selecciona el proyecto al que deseas agregar un miembro.

    Agrega un miembro a un proyecto.

  3. En el cuadro de diálogo Add members (Agregar miembros), especifica el nombre de la entidad a la que le otorgas acceso.

    Cuadro de diálogo agregar miembros.

  4. En el menú desplegable Select a role (Seleccionar una función), establece los permisos adecuados para el miembro del equipo.

    Las funciones que afectan a los depósitos y objetos de Cloud Storage se encuentran en los submenús Project (Proyecto) y Storage (Almacenamiento).

  5. Haz clic en Add.

gsutil

Las Políticas de Cloud IAM a nivel de proyecto se administran con el comando de gcloud, que forma parte del SDK de Google Cloud. Para agregar una política a nivel de proyecto, usa gcloud beta projects add-iam-policy-binding.

JSON

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura la zona de pruebas para que use tus propias credenciales de OAuth.
  2. Crea un archivo .json que contenga la siguiente información y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    {
    "policy": {
    "version": "0",
    "bindings": {
      "role": "[IAM_ROLE]",
      "members": "[MEMBER_NAME]"
    },
    }
    }

  3. Usa cURL para llamar a la API de Resource Manager con una solicitud POST setIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X POST --data-binary @[JSON_FILE_NAME].json 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Type: application/json"
    "https://cloudresourcemanager.googleapis.com/v1/projects/[PROJECT_NAME]:setIamPolicy"

Cómo ver la Política de Cloud IAM de un proyecto

Console

  1. Abre el navegador IAM & Admin en Google Cloud Platform Console.
    Abrir el navegador IAM & Admin
  2. Selecciona el proyecto cuya política deseas ver.

  3. Usa el menú desplegable asociado con las funciones individuales a fin de ver qué miembros tienen cada función o usa el cuadro de diálogo Search Members (Buscar miembros) para filtrar tus resultados.

gsutil

Las Políticas de Cloud IAM a nivel de proyecto se administran mediante el comando de gcloud, que forma parte del SDK de Google Cloud. Para ver la Política de Cloud IAM de un proyecto, usa el comando gcloud beta projects get-iam-policy.

JSON

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura la zona de pruebas para que use tus propias credenciales de OAuth.
  2. Usa cURL para llamar a la API de Resource Manager con una solicitud POST getIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X POST 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Length: 0"
    "https://cloudresourcemanager.googleapis.com/v1/projects/[PROJECT_NAME]:getIamPolicy"

Quita a un miembro de una política de nivel de proyecto

Console

  1. Abre el navegador IAM & Admin en Google Cloud Platform Console.
    Abrir el navegador IAM & Admin
  2. Selecciona el proyecto en el que deseas quitar a un miembro.

    Agrega un miembro a un proyecto.

  3. En el cuadro de diálogo Search members, especifica el nombre del miembro cuyo acceso quieres quitar.

  4. En los resultados debajo de la búsqueda, desplaza el cursor sobre el miembro que quieres quitar y haz clic en el ícono de papelera que aparece.

    Quita a un miembro de un proyecto.

  5. En la ventana de superposición que aparece, haz clic en Remove.

gsutil

Las Políticas de Cloud IAM a nivel de proyecto se administran con el comando de gcloud, que forma parte del SDK de Google Cloud. Para quitar una política a nivel de proyecto, usa gcloud beta projects remove-iam-policy-binding.

JSON

  1. Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura la zona de pruebas para que use tus propias credenciales de OAuth.
  2. Obtén la política existente aplicada a tu proyecto. Para hacerlo, usa cURL a fin de llamar a la API de Resource Manager con una solicitud POST getIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X POST 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Length: 0"
    "https://cloudresourcemanager.googleapis.com/v1/projects/[PROJECT_NAME]:getIamPolicy"

  3. Crea un archivo .json que contenga la política que recuperaste en el paso anterior.

  4. Edita el archivo .json para quitar al miembro de la política.

  5. Usa cURL para llamar a la API de Resource Manager con una solicitud POST setIamPolicy y reemplaza [VALUES_IN_BRACKETS] por los valores adecuados:

    curl -X POST --data-binary @[JSON_FILE_NAME].json 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Type: application/json"
    "https://cloudresourcemanager.googleapis.com/v1/projects/[PROJECT_NAME]:setIamPolicy"

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.