Cloud IAM 権限の使用

このページでは、Cloud Identity and Access Management(Cloud IAM)権限を使用して、バケットとオブジェクトへのアクセスを制御する方法を説明します。Cloud IAM を使用すると、バケットとオブジェクトにアクセスできるユーザーを制御できます。Cloud Storage に適用される Cloud IAM の概要については、Cloud IAM の概要をご覧ください。

バケットとオブジェクトへのアクセスを制御するその他の方法については、アクセス制御の概要をご覧ください。バケット内のオブジェクトのアクセスを個別に制御する方法については、アクセス制御リストをご覧ください。

バケットで Cloud IAM を使用する

バケットで基本的な Cloud IAM タスクを行う方法について説明します。

バケットレベルのポリシーにメンバーを追加する

Cloud Storage に関連付けられている役割のリストについては、Cloud IAM 役割をご覧ください。Cloud IAM 役割を付与するエンティティの詳細については、メンバーのタイプをご覧ください。

Console

  1. Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
    Cloud Storage ブラウザを開く
  2. メンバーに役割を付与するバケットのプルダウン メニューをクリックします。

    プルダウン メニューはバケットの行の右側にあり、3 つの縦方向のドットで表示されます。

  3. [バケットの権限を編集] を選択します。

  4. [メンバーを追加] フィールドに、バケットにアクセスが必要な ID を 1 つ以上入力します。

    メンバー追加ダイアログ

  5. [役割を選択] プルダウン メニューから役割を選択します。選択した役割と付与する権限の簡単な説明がペインに表示されます。

  6. [追加] をクリックします。

gsutil

gsutil iam ch コマンドを使用します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

[MEMBER_TYPE] に指定できる値のリストについては、gsutil iam のリファレンス ページをご覧ください。

コードサンプル

C++

詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。

は、
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) {
    throw std::runtime_error(policy.status().message());
  }

  policy->bindings.AddMember(role, member);

  StatusOr<google::cloud::IamPolicy> updated_policy =
      client.SetBucketIamPolicy(bucket_name, *policy);

  if (!updated_policy) {
    throw std::runtime_error(updated_policy.status().message());
  }

  std::cout << "Updated IAM policy bucket " << bucket_name
            << ". The new policy is " << *updated_policy << "\n";
}

C#

詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。

// 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

詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。

// 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

詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。

# 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. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. 次の情報を含む .json ファイルを作成します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

  3. cURL を使用して、JSON APIPUT setIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

    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"

バケットに適用される Cloud IAM ポリシーを表示する

Console

  1. Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
    Cloud Storage ブラウザを開く
  2. 役割のメンバーを表示するバケットのプルダウン メニューをクリックします。

    プルダウン メニューは、バケット名の右側に 3 つの縦方向のドットとして表示されます。

  3. [バケットの権限を編集] を選択します。

  4. 必要な役割を展開して、役割に割り当てられているメンバーを表示します。

  5. (省略可)検索バーを使用して、役割またはメンバーで結果をフィルタリングします。

    メンバーで検索すると、メンバーが割り当てられている役割が表示されます。

gsutil

gsutil iam get コマンドを使用します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

gsutil iam get gs://[BUCKET_NAME]

コードサンプル

C++

詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。

は、
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) {
    throw std::runtime_error(policy.status().message());
  }

  std::cout << "The IAM policy for bucket " << bucket_name << " is "
            << *policy << "\n";
}

C#

詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。

// 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

詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。

// 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

詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。

# 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. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. cURL を使用して、JSON APIGET getIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

バケットレベルのポリシーからメンバーを削除する

Console

  1. Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
    Cloud Storage ブラウザを開く
  2. メンバーの役割を削除するバケットのプルダウン メニューをクリックします。

    プルダウン メニューは、バケット名の右側に 3 つの縦方向のドットとして表示されます。

  3. [バケットの権限を編集] を選択します。

  4. 削除するメンバーが含まれている役割を展開します。

  5. メンバーにカーソルを合わせて、表示されたゴミ箱のアイコンをクリックします。

    プロジェクトからメンバーを削除する

  6. 上に重なったウィンドウで [削除] をクリックします。

gsutil

-d フラグを指定した gsutil iam ch コマンドを使用します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

[MEMBER_TYPE] に指定できる値のリストについては、gsutil iam のリファレンス ページをご覧ください。

コードサンプル

C++

詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。

は、
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) {
    throw std::runtime_error(policy.status().message());
  }

  policy->bindings.RemoveMember(role, member);

  StatusOr<google::cloud::IamPolicy> updated_policy =
      client.SetBucketIamPolicy(bucket_name, *policy);

  if (!updated_policy) {
    throw std::runtime_error(updated_policy.status().message());
  }

  std::cout << "Updated IAM policy bucket " << bucket_name
            << ". The new policy is " << *updated_policy << "\n";
}

C#

詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。

// 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

詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。

// 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

詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。

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

詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。

# 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. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. プロジェクトに適用されている既存のポリシーを取得します。この操作を行うには、cURL を使用して、JSON APIGET getIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

  3. 前の手順で取得したポリシーを含む .json ファイルを作成します。

  4. .json ファイルを編集し、ポリシーからメンバーを削除します。

  5. cURL を使用して、JSON APIPUT setIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

    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"

プロジェクトで Cloud IAM を使用する

プロジェクトで基本的な Cloud IAM タスクを行う方法について説明します。これらのタスクでは、大半の Cloud Storage タスクとは別のコマンドライン コマンド gcloud と別のエンドポイント cloudresourcemanager.googleapis.com を使用します。

プロジェクト レベルのポリシーにメンバーを追加する

Cloud Storage に関連付けられている役割のリストについては、Cloud IAM 役割をご覧ください。Cloud IAM 役割を付与するエンティティの詳細については、メンバーのタイプをご覧ください。

Console

  1. Google Cloud Platform Console で [IAM と管理] ブラウザを開きます。
    [IAM と管理] ブラウザを開く
  2. メンバーの追加先のプロジェクトを選択します。

    プロジェクトへのメンバーの追加

  3. [メンバーを追加] ダイアログで、アクセス権を付与するエンティティの名前を指定します。

    メンバー追加ダイアログ

  4. [役割を選択] プルダウン メニューで、チームメンバーに必要な権限を設定します。

    Cloud Storage のバケットとオブジェクトに影響を及ぼす役割は、[プロジェクト] と [ストレージ] サブメニューに表示されます。

  5. [追加] をクリックします。

gsutil

プロジェクト レベルの Cloud IAM ポリシーは、gcloud コマンドで管理します。このコマンドは Google Cloud SDK に含まれています。プロジェクト レベルのポリシーを追加するには、gcloud beta projects add-iam-policy-binding を使用します。

JSON

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. 次の情報を含む .json ファイルを作成します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

  3. cURL を使用して、Resource Manager APIPOST setIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

    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"

プロジェクトに適用される Cloud IAM ポリシーを表示する

Console

  1. Google Cloud Platform Console で [IAM と管理] ブラウザを開きます。
    [IAM と管理] ブラウザを開く
  2. ポリシーを表示するプロジェクトを選択します。

  3. 個々の役割に関連するプルダウンを使用して、役割を持つメンバーを確認します。あるいは、[メンバー検索] ダイアログを使用して、結果をフィルタリングします。

gsutil

プロジェクト レベルの Cloud IAM ポリシーは、gcloud コマンドで管理します。このコマンドは Google Cloud SDK に含まれています。プロジェクトの Cloud IAM ポリシーを表示するには、gcloud beta projects get-iam-policy コマンドを使用します。

JSON

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. cURL を使用して、Resource Manager APIPOST getIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

プロジェクト レベルのポリシーからメンバーを削除する

Console

  1. Google Cloud Platform Console で [IAM と管理] ブラウザを開きます。
    [IAM と管理] ブラウザを開く
  2. メンバーを削除するプロジェクトを選択します。

    プロジェクトへのメンバーの追加

  3. [メンバー検索] ダイアログで、アクセス権を削除するメンバーの名前を指定します。

  4. 検索結果の下で、削除するメンバーにカーソルを合わせます。表示されたゴミ箱のアイコンをクリックします。

    プロジェクトからメンバーを削除する

  5. 上に重なったウィンドウで [削除] をクリックします。

gsutil

プロジェクト レベルの Cloud IAM ポリシーは、gcloud コマンドで管理します。このコマンドは Google Cloud SDK に含まれています。プロジェクト レベルのポリシーを削除するには、gcloud beta projects remove-iam-policy-binding を使用します。

JSON

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. プロジェクトに適用されている既存のポリシーを取得します。この操作を行うには、cURL を使用して Resource Manager APIPOST getIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

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

  3. 前の手順で取得したポリシーを含む .json ファイルを作成します。

  4. .json ファイルを編集し、ポリシーからメンバーを削除します。

  5. cURL を使用して、Resource Manager APIPOST setIamPolicy リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。

    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"

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。