アカウント制限の増加
デフォルトの最大限度は、アカウント内のエンティティー (アクセス・ポリシー、サービス ID、トラステッド・プロファイル、ID プロバイダー (IdP)、API キーなど) に対して設定されます。 ただし、ユース・ケースによっては、拡張された制限が必要になる場合があり、選択したエンティティーの増加を要求する必要があります。 アカウント内に存在するポリシーの数を確認するには、アカウント所有者であるか、すべてのアカウント管理サービスの管理者である必要があります。
アカウントのデフォルトの制限を確認するには 、 IBM Cloud IAM limits を参照してください。
IAM アイデンティティー・エンティティーの制限の引き上げ
アカウントがいずれかのエンティティの上限に近づくと、エンティティを作成するためのアクティビティ追跡イベントに警告が表示されます。 これらのイベントは、現在の制限を示します。 以下の例を参照してください。
Nov 26 16:46:01 iamid-6-11-12270-af4d601-cd77fd6bd-86gp7 at.log INFO IAM Identity Service: create account-serviceid 12345678-90ab-cdef-0123-456789abcdef -failure Warning: You have reached 100% of the maximum number of allowed Service IDs in account 11112222333344445555666677778888. Your current count is 3000, and the limit is 3000.
以下のタイプのエンティティーに対して、制限の引き上げを要求できます。
- ID 当たりの API キー
- サービス ID
- ID プロバイダー (IdPs)
- トラステッド・プロファイル
- 動的ルール
以下の基準が満たされている場合にのみ、選択したエンティティーの制限の引き上げを要求できます。
- すべてのアカウント管理サービスでアカウント所有者または管理者である。
- アカウント内のエンティティーの数をクリーンアップして削減するための取り組みが完了しました。
- 増加を要求するには、具体的で妥当なユース・ケースを用意する必要があります。
異なるエンティティーの制限の引き上げの要求
先に挙げた条件をすべて満たしている場合は、 コンソールでサポートケースを提出することで、選択したエンティティの限度額引き上げをリクエストできます。 この場合は、以下の情報をすべて提供してください。 要求の処理と承認には、それぞれの情報が必要です。
Request to increase account <entity> limit
のケース・タイトル- 制限の引き上げのユース・ケース
- アカウントの
<entities>
の数を減らすために行われたすべての取り組みに関する情報 - アカウント ID
- アカウントに必要な追加の
<entities>
の数をメモします。
要求が承認されると、アカウントの制限が変更されます。
ケースを通じて、エンティティー制限の更新が通知されます。
ポリシー制限の管理
アカウント内にポリシーがいくつあるかはっきりせず、個数の条件に達しないようにしたい場合は、アカウント内にあるポリシーの個数を確認し、上限に近ければポリシーを減らすことができます。 アカウントに存在するポリシーの数を確認するには、「All Account Management」サービスおよび「All Identity and Access enabled」サービスのアカウント所有者または管理者である必要があります。
API を使用したアカウントごとのポリシーの総数の表示
各アカウントのポリシーの合計数を取得するために、IAM ポリシー管理 API を使用することができます。
-
IBM Cloud® CLI にログインします。 複数のアカウントを持っている場合、使用するアカウントを選択するように求めるプロンプトが出されます。
-r
フラグを使用してリージョンを指定していない場合、リージョンも選択しなければなりません。ibmcloud login
資格情報が拒否された場合、統合 ID を使用している可能性があります。 フェデレーテッド ID を使用してログインするには、
--sso
フラグを使用します。 詳しくは、フェデレーテッド ID を使用したログインを参照してください。IBM Cloud CLI を初めて使用する場合は、入門チュートリアルを参照してください。
-
IAM アクセス・トークンを生成します。
ibmcloud iam oauth-tokens
-
次の
curl
コマンドを実行して、1 つのアカウント内のポリシーの合計数を取得します。account_id
照会パラメーターの正確な値を見つけるには、ibmcloud account list
コマンドを実行します。 アカウント ID は「アカウント GUID」列にあります。 JSON をフォーマット設定するjq
をインストールすることもできます。これは次の例のように使用します。curl --location --request GET "https://iam.cloud.ibm.com/v1/policies?account_id=<account_id>" \ --header "Content-Type: application/json" \ --header "Authorization: <IAM TOKEN>" | jq -r .policies | jq '. | length'
以下の出力例では、最後の行にポリシーの総数が表示されています。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2919 100 2919 0 0 3918 0 --:--:-- --:--:-- --:--:-- 3912
351
jq
をインストールして JSON をフォーマットします。 フィルター | jq -r .policies | jq '. | length'
は、アカウント内のポリシーの数をカウントします。 これを指定しないと、すべてのポリシーのリストが返されます。
CLI を使用したアカウントごとのポリシーの総数の表示
CLI を使用してアカウントごとのポリシーの総数を取得するには、次のコマンドを使用します。
ibmcloud iam account-policies --output json | jq '. | length'
以下の出力例は、ポリシーの総数を示しています。
351
jq
をインストールして JSON をフォーマットします。 フィルター | jq '. | length'
は、アカウント内のポリシーの数をカウントします。 これを指定しないと、すべてのポリシーのリストが返されます。
アカウントごとに特定の種類のポリシーの合計を表示する
特定の対象のポリシーの合計数を取得するために、IBM Cloud CLI を使用することができます。
ログインし、アカウントを選択して適切な CLI コマンドを実行します。 CLI 出力内の JSON をフォーマット設定する jq
をインストールすることもできます。
サービス ID のポリシーの数を取得するには:
ibmcloud iam service-policies <service-id> -f --output JSON | jq '. | length'
ユーザー名 (電子メール) のポリシーの数を取得するには:
ibmcloud iam user-policies <username> --output JSON | jq '. | length'
アクセス・グループ ID のポリシーの数を取得するには:
ibmcloud iam access-group-policies <access-group> -f --output JSON | jq '. | length'
jq
をインストールして JSON をフォーマットします。 フィルター | jq '. | length'
は、アカウント内のポリシーの数をカウントします。 これを指定しないと、すべてのポリシーのリストが返されます。
ルール制限の管理
アカウントにいくつのコンテキストベースの制限ルールがあるかわからず、上限に達するのを確実に避けたい場合は、アカウントにいくつのルールがあるかを確認し、上限に近づくにつれてポリシーを減らすよう努力することができます。
アカウントに存在するルールの数を確認するには、すべてのアカウント管理サービスおよびすべての ID およびアクセス対応サービスのアカウント所有者または管理者である必要があります。
API を使用したアカウントごとのルールの総数の表示
アカウントごとのルールの総数を取得するには、コンテキスト・ベースの制限 API を使用します。
-
IBM Cloud® CLI にログインします。 複数のアカウントを持っている場合、使用するアカウントを選択するように求めるプロンプトが出されます。
-r
フラグを使用してリージョンを指定していない場合、リージョンも選択しなければなりません。ibmcloud login
資格情報が拒否された場合、統合 ID を使用している可能性があります。 フェデレーテッド ID を使用してログインするには、
--sso
フラグを使用します。 詳しくは、フェデレーテッド ID を使用したログインを参照してください。IBM Cloud CLI を初めて使用する場合は、入門チュートリアルを参照してください。
-
IAM アクセス・トークンを生成します。
ibmcloud iam oauth-tokens
-
次の
curl
コマンドを入力すると、1つのアカウントにあるルールの総数が表示される。account_id
照会パラメーターの正確な値を見つけるには、ibmcloud account list
コマンドを実行します。 アカウント ID は「アカウント GUID」列にあります。 JSON をフォーマット設定するjq
をインストールすることもできます。これは次の例のように使用します。curl --location --request GET "https://cbr.cloud.ibm.com/v1/rules?account_id=<account_id>" --header "Content-Type: application/json" --header "Authorization: <IAM TOKEN>" | jq '.rules | length'
以下の出力例では、最後の行にルールの総数が表示されている:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3422 100 3422 0 0 7830 0 --:--:-- --:--:-- --:--:-- 7830
4
CLI を使用したアカウントごとのルールの総数の表示
アカウントごとのルールの総数を取得するには、コンテキスト・ベースの制限 CLI を使用します。
ic cbr rules --output json | jq '.rules | length'
以下の出力例は、ルールの総数を示しています。
4
ポリシーおよびルールの共有制限の引き上げの要求
以下の条件を満たす場合に限り、アカウントで許可されるポリシーとルールの合計数の上限増加を要求できます:
- すべてのアカウント管理サービスでアカウント所有者または管理者である。
- アクセス・グループが、アカウント内のポリシーの総数を制限するために現在使用されている。
- リソース・グループ別にグループ化されたリソースのポリシーを使用する。
- アカウント内のポリシーの数をクリーンアップし、削減するために取り組んできた。
- あなたはアカウント内のルールを整理し、数を減らす努力をした。
IAM ポリシーとコンテキスト・ベースの制限ルールは、合計された制限値を共有します。
記載されている条件をすべて満たしている場合は、 コンソールでサポートケースを送信することにより、保険契約限度額の引き上げをリクエストできます。 この場合は、以下の情報をすべて提供してください。 要求の処理および承認には、それぞれの情報が必要です。
Request to increase account policy limit
のケース・タイトル- 追加ポリシーのユース・ケース
- リソースを編成してアクセス権限を割り当てるためのベスト・プラクティスに従ってアカウントのポリシー数を削減するために行ってきたすべての取り組みに関する情報
- アカウント ID
- アカウント内で必要な追加ポリシーの数を明記する
- サブジェクトごとの引き上げを要求する場合は、サブジェクトごとに必要な追加ポリシーの数を明記する
- アクセス管理タグが付いたポリシーの数の引き上げを要求する場合は、アクセス管理タグが付いたポリシーが追加で何個必要になるかを明記する
- 追加のポリシーを作成する予定または計画する時期についての見積もり
Case を通して、ポリシー制限の更新が通知されます。