IBM Cloud Docs
リソースに対するアクセス権限の管理

リソースに対するアクセス権限の管理

IAM ポリシーを使用してユーザー ID またはサービス ID のアクセス権限を管理するには、アカウント所有者であるか、または正しいアクセス権限が割り当てられている必要があります。 ユーザーのアクセス権限をリソースに割り当てるには、アカウント内のすべてのサービスの管理者であるか、特定のサービスまたはサービス・インスタンスのための割り当てられた管理者である必要があります。 サービス ID にアクセス権限を割り当てるには、ID サービスまたは特定のサービス ID の管理者でなければなりません。

リソースへのアクセス権限の割り当て

次の 2 つのタイプのポリシーを使用して、リソースへのアクセス権限を割り当てることができます。

  • アカウント内のリソースへのアクセス権限 (1 つのタイプのみ、またはすべてのタイプのオプションを含む)
  • リソースグループ内のリソースへのアクセス(1つのリソースのみ、またはすべてのリソースへのアクセスオプションを含む)

現在使用中のサービスIDの既存のポリシーを削除または編集すると、サービスが中断される可能性があります。

アカウント管理タスク (ユーザーの招待と削除、「請求および使用量」の表示、サービス ID の管理、アクセス・グループの管理、ユーザー・アクセスの管理、すべての IAM 対応リソースへのアクセスの管理など) を実行するための完全な管理者アクセス権限をユーザーに付与するには、ユーザーに以下のアクセス権限を割り当てる必要があります。

  • 管理者およびマネージャーの役割を持つアイデンティティおよびアクセス権限付きサービスに関するポリシー。
  • 全アカウント管理サービスにおける管理者としての役割を持つポリシー。

アクセス管理タグを設定してアクセスを管理することもできます。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。

アカウント管理サービスの管理者役割を持つユーザーは、他のユーザーのアクセス権限を変更したり、管理者役割を持つ他のユーザーを含め、リソースからユーザーを削除したりすることができます。

コンソールでのリソースへのアクセス権限の割り当て

アカウント内の個別リソースへのアクセス権限を割り当てるか、または、アカウント内のすべてのリソースへのアクセス権限を割り当てるには、以下の手順を実行します。

  1. IBM Cloud コンソールで、管理 > アクセス (IAM) をクリックし、ユーザーまたは管理 > アクセス (IAM) を選択し、アクセス権限を割り当てる ID に応じて サービス ID を選択します。
  2. アクセス権限を割り当てるユーザーまたはサービス ID の**「アクション」** アイコン 「アクションのリスト」アイコン>**「アクセス権限の割り当て」**をクリックします。
  3. サービスグループまたは単一のサービスを選択します。 そして、「次へ」 をクリックします。
  4. アクセス権限のスコープをアカウント内のすべてのリソースに設定するか、属性に基づいて特定のリソースを選択します。
  5. 次へ をクリックします。
  6. 割り当てる役割の任意の組み合わせを選択し、確認をクリックします。
  7. 追加をクリックして、ポリシー構成をポリシー・サマリーに追加します。
  8. (オプション) ユーザーまたはサービス ID を**「アクセス・グループ」**に追加します。
    1. ユーザーまたはサービス ID を所属させるアクセス・グループを選択します。
    2. 「追加」 をクリックします
  9. 割り当て をクリックします。

リソースが含まれるリソース・グループに対する役割を持っていないユーザーは、リソースを表示することはできますが、アカウントの「リソース・リスト」ページからリソースにアクセスして作業を開始することはできません。 ユーザーがリソースにアクセスできるように、リソース・グループ自体にビューアー役割以上を割り当てます。

一部のアカウントでは、サービスIDの契約限度額の引き上げが可能です。 増加したポリシー制限を利用するには、 Event Streams または IBM Cloud Object Storage サービスへのアクセスを割り当ててください。 また、アクセス・ポリシーを特定のサービス・インスタンス、リソース・タイプ、リソースIDにスコープする必要があります。

コンソールでのリソース・グループ内のアクセス権限の割り当て

リソース・グループ内のすべてのリソースへのアクセス権限、または、リソース・グループ内の 1 つのサービスのみへのアクセス権限を割り当てるには、以下の手順を実行します。

  1. IBM Cloud コンソールで**「管理」>「アクセス (IAM)」をクリックし、どちらの ID にアクセス権限を割り当てるかに応じて、「ユーザー」または「サービス ID」**を選択します。
  2. アクセスを割り当てるユーザーまたはサービスIDをクリックし、 [アクセス] > [アクセスを割り当てる ] の順にクリックします。
  3. サービスグループまたは単一のサービスを選択します。 そして、「次へ」 をクリックします。
  4. アクセス権限のスコープを特定のリソースに設定します。 「リソース・グループ」 属性タイプを選択し、リソース・グループを入力します。
  5. 次へ をクリックします。
  6. リソース・グループを管理するアクセス役割を選択します。 そして、「次へ」 をクリックします。
  7. 割り当てる役割の任意の組み合わせを選択し、確認をクリックします。
  8. 追加をクリックして、ポリシー構成をポリシー・サマリーに追加します。
  9. 割り当て をクリックします。

リソースグループの管理権限の付与

サービス・アクセス権限を割り当てることなく、リソース・グループを表示または管理するためのアクセス権限を割り当てることができます。

管理者は、すべてのリソース・グループに対するビューアー役割を持つアクセス・グループを作成できます。 これにより、サービス・リソースへのアクセス権限を割り当てるときに、リソース・グループを表示するための追加ポリシーを作成する必要がなくなります。 ユーザーがリソース・グループ内にサービス・インスタンスを作成するには、そのリソース・グループに対するビューアー役割が必要です。

サービス・アクセス権限を割り当てずにリソース・グループにアクセス権限を割り当てるには、以下の手順を実行します。

  1. IBM Cloud コンソールで**「管理」>「アクセス (IAM)」をクリックし、どちらの ID にアクセス権限を割り当てるかに応じて、「ユーザー」または「サービス ID」**を選択します。
  2. アクセスを割り当てるユーザーまたはサービスIDをクリックし、 [アクセス] > [アクセスを割り当てる ] の順にクリックします。
  3. リソースグループのみを選択します。
  4. 条件を追加を選択します
  5. 「リソース・グループ」 属性タイプを選択し、リソース・グループを入力します。
  6. 次へ をクリックします。
  7. リソース・グループを表示または管理するためのアクセス役割を選択します。 次に、 「レビュー」 をクリックします。
  8. 追加をクリックして、ポリシー構成をポリシー・サマリーに追加します。
  9. 割り当て をクリックします。

アカウント内の使用可能なリソース・グループごとに必要に応じてこのタイプのポリシーを繰り返し、アカウント内のすべてのリソース・グループを管理するためのアクセス権限を割り当てることができます。

CLI を使用したリソースへのアクセス権限の割り当て

  1. IBM Cloud® CLI にログインします。 複数のアカウントを持っている場合、使用するアカウントを選択するように求めるプロンプトが出されます。 -r フラグを使用してリージョンを指定していない場合、リージョンも選択しなければなりません。

    ibmcloud login
    

    資格情報が拒否された場合、統合 ID を使用している可能性があります。 フェデレーテッド ID を使用してログインするには、--sso フラグを使用します。 詳しくは、フェデレーテッド ID を使用したログインを参照してください。

    IBM Cloud CLI を初めて使用する場合は、入門チュートリアルを参照してください。

  2. コマンド ibmcloud iam user-policy-create を使用して、アクセス・ポリシーを作成し、それをユーザーまたはサービス ID に割り当てます。

    • この例では、 sample-service サービスのすべてのインスタンスに対して、 Administrator 役割を持つアカウント内の個々のリソースへのアクセス権限を割り当てます。
    ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name sample-service
    
    • この例では、 Administrator 役割を持つ 「すべてのアカウント管理サービス」 へのアクセス権限を割り当てます。
    ibmcloud iam service-policy-create name@example.com --roles Administrator --account-management
    
    • この例では、 Administrator 役割を使用して 「すべての ID およびアクセス対応サービス (All Identity and Access enabled services)」 へのアクセス権限を割り当てます。
    ibmcloud iam service-policy-create name@example.com --roles Administrator --attributes serviceType=service
    
    • この例では、 Administrator 役割を使用して、 「すべての IAM アカウント管理サービス」 へのアクセス権限を割り当てます。
    ibmcloud iam service-policy-create name@example.com --roles Administrator --attributes service_group_id=IAM
    

    一部のアカウントでは、サービスIDの契約限度額の引き上げが可能です。 増加したポリシー制限を利用するには、 Event Streams または IBM Cloud Object Storage サービスへのアクセスを割り当ててください。 また、アクセス・ポリシーを特定のサービス・インスタンス、リソース・タイプ、リソースIDにスコープする必要があります。

    • この例では、 Manager ロールで Object Storage へのアクセスを割り当てています。 これは、特定のサービスインスタンス、リソースタイプ、リソースIDへのアクセスをスコープする:
    ibmcloud iam service-policy-create SERVICE_ID service-name cloud-object-storage --service-instance SERVICE_INSTANCE_GUID --resource-type RESOURCE_TYPE --resource RESOURCE --roles Manager
    

CLI を使用したリソース・グループ内のアクセス権限の割り当て

リソース・グループ内のすべてのリソース、またはリソース・グループの 1 つのサービスのみへのアクセス権限を割り当てる場合、ibmcloud user-policy-create コマンドを実行します。 次の例では、name@example.com に、リソース・グループ ID Operator に対する dda27e49d2a1efca58083a01dfde18f6 役割を与えます。

ibmcloud iam user-policy-create name@example.com --roles Operator --resource-type resource-group --resource dda27e49d2a1efca58083a01dfde18f6

リソース・グループ内のすべてのリソース、またはリソース・グループの 1 つのサービスのみへのアクセス権限を割り当てる場合、ibmcloud iam service-policy-create コマンドを実行します。 次の例では、test というリソース・グループに、サービス Administrator に対する sample-resource-group 役割を付与します。

ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group

CLI を使用してリソースグループを管理するためのアクセス権を割り当てる

サービス・アクセス権限を割り当てることなく、リソース・グループを表示または管理するためのアクセス権限を割り当てることができます。

管理者は、すべてのリソース・グループに対するビューアー役割を持つアクセス・グループを作成できます。 これにより、サービス・リソースへのアクセス権限を割り当てるときに、リソース・グループを表示するための追加ポリシーを作成する必要がなくなります。 ユーザーがリソース・グループ内にサービス・インスタンスを作成するには、そのリソース・グループに対するビューアー役割が必要です。

以下の例では、特定のリソース・グループのビューアーのポリシーを作成します。

iam user-policy-create name@example.com --roles Viewer --resource-type resource-group --resource fec6c95e6a0a44c5bcca138bfe5a1f9e

以下の例では、アカウント内のすべてのリソース・グループのビューアー用のポリシーを作成します。

iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

以下の例では、リソース・グループ内のすべてのリソースのビューアーのポリシーを作成します。

iam user-policy-create name@example.com --roles Viewer --resource-group-name satellite-test

API を使用したリソースへのアクセス権限の割り当て

次のサンプルリクエストで示されているように 、 IBM Cloud® Identity and Access Management (IAM)ポリシー管理API を呼び出すことで、アカウント内の個々のリソースへのアクセス、またはアカウント内のリソースの一覧へのアクセスを割り当てることができます。 次の要求例では、サービスのインスタンスに対する Administrator 役割のアクセス権限を付与します。

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Administrator role for SERVICE_NAME's RESOURCE_NAME",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "IBMid-123453user"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "$SERVICE_NAME"
        },
        {
          "name": "resource",
          "value": "$RESOURCE_NAME",
          "operator": "stringEquals"
        }
      ]
    }
  ]
}'
SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
      .name("iam_id")
      .value("EXAMPLE_USER_ID")
      .build();

PolicySubject policySubjects = new PolicySubject.Builder()
      .addAttributes(subjectAttribute)
      .build();

PolicyRole policyRoles = new PolicyRole.Builder()
      .roleId("crn:v1:bluemix:public:iam::::role:Administrator")
      .build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
      .name("accountId")
      .value(exampleAccountId)
      .operator("stringEquals")
      .build();

ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
      .name("serviceName")
      .value("service")
      .operator("stringEquals")
      .build();

PolicyResource policyResources = new PolicyResource.Builder()
      .addAttributes(accountIdResourceAttribute)
      .addAttributes(serviceNameResourceAttribute)
      .build();

CreatePolicyOptions options = new CreatePolicyOptions.Builder()
      .type("access")
      .subjects(Arrays.asList(policySubjects))
      .roles(Arrays.asList(policyRoles))
      .resources(Arrays.asList(policyResources))
      .build();

Response<Policy> response = service.createPolicy(options).execute();
Policy policy = response.getResult();

System.out.println(policy);
const policySubjects = [
  {
    attributes: [
      {
        name: 'iam_id',
        value: 'exampleUserId',
      },
    ],
  },
];
const policyRoles = [
  {
    role_id: 'crn:v1:bluemix:public:iam::::role:Administrator',
  },
];
const accountIdResourceAttribute = {
  name: 'accountId',
  value: exampleAccountId,
  operator: 'stringEquals',
};
const serviceNameResourceAttribute = {
  name: 'serviceName',
  value: 'service',
  operator: 'stringEquals',
};
const policyResources = [
  {
    attributes: [accountIdResourceAttribute, serviceNameResourceAttribute]
  },
];
const params = {
  type: 'access',
  subjects: policySubjects,
  roles: policyRoles,
  resources: policyResources,
};

iamPolicyManagementService.createPolicy(params)
  .then(res => {
    examplePolicyId = res.result.id;
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
policy_subjects = PolicySubject(
  attributes=[SubjectAttribute(name='iam_id', value='example_user_id')])
policy_roles = PolicyRole(
  role_id='crn:v1:bluemix:public:iam::::role:Administrator')
account_id_resource_attribute = ResourceAttribute(
  name='accountId', value=example_account_id)
service_name_resource_attribute = ResourceAttribute(
  name='serviceName', value='service')
policy_resources = PolicyResource(
  attributes=[account_id_resource_attribute,
        service_name_resource_attribute])

policy = iam_policy_management_service.create_policy(
  type='access',
  subjects=[policy_subjects],
  roles=[policy_roles],
  resources=[policy_resources]
).get_result()

print(json.dumps(policy, indent=2))
subjectAttribute := &iampolicymanagementv1.SubjectAttribute{
  Name:  core.StringPtr("iam_id"),
  Value: core.StringPtr("exampleUserID"),
}
policySubjects := &iampolicymanagementv1.PolicySubject{
  Attributes: []iampolicymanagementv1.SubjectAttribute{*subjectAttribute},
}
policyRoles := &iampolicymanagementv1.PolicyRole{
  RoleID: core.StringPtr("crn:v1:bluemix:public:iam::::role:Administrator"),
}
accountIDResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("accountId"),
  Value:    core.StringPtr(exampleAccountID),
  Operator: core.StringPtr("stringEquals"),
}
serviceNameResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("serviceName"),
  Value:    core.StringPtr("service"),
  Operator: core.StringPtr("stringEquals"),
}
policyResources := &iampolicymanagementv1.PolicyResource{
  Attributes: []iampolicymanagementv1.ResourceAttribute{
    *accountIDResourceAttribute, *serviceNameResourceAttribute}
}

options := iamPolicyManagementService.NewCreatePolicyOptions(
  "access",
  []iampolicymanagementv1.PolicySubject{*policySubjects},
  []iampolicymanagementv1.PolicyRole{*policyRoles},
  []iampolicymanagementv1.PolicyResource{*policyResources},
)

policy, response, err := iamPolicyManagementService.CreatePolicy(options)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(policy, "", "  ")
fmt.Println(string(b))

サービスのグループにアクセス権限を割り当てることができます。 「すべての ID およびアクセス対応サービス」 へのアクセス権限を割り当てるには、 name 属性に serviceType を指定し、 value service を使用します。 「すべてのアカウント管理サービス」 へのアクセス権限を割り当てるには、 name 属性に serviceType を指定し、 value platform_service を使用します。 アカウント管理サービスのサブセット 「すべての IAM アカウント管理サービス」 にアクセス権限を割り当てるには、 name 属性に service_group_id を指定し、 value IAM を使用します。

一部のアカウントでは、サービスIDの契約限度額の引き上げが可能です。 増加したポリシー制限を利用するには、 Event Streams または IBM Cloud Object Storage サービスへのアクセスを割り当ててください。 また、アクセス・ポリシーを特定のサービス・インスタンス、リソース・タイプ、リソースIDにスコープする必要があります。

以下のサンプルリクエストは、サービスID Reader ロールに Object Storageのインスタンスへのアクセスを与えます。 これは、特定のサービスインスタンス、リソースタイプ、リソースIDへのアクセスをスコープする:

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Reader role for SERVICE_NAME's RESOURCE_NAME",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "$SERVICE_ID"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "cloud-object-storage"
        },,
        {
          "name": "serviceInstance",
          "value": "$INSTANCE_ID",
          "operator": "stringEquals"
        }
        {
          "name": "resourceType",
          "value": "$RESOURCE_TYPE",
          "operator": "stringEquals"
        },
        {
          "name": "resource",
          "value": "$RESOURCE_NAME",
          "operator": "stringEquals"
        }
      ]
    }
  ]
}'

API を使用したリソース・グループ内のアクセス権限の割り当て

このアクションは、UI または CLI でのみ実行できます。 手順を確認するには、UI または CLI の指示に移動してください。

開始前に

Terraform を使用してリソースへのアクセス権限を割り当てる前に、以下を完了していることを確認してください。

  • Terraform CLI をインストールし、Terraform 用の IBM Cloud プロバイダー・プラグインを構成します。 詳しくは、 IBM Cloud® のチュートリアルを参照してください。 このプラグインは、以下のタスクを実行するために使用される IBM Cloud API を抽象化します。
  • main.tfという名前の Terraform 構成ファイルを作成します。 このファイルでは、 HashiCorp 構成言語を使用してリソースを定義します。 詳細については 、Terraformのドキュメントを参照してください。

Terraform を使用したリソースへのアクセス権限の割り当て

Terraform を使用してリソースへのアクセス権限を割り当てるには、以下の手順を実行します。

  1. main.tf ファイル内の ibm_iam_user_policy リソース引数を使用して、リソースへのアクセス権限を割り当てます。

    以下の例では、 ibm_iam_user_policy を使用して、 kms サービスのすべてのインスタンスに対する test@in.ibm.com Viewer 役割を付与します。

    resource "ibm_iam_user_policy" "policy" {
     ibm_id = "test@in.ibm.com"
     roles  = ["Viewer"]
    
    resources {
     service = "kms"
    }
    }
    

    一部のアカウントでは、サービスIDの契約限度額の引き上げが可能です。 増加したポリシー制限を利用するには、 Event Streams または IBM Cloud Object Storage サービスへのアクセスを割り当ててください。 また、アクセス・ポリシーを特定のサービス・インスタンス、リソース・タイプ、リソースIDにスコープする必要があります。

    次の例は、ibm_ iam _user_policyを使用して、サービスIDに Object Storageのインスタンスへのアクセス権を Reader。 これは、特定のサービスインスタンス、リソースタイプ、リソースIDへのアクセスをスコープする:

    resource "ibm_iam_service_policy" "policy" {
     iam_service_id = "$SERVICE_ID"
     roles          = ["Reader"]
    
    resources {
     service              = "cloud_object_storage"
     resource_instance_id = "$SERVICE_INSTANCE_ID"
     resource_type = "$RESOURCE_TYPE"
     resource      = "$RESOURCE"
    }
    }
    

    service オプションには、アクセス権限を割り当てる対象のサービスの名前を指定できます。 詳細については 、Terraform Identity and Access Management(IAM)ページの引数リファレンスの詳細を参照してください。

  2. 構成ファイルの作成が完了したら、Terraform CLI を初期化します。 詳しくは、 作業ディレクトリーの初期化を参照してください。

    terraform init
    
  3. main.tf ファイルからリソースをプロビジョンします。 詳しくは、 Terraform を使用したインフラストラクチャーのプロビジョニングを参照してください。

    1. terraform plan を実行して、提案されたアクションをプレビューするための Terraform 実行プランを生成します。

      terraform plan
      
    2. terraform apply を実行して、計画に定義されているリソースを作成します。

      terraform apply
      

Terraform を使用したリソース・グループ内のアクセス権限の割り当て

Terraform を使用してリソース・グループ内のアクセス権限を割り当てるには、以下の手順を実行します。

  1. main.tf ファイルで ibm_iam_user_policy リソースを使用して、リソース・グループ内のアクセス権限を割り当てます。

    以下の例では、 ibm_iam_user_policy を使用して、ID data.ibm_resource_group.group.id のリソース・グループに対する test@in.ibm.com Viewer 役割を付与します。

    data "ibm_resource_group" "group" {
     name = "default"
    }
    
    resource "ibm_iam_user_policy" "policy" {
     ibm_id = "test@in.ibm.com"
     roles  = ["Viewer"]
    
    resources {
     service           = "containers-kubernetes"
     resource_group_id = data.ibm_resource_group.group.id
    }
    }
    

    resource_group_id オプションでアクセスを割り当てたいリソースグループのIDを指定できます。 詳細については 、Terraform Identity and Access Management(IAM)ページの引数リファレンスの詳細を参照してください。

  2. 構成ファイルの作成が完了したら、Terraform CLI を初期化します。 詳しくは、 作業ディレクトリーの初期化を参照してください。

    terraform init
    
  3. main.tf ファイルからリソースをプロビジョンします。 詳しくは、 Terraform を使用したインフラストラクチャーのプロビジョニングを参照してください。

    1. terraform plan を実行して、提案されたアクションをプレビューするための Terraform 実行プランを生成します。

      terraform plan
      
    2. terraform apply を実行して、計画に定義されているリソースを作成します。

      terraform apply
      

コンソールでのアクセス権限の削除

ユーザーまたはサービス ID のアクセス権限を削除する場合、有効になるまでに最大 10 分かかることがあります。

  1. IBM Cloud コンソールで**「管理」>「アクセス (IAM)」をクリックし、どちらの ID を管理するかに応じて、「ユーザー」または「サービス ID」**を選択します。
  2. アクセス権限を削除するユーザーの名前またはサービス ID を選択します。
  3. アクセス タブから、削除したいポリシーの行にある 行動 アイコン アクションアイコン > 取り除く をクリックします。
  4. 削除しようとしているポリシーの詳細を確認し、確認のために**「削除」**をクリックします。

削除するユーザーまたはサービス ID のチェック・ボックスを選択して**「削除」をクリックすることでも、アクセス・グループからユーザーまたはサービス ID を削除することができます。 次に、「削除」**を再度クリックして、削除処理を承認します。

CLI を使用したアクセス権限の削除

CLI を使用してユーザー・ポリシーを削除するには、ibmcloud iam user-policy-delete コマンドを使用します。

ibmcloud iam user-policy-delete USER_ID POLICY_ID [-f, --force]

CLI を使用してサービス ID ポリシーを削除するには、ibmcloud iam service-policy-delete コマンドを使用します。

ibmcloud iam service-policy-delete SERVICE_ID POLICY_ID [-f, --force]

API を使用したアクセス権限の削除

ポリシーIDを指定して 、 IBM Cloud® Identity and Access Management (IAM)ポリシー管理API を呼び出すことで、ポリシーを削除します。次のサンプルリクエストに示されているように:

curl -X DELETE 'https://iam.cloud.ibm.com/v1/policies/$POLICY_ID' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json'
DeletePolicyOptions options = new DeletePolicyOptions.Builder()
      .policyId(examplePolicyId)
      .build();

service.deletePolicy(options).execute();
const params = {
  policyId: examplePolicyId,
};

iamPolicyManagementService.deletePolicy(params)
.then(res => {
  console.log(JSON.stringify(res, null, 2));
})
.catch(err => {
  console.warn(err)
});
response = iam_policy_management_service.delete_policy(
  policy_id=example_policy_id
).get_result()

print(json.dumps(response, indent=2))
options := iamPolicyManagementService.NewDeletePolicyOptions(
  examplePolicyID,
)

response, err := iamPolicyManagementService.DeletePolicy(options)
if err != nil {
  panic(err)
}

ロックされているサービス ID がサブジェクト ID に含まれている場合には、ポリシーは削除できません。

コンソールでの割り当て済みアクセス権限の確認

追加先のアカウントで割り当てられたアクセス権限を確認する必要がある場合は、以下の手順を実行します。

  1. IBM Cloud コンソールで**「管理」>「アクセス (IAM)」をクリックし、どちらの ID を確認するかに応じて、「ユーザー」または「サービス ID」**を選択します。
  2. 名前またはサービス ID を選択します。
  3. 「アクセス」タブで割り当てられたアクセス権を確認します。

追加のアクセス権限が必要な場合は、アカウント所有者に連絡してアクセス権限を更新してもらうか、サービスまたはサービス・インスタンスの管理者に連絡してアクセス・ポリシーを更新してもらう必要があります。

CLI を使用した割り当て済みアクセス権限の確認

追加先のアカウントで割り当てられたアクセス権限を確認する必要がある場合は、ibmcloud iam user-policies コマンドを使用できます。 次の例は、ユーザー name@example.com のポリシーをリストします。

ibmcloud iam user-policies name@example.com

API を使用した割り当て済みアクセス権限の確認

API を使用して実行できるのは、アカウント内のすべてのポリシーの取得と、属性値によるフィルター処理のみです。 IBM Cloud コンソールで 「管理」 >「ユーザー」 > 「ユーザー名」 > 「アクセス」 と進むことで、アカウントに割り当てられたアクセスを確認できます。 ポリシーを取得するには、次のサンプルリクエストに示されているように 、 IBM Cloud® Identity and Access Management (IAM)ポリシー管理APIを呼び出します

curl -X GET 'https://iam.cloud.ibm.com/v1/policies?account_id=$ACCOUNT_ID' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json'
ListPoliciesOptions options = new ListPoliciesOptions.Builder()
    .accountId(exampleAccountId)
    .iamId(EXAMPLE_USER_ID)
    .build();

Response<PolicyList> response = service.listPolicies(options).execute();
PolicyList policyList = response.getResult();

System.out.println(policyList);
const params = {
  accountId: exampleAccountId,
  iamId: exampleUserId
};

iamPolicyManagementService.listPolicies(params)
 .then(res => {
   console.log(JSON.stringify(res.result, null, 2));
 })
 .catch(err => {
   console.warn(err)
 });
policy_list = iam_policy_management_service.list_policies(
 account_id=example_account_id, iam_id=example_user_id
).get_result()

print(json.dumps(policy_list, indent=2))
options := iamPolicyManagementService.NewListPoliciesOptions(
 exampleAccountID,
)
options.SetIamID(exampleUserID)

policyList, response, err := iamPolicyManagementService.ListPolicies(options)
if err != nil {
 panic(err)
}
b, _ := json.MarshalIndent(policyList, "", "  ")
fmt.Println(string(b))