既知の問題と制約事項
既知の問題と制限には、 IBM Cloud® カタログ内の一部の製品へのアクセスを制限できないこと、および IBM Cloud Identity and Access Management (IAM) リソースを作成するための最大制限が含まれます。
アカウントのデフォルトの制限を確認するには 、 IBM Cloud IAM limits を参照してください。
Podman デスクトップ認証トークンが更新されない
Podman Desktopの古いバージョンでは、有効期限が切れた認証トークンが自動的に更新されないという既知の問題があります。 期限切れのトークンは、IAM での認証に何度も失敗する。 Podman Desktopをインストールした場合は、 バージョン 1.19.1
以降にアップデートしてください。
Podman はサードパーティの製品であり、 によって提供またはサポートされるものではありません。 は、 と との使用に関して責任を負うものではなく、特定の性能を保証するものでもありません。 IBM IBM Podman IBM Cloud
GoogleログインはフェデレーションIDをサポートしていません
GoogleフェデレーションIDを持つユーザーは、企業の外部IDプロバイダーによって追加のアクセスが必要になる可能性があるため、IDログインを利用できません(IdP)。
カタログ管理設定が一部の IBM 製品に適用されない
一部の製品は、以下のカタログ可視性設定の影響を受けません。
- IBM Cloud カタログの可視性をオフにする
- カタログからのすべての IBM Cloud 製品の除外
- プライベート・カタログからのすべての IBM Cloud 製品の除外
IBM Cloud コンソールの 「管理」>「カタログ」>「設定」 に移動すると、カタログの可視性の設定を表示および管理できます。
アカウントまたはプライベート・カタログの カタログの可視性の設定 に関係なく、ユーザーは引き続き API または CLI を使用して以下の製品のインスタンスを作成できます。
- Block Storage for VPC
- Citrix Netscaler VPX
- Fortigate Security Appliance
- Hardware Firewall
- ハードウェア・ファイアウォール 専用
- IBM Cloud Backup for Classic
- IBM Cloud Bare Metal Servers
- IBM Cloud Block Storage for Classic
- IBM Cloud Container Registry
- IBM Cloud Content Delivery Network
- IBM Cloud Direct Link
- IBM Cloud Direct Link on Classic
- IBM Cloud Functions
- IBM Cloud Gateway Appliance
- IBM Cloud ハードウェア・セキュリティー・モジュール
- IBM Cloud Kubernetes Service
- IBM Cloud Object Storage
- IBM Cloud Schematics
- IBM Cloud ロード・バランサー
- IBM Cloud Virtual Servers
- サブネットおよび IP
- Virtual Private Cloud
- Virtual Server for VPC
- VLAN
- VPN
- VPN for VPC
属性に基づくポリシーの制限
アクセス管理タグは、すべてのIAM対応サービスにスコープされたアクセスポリシーを作成した場合にのみ利用できる。 この場合、タグに基づいてアクセス権限を有効にする場合は、その他の属性は追加できません。 また、特定のロケーションやリソース・グループに基づくポリシーを使用する場合は、そのアクセス・ポリシーにタグは追加できません。
IAMロールの制限
名前が異なる2つのロールを作成することはできませんが、アクションのセットはまったく同じです。 IAMは、たとえ名前が一意であっても、同じパーミッションを持つロールを重複として扱う。
アクセス・ポリシー・バージョンの制限
2023 年 1 月 25 日現在、IAM は 2 つのバージョンの IAM ポリシー管理 API をサポートしています。 /v2/policies
と /v1/policies
。 v1/polices
では、ポリシーのサブジェクトとリソースの属性に対してストリング比較を行うことができます。 v2/polices
では、後方互換性を提供すると同時に、より複雑な比較、演算子、および時間ベースの条件を可能にする新しいスキーマが導入されました。
ストリングの比較
次の表は、 /v2/policies
構文を使用してアクセスポリシーを構築する際に使用できる文字列比較演算子をまとめたものです。 各バージョンの詳細については 、「 /v1/policies
と /v2/policies
の構文の比較」 を参照してください。
演算子の使用例については、 リソース属性に基づく条件 を参照してください。
最大 10 個の条件を持つことができ、最大 2 レベルまでネストすることができます。
オペレーター | 説明 |
---|---|
stringEquals |
大/小文字を区別するストリング比較。 ブール値または数値は、比較の前にストリングに変換されます。 |
stringMatch |
パターンと対象文字列の間で、大文字と小文字を区別した文字列の一致が、アスタリスク( * )、クエスチョンマーク( ? )、両方、またはなし(リテラル値と同じ)を使用して実行されます。 アスタリスク (* ) はストリング中のゼロ個以上の文字からなる任意の文字列を表し、疑問符 (? ) は任意の単一文字を表します。 アスタリスク * およびクエスチョンマーク
? は、それぞれを2組の波括弧 {{}} で囲むことで、リテラル値として表現することもできます。 |
stringExists |
ブール値 true は、文字列が存在しなければならず、空でもよいことを示します。 false は、文字列が存在してはならないことを示します。 |
stringEqualsAnyOf |
大文字と小文字を区別して、文字列の配列のいずれかの文字列と完全に一致する。 値は10個まで。 |
stringMatchAnyOf |
大文字と小文字を区別して、文字列の配列のいずれかの文字列と一致する。 文字列値には、アスタリスク( * )、クエスチョンマーク( ? )、両方、またはどちらも含まない(リテラル値と同じ)のいずれかを指定できます。 アスタリスク (* ) はストリング中のゼロ個以上の文字からなる任意の文字列を表し、疑問符 (? ) は任意の単一文字を表します。 アスタリスク * およびクエスチョンマーク ? は、それぞれを2組の波括弧 {{}} で囲むことで、リテラル値として表現することもできます。 値は10個まで。 |
例えば、以下のステートメントには、 stringEquals
を使用する operator
エレメントが含まれています。このエレメントは、アカウント ID とサービス名が value
エレメントと正確に一致する必要があることを指定します。 このステートメントには、 stringMatch
を使用して Event Streams トピックの命名パターンを指定する operator
エレメントも含まれています。これらのトピックは、これらの特定のリソースへのアクセスを編成するために使用できます。 これにより、 messagehub-topic-dev
で始まるアカウント内のすべてのトピックに 1 つのポリシーを割り当てることができます。
"resource": {
"attributes": [
{
"operator": "stringEquals",
"value": "0aeab68aabd14d89bd72e4330150710a0",
"key": "accountId"
},
{
"value": "messagehub",
"operator": "stringEquals",
"key": "serviceName"
},
{
"value": "messagehub-topic-dev*",
"operator": "stringMatch",
"key": "resource"
}
]
},
許可ポリシー は、現在 /v1/policies
でのみサポートされています。
コンソールでのポリシー・バージョンの確認
IAM アクセス・ポリシーの時間ベースおよびリソース属性ベースの条件では、 /v2/policies
構文を使用します。 /v1/policies
構文を使用するポリシーは、時間ベースおよびリソース属性ベースの条件を追加するのに適格ではありません。 API を使用して /v1/policies
を /v2/policies
に更新するには、 API を使用した条件による /v1/policies
の /v2/policies
への更新 を参照してください。 コンソールでこれらの条件を既存のポリシーに追加できるかどうかを確認するには、以下の手順を実行します。
-
**「管理」>「アクセス (IAM)」**に移動します。
-
検査するポリシーに応じて、 「ユーザー」、 「トラステッド・プロファイル」、 「サービス ID」、または 「アクセス・グループ」 を選択します。
-
特定のユーザー、トラステッド・プロファイル、サービス ID、またはアクセス・グループを選択します。
-
「アクセス」 > 「アクセス・ポリシー」 に移動します。
-
ポリシーをクリックします。
/v1/policies
は、以下の通知によって示されます。v1ポリシーに使用できない条件
-
(オプション)
/v1/policies
構文を使用するポリシーに条件を追加するには、元のポリシーを削除して、新しいポリシーを作成します。 コンソールでは、新しいポリシーは/v2/policies
構文を使用します。
API を使用した条件による /v1/policies
から /v2/policies
への更新
/v1/policies
構文を使用するポリシーは、時間ベースおよびリソース属性ベースの条件を追加するのに適格ではありません。 バージョンを更新するには、 V1 ID と組み込みたい任意の条件を指定した PUT /v2/policies/{id} を使用できます。 詳しくは、/v2/policies
を参照してください。
/v1/policies
構文と /v2/policies
構文の比較
各例のポリシーは、編集者役割を持つ請求サービスへのアクセス権限をユーザーに付与します。 /v2/policies
の例には、 "conditions"
パラメーターによって示される一時的な時間ベースの条件が含まれています。
ポリシーを編集、作成、および削除する場合は、対応する API バージョンを使用します。
/v1/policies
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Editor"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "000c49bc2724a07000010b1da94c4d0"
},
{
"name": "serviceName",
"value": "billing"
}
]
}
],
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-00000AV0S0"
}
]
}
]
}
/v1/policies
を使用してポリシーをリストすると、API は、 /v1/
と、アカウント内の各 /v2/
ポリシーのプレースホルダー・ポリシーを返します。 詳しくは、 /v1/policies
がアカウントの /v2/
ポリシーのプレースホルダーを返す を参照してください。
/v2/policies
{
"type": "access",
"control": {
"grant": {
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Editor"
}
]
}
},
"resource": {
"attributes": [
{
"operator": "stringEquals",
"value": "000c49bc2724a07000010b1da94c4d0",
"key": "accountId"
},
{
"value": "billing",
"operator": "stringEquals",
"key": "serviceName"
}
]
},
"rule": {
"operator": "and",
"conditions": [
{
"key": "{{environment.attributes.current_date_time}}",
"operator": "dateTimeGreaterThanOrEquals",
"value": "2023-01-01T09:00:00+00:00"
},
{
"key": "{{environment.attributes.current_date_time}}",
"operator": "dateTimeLessThanOrEquals",
"value": "2023-01-06T17:59:59+00:00"
}
]
},
"pattern": "time-based-conditions:once",
"subject": {
"attributes": [
{
"key": "iam_id",
"operator": "stringEquals",
"value": "IBMid-00000AV0S0"
}
]
}
}
/v1/policies
は、 /v2/
ポリシーのプレースホルダーを返します。
/v1/policies
を使用してポリシーをリストすると、API は、 /v1/
と、アカウント内の各 /v2/
ポリシーのプレースホルダー・ポリシーを返します。 プレースホルダーは、 /v1/
スキーマに従う一方で、アカウント内に追加のポリシーが存在することを示します。 /v2/
ポリシーの全内容を表示するには、 /v2/policies
を使用してポリシーをリストするか、 GET: v2/policies/<ID>
を使用して個々のポリシーを取得します。 例えば、以下のプレースホルダー・ポリシーを参照してください。
{
"id": "33b901fa-8ec5-4432-a2e6-24b6a212c20a",
"type": "access",
"description": "**This is a unsupported policy version placeholder, to view the full content, please call GET with provided href**",
"subjects": [{
"attributes": [{
"name": "iam_id",
"value": "unsupported version"
}]
}],
"roles": [{
"role_id": "crn:v1:bluemix:public:iam::::role:UnsupportedVersion",
"display_name": "Unsupported Version",
"description": "**This is a unsupported policy version placeholder, to view the full content, please call GET with provided href**"
}],
"resources": [{
"attributes": [{
"name": "accountId",
"value": "000c49bc2724a07000010b1da94c4d0"
}]
}],
"href": "https://iam.cloud.ibm.com/v2/policies/88b901fa-6ec5-888-a2e6-24b6a212c20a"
}
外部IDのやり取りを制限することで影響を受けるサービス
外部 ID とのやり取りを制限するには、アカウント内のリソースに対する IAM アクセス・ポリシーを持つユーザが、自分のアカウントまたは許可リストのアカウントで認証された場合にのみ、それらのリソースにアクセスする必要があります。 外部ID相互作用の設定が制限モードに設定されている場合、以下のサービスまたはその機能の一部が期待どおりに機能しないことがあります:
- IBM Cloud Satellite
- IBM Cloud Object Storage- パブリックアクセスのバケツにはアクセスできない
- IBM Cloud Code Engine
- IBM Cloud® DevOps Insights
- アクセスレポート(CSVまたはJSONリソースアクセスレポートの作成)
この設定の詳細については、「 外部 ID インタラクションの管理 」を参照してください。