Access Analyzer ポリシーチェックリファレンス - AWS Identity and Access Management
エラー — ARN アカウントは許可されていませんエラー — ARN リージョンは許可されていませんエラー — データ型の不一致エラー - 大文字と小文字が違う重複したキーエラー — 無効なアクションエラー — 無効な ARN アカウントエラー — 無効な ARN プレフィックスエラー — 無効な ARN リージョンエラー — 無効な ARN リソースエラー — 無効な ARN サービスのケースエラー - 無効な条件データ型エラー - 無効な条件キーの形式エラー - 無効な条件の複数ブール値エラー - 無効な条件演算子エラー — 無効な効果エラー — 無効なグローバル条件キーエラー — 無効なパーティションエラー — 無効なポリシー要素エラー - 無効なプリンシパル形式エラー — 無効なプリンシパルキーエラー — 無効なリージョンエラー — 無効なサービスエラー — 無効なサービス条件キーエラー — 無効なサービスが動作していますエラー — 無効な演算子の変数エラー — 無効なバージョンエラー - Json 構文エラーエラー - Json 構文エラーエラー — アクションが見つかりませんエラー — ARN フィールドがありませんエラー — ARN リージョンがありませんエラー — 効果がありませんエラー — プリンシパルが見つかりませんエラー - 修飾子がありませんエラー — リソースがありませんエラー — ステートメントが見つかりませんエラー — 存在する場合はNULLエラー — SCP 構文エラー処理のワイルドカードエラー — SCP 構文エラー 条件を許可エラー — SCP 構文エラー NotAction を許可エラー — SCP 構文エラー リソースを許可エラー — SCP 構文エラー NotResourceエラー — SCP 構文エラー プリンシパルエラー — 一意の Sid が必要ですエラー — ポリシーでサポートされていないアクションエラー - サポートされていない要素の組み合わせエラー — サポートされていないグローバル条件キーエラー — サポートされていないプリンシパルエラー — ポリシーでサポートされていないリソース ARNエラー — サポートされていない Sidエラー - プリンシパルでサポートされていないワイルドカードエラー - 変数に中括弧がありませんエラー - 変数に引用符がありませんエラー — 変数でサポートされていないスペースエラー — 空の変数エラー - 要素で変数がサポートされていませんエラー — 変数はバージョンでサポートされていませんエラー — プライベート IP アドレスエラー — プライベート通知アドレスエラー — ポリシーのサイズが SCP クォータを超えていますエラー — 無効なサービスプリンシパルの形式エラー — 条件にタグキーがありませんエラー — VPC 形式が無効ですエラー — VPCE 形式が無効ですエラー — フェデレーティッドプリンシパルはサポートされていませんエラー — 条件キーでサポートされていないアクションエラー — ポリシーでサポートされていないアクションエラー — ポリシーでサポートされていないリソース ARNエラー — サービスプリンシパルでサポートされていない条件キーエラー — ロール信頼ポリシー構文エラー notprincipalエラー - ロール信頼ポリシーはプリンシパルでワイルドカードをサポートしていませんエラー — ロール信頼ポリシー構文エラー リソースエラー – IP 範囲のタイプが一致しませんエラー — 条件キーのアクションがありませんエラー — ロール信頼ポリシー内のフェデレーションプリンシパル構文が無効ですエラー — プリンシパルのアクションが一致しませんエラー — ロールエニウェア信頼ポリシーのアクションが見つかりません一般的な警告 — NotResource で SLR を作成する一般的な警告 — スターインアクションで NotResource の SLR を作成する一般的な警告 — NotAction および NotResource を使用した SLR の作成デフォルトの変数を指定するときにスペースを含めることはできますが、変数名にスペースを含めることはできません。一般的な警告 — アクションとリソースにスター付き SLR を作成する一般的な警告 — リソースにスターがあり、NotAction で SLR を作成する一般的な警告 — 非推奨のグローバル条件キー一般的な警告 - 無効な日付値一般的な警告 — 無効なロールリファレンス一般的な警告 — 無効なユーザーリファレンス一般的な警告-バージョンがありません一般的な警告 — 固有の Sid を推奨一般的な警告 – 演算子のようなもののないワイルドカード一般的な警告 — ポリシーのサイズが ID ポリシーのクォータを超えています一般的な警告 — ポリシーのサイズが リソースポリシーのクォータを超えています一般的な警告 - タイプの不一致一般的な警告 — 型の不一致ブール値一般的な警告-タイプが一致しない日付一般的な警告 - タイプ不一致番号一般的な警告-型が一致しない文字列一般的な警告 — 特定の github リポジトリとブランチを推奨一般的な警告 — ポリシーのサイズが信頼ポリシーのクォータを超えていますセキュリティ警告 — NotPrincipal で許可するセキュリティ警告 - 単一の値キーを持つ ForAllValuesセキュリティ警告 — NotResource でロールを渡すセキュリティ警告 — スター付きアクションで NotResource でロールを渡すセキュリティ警告 — NotAction および NotResource でロールを渡すセキュリティ警告 — リソースにスターでロールを渡すセキュリティ警告 — スターインアクションとリソースでロールを渡すセキュリティ警告 — リソースにスターと NotAction でロールを渡すセキュリティ警告 — ペアリングされた条件キーがありませんセキュリティ警告 — サービスに対してサポートされていないタグ条件キーで拒否セキュリティ警告 — サービスに対してサポートされていないタグ条件キーで NotAction を拒否するセキュリティ警告 — サービスプリンシパルへのアクセスを制限するセキュリティ警告 — oidc プリンシパルの条件キーがありませんセキュリティ警告 — github リポジトリの条件キーがありません提案 - 空の配列アクション提案 - 空の配列条件提案 – ForAllValues の空の配列条件提案 - 空の配列条件 ForAnyValue提案 - 空の条件 IfExists 提案 – 空の配列プリンシパル提案 — 空の配列リソース提案 — 空のオブジェクト条件提案 — 空のオブジェクト主体提案 — 空の Sid 値提案 — IP 範囲の改善提案 - 修飾子付き NULL提案 — プライベート IP アドレスのサブセット提案 — プライベート通知アドレスのサブセット提案 — 冗長なアクション提案 — 冗長な条件値 num提案 — 冗長リソース提案 — 冗長ステートメント提案 — サービス名のワイルドカード提案 — サービスに対してサポートされていないタグ条件キーで許可する提案 — サービス用にサポートされていないタグ条件キーで NotAction を許可する提案 — サービスプリンシパルで推奨される条件キー提案 — ポリシー内の不適切な条件キー提案 — ロール信頼ポリシーにおける冗長なプリンシパル提案 — 対象者のクレームタイプを確認する

Access Analyzer ポリシーチェックリファレンス

AWS Identity and Access Management Access Analyzer ポリシー検証を使用してポリシーを検証できます。IAM コンソールの AWS CLI、AWS API、または JSON ポリシーエディタを使用して、ポリシーを作成または編集できます。IAM Access Analyzer は、IAM ポリシーの文法および AWS ベストプラクティスに照らしてポリシーを検証します。セキュリティ警告、エラー、一般的な警告、ポリシーの提案を含むポリシー検証チェックの結果を表示できます。これらの結果により、機能的でセキュリティのベストプラクティスに準拠したポリシーの作成に役立つ実用的な推奨事項が示されます。IAM Access Analyzer が提供する基本ポリシーチェックのリストを以下に示します。ポリシー検証チェックの実行に関連する追加料金は発生しません。ポリシー検証を使用したポリシーの検証の詳細については、「IAM Access Analyzer でポリシーを検証する」を参照してください。

エラー — ARN アカウントは許可されていません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

ARN account not allowed: The service {{service}} does not support specifying an account ID in the resource ARN.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The service {{service}} does not support specifying an account ID in the resource ARN."

エラーの解決

リソース ARN からアカウント ID を削除します。一部の AWS サービスのリソース ARN は、アカウント ID の指定をサポートしていません。

たとえば、Amazon S3 では、アカウント ID をバケット ARN の名前空間としてサポートしていません。Amazon S3 バケット名はグローバルに一意であり、名前空間はすべての AWS アカウントによって共有されています。Amazon S3 で利用可能なすべてのリソースタイプを表示するには、「サービス認可リファレンス」の「Amazon S3 で定義されたリソースタイプ」を参照してください。

関連用語

エラー — ARN リージョンは許可されていません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

ARN Region not allowed: The service {{service}} does not support specifying a Region in the resource ARN.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The service {{service}} does not support specifying a Region in the resource ARN."

エラーの解決

リソース ARN からリージョンを削除します。一部の AWS サービスのリソース ARN は、リージョンの指定をサポートしていません。

たとえば、IAM はグローバルサービスです。IAM リソース ARN のリージョン部分は常に空白のままです。AWS アカウントが今日あるように、IAM リソースはグローバルです。たとえば、IAM ユーザーとしてサインインすると、あらゆるリージョンの AWS サービスにアクセスできます。

エラー — データ型の不一致

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Data type mismatch: The text does not match the expected JSON data type {{data_type}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The text does not match the expected JSON data type {{data_type}}."

エラーの解決

サポートされているデータ型を使用するようにテキストを更新します。

たとえば、Version グローバル条件キーには String データ型が必要です。日付または整数を指定すると、データ型が一致しません。

関連用語

エラー - 大文字と小文字が違う重複したキー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Duplicate keys with different case: The condition key {{key}} appears more than once with different capitalization in the same condition block. Remove the duplicate condition keys.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key {{key}} appears more than once with different capitalization in the same condition block. Remove the duplicate condition keys."

エラーの解決

同じ条件ブロック内の同様の条件キーを確認し、すべてのインスタンスで同じ大文字を使用します。

条件ブロックは、ポリシーステートメントの Condition 要素内のテキストです。条件キーの名前は大文字小文字を区別しません。条件キーのの大文字と小文字の区別は、使用する条件演算子によって異なります。条件キーでの大文字と小文字の区別に関する詳細については、IAM JSON ポリシー要素Conditionを参照してください。

関連用語

エラー — 無効なアクション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid action: The action {{action}} does not exist. Did you mean {{valid_action}}?

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The action {{action}} does not exist. Did you mean {{valid_action}}?"

エラーの解決

指定されたアクションが無効です。これは、サービスプレフィックスまたはアクション名を誤って入力した場合に発生します。一般的な問題については、ポリシーチェックによって推奨されるアクションが返されます。

関連用語

このエラーが発生した AWS 管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

次の AWS 管理ポリシーには、ポリシーステートメントに無効なアクションが含まれています。無効なアクションは、ポリシーで付与されるアクセス権限には影響しません。AWS 管理ポリシーを参照として使用して、管理ポリシーを作成する場合、AWS がポリシーから無効なアクションを削除することをお勧めします。

エラー — 無効な ARN アカウント

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid ARN account: The resource ARN account ID {{account}} is not valid. Provide a 12-digit account ID.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The resource ARN account ID {{account}} is not valid. Provide a 12-digit account ID."

エラーの解決

リソース ARN のアカウント ID を更新します。アカウント ID は 12 桁の整数です。アカウント ID を表示する方法については、「AWS アカウント IDの検索」を参照してください。

関連用語

エラー — 無効な ARN プレフィックス

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid ARN prefix: Add the required prefix (arn) to the resource ARN.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add the required prefix (arn) to the resource ARN."

エラーの解決

AWS リソースARNには、必要な arn: プレフィックスを含める必要があります。

関連用語

エラー — 無効な ARN リージョン

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid ARN Region: The Region {{region}} is not valid for this resource. Update the resource ARN to include a supported Region.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The Region {{region}} is not valid for this resource. Update the resource ARN to include a supported Region."

エラーの解決

リソースタイプは、指定されたリージョンではサポートされていません。各リージョンでサポートされている AWS サービスの表については、リージョン表リージョン表を参照してください。

関連用語

エラー — 無効な ARN リソース

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid ARN resource: Resource ARN does not match the expected ARN format. Update the resource portion of the ARN.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Resource ARN does not match the expected ARN format. Update the resource portion of the ARN."

エラーの解決

リソース ARN は、既知のリソースタイプの仕様と一致する必要があります。サービスに期待される ARN 形式を表示するには、「AWS サービスのアクション、リソース、および条件キー」を参照してください。サービスの名前を選択して、そのリソースタイプと ARN 形式を表示します。

関連用語

エラー — 無効な ARN サービスのケース

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid ARN service case: Update the service name ${service} in the resource ARN to use all lowercase letters.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Update the service name ${service} in the resource ARN to use all lowercase letters."

エラーの解決

リソース ARN 内のサービスは、サービスプレフィックスの仕様 (大文字化を含む) と一致する必要があります。サービスのプレフィックスについては、「AWS のサービスの アクション、リソース、および条件キー」を参照してください。サービスの名前を選択し、最初の文でそのプレフィックスを見つけます。

関連用語

エラー - 無効な条件データ型

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid condition data type: The condition value data types do not match. Use condition values of the same JSON data type.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition value data types do not match. Use condition values of the same JSON data type."

エラーの解決

条件キーと値のペアの値は、条件キーと条件演算子のデータ型と一致する必要があります。サービスの条件キーのデータ型を表示するには、「AWS サービスのアクション、リソース、および条件キー」を参照してください。サービスの名前を選択すると、そのサービスの条件キーが表示されます。

たとえば、CurrentTime グローバル条件キーは Date 条件演算子を使用します。条件ブロックの値に文字列または整数を指定すると、データ型は一致しません。

関連用語

エラー - 無効な条件キーの形式

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid condition key format: The condition key format is not valid. Use the format service:keyname.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key format is not valid. Use the format service:keyname."

エラーの解決

条件のキーと値のペアのキーは、サービスの仕様と一致する必要があります。サービスの条件キーを表示するには、「AWS のサービスのアクション、リソース、および条件キー」を参照してください。サービスの名前を選択すると、そのサービスの条件キーが表示されます。

関連用語

エラー - 無効な条件の複数ブール値

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid condition multiple Boolean: The condition key does not support multiple Boolean values. Use a single Boolean value.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key does not support multiple Boolean values. Use a single Boolean value."

エラーの解決

条件キーと値のペアのキーは、単一のブール値を想定しています。複数のブール値を指定すると、条件一致によって期待どおりの結果が返されないことがあります。

サービスの条件キーを表示するには、「AWS のサービスのアクション、リソース、および条件キー」を参照してください。サービスの名前を選択すると、そのサービスの条件キーが表示されます。

エラー - 無効な条件演算子

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid condition operator: The condition operator {{operator}} is not valid. Use a valid condition operator.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition operator {{operator}} is not valid. Use a valid condition operator."

エラーの解決

条件を更新して、サポートされている条件演算子を使用します。

関連用語

エラー — 無効な効果

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid effect: The effect {{effect}} is not valid. Use Allow or Deny.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The effect {{effect}} is not valid. Use Allow or Deny."

エラーの解決

Effect 要素を更新して、有効な効果を使用します。Effect の有効値は、AllowDeny です。

関連用語

エラー — 無効なグローバル条件キー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid global condition key: The condition key {{key}} does not exist. Use a valid condition key.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key {{key}} does not exist. Use a valid condition key."

エラーの解決

条件のキーバリューのペアの条件キーを更新して、サポートされているグローバル条件キーを使用します。

グローバル条件キーは、aws: プレフィックスが付いた条件キーです。AWS のサービスは、グローバル条件キーをサポートするか、サービスプレフィックスを含むサービス固有のキーを提供できます。たとえば、IAM 条件キーには iam: プレフィックスが含まれます。詳細については、「AWS のサービスのアクション、リソース、および条件キー」を参照し、キーを表示するサービスを選択します。

関連用語

エラー — 無効なパーティション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid partition: The resource ARN for the service {{service}} does not support the partition {{partition}}. Use the supported values: {{partitions}}

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The resource ARN for the service {{service}} does not support the partition {{partition}}. Use the supported values: {{partitions}}"

エラーの解決

リソース ARN を更新して、サポートされているパーティションを含めます。サポートされているパーティションを含めると、サービスまたはリソースは含めたパーティションをサポートしていない可能性があります。

パーティションは AWS リージョンのグループです。各 AWS アカウントのスコープは 1 つのパーティションです。クラシックリージョンでは、aws パーティションを使用します。中国リージョンでは、aws-cn を使用します。

関連用語

エラー — 無効なポリシー要素

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid policy element: The policy element {{element}} is not valid.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The policy element {{element}} is not valid."

エラーの解決

サポートされている JSON ポリシーの要素のみを含めるようにポリシーを更新します。

関連用語

エラー - 無効なプリンシパル形式

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid principal format: The Principal element contents are not valid. Specify a key-value pair in the Principal element.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The Principal element contents are not valid. Specify a key-value pair in the Principal element."

エラーの解決

プリンシパルを更新して、サポートされているキーと値のペアの形式を使用します。

リソースベースのポリシーでは、プリンシパルを指定できますが、アイデンティティベースのポリシーでは指定できません。

たとえば、 AWS アカウント内のすべてのユーザーのアクセスを定義するには、ポリシーで次のプリンシパルを使用します。

"Principal": { "AWS": "123456789012" }

関連用語

エラー — 無効なプリンシパルキー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid principal key: The principal key {{principal-key}} is not valid.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The principal key {{principal-key}} is not valid."

エラーの解決

プリンシパルキーバリューのペアのキーを更新して、サポートされているプリンシパルキーを使用します。サポートされているプリンシパルキーは次のとおりです。

  • AWS

  • CanonicalUser

  • Federated

  • サービス

関連用語

エラー — 無効なリージョン

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid Region: The Region {{region}} is not valid. Update the condition value to a suported Region.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The Region {{region}} is not valid. Update the condition value to a suported Region."

エラーの解決

条件キーと値のペアの値を更新し、サポートされているリージョンを含めます。各リージョンでサポートされている AWS サービスの表については、リージョン表リージョン表を参照してください。

関連用語

エラー — 無効なサービス

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid service: The service {{service}} does not exist. Use a valid service name.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The service {{service}} does not exist. Use a valid service name."

エラーの解決

アクションまたは条件キーのサービスプレフィックスは、サービスプレフィックスの仕様 (大文字化を含む) と一致する必要があります。サービスのプレフィックスを表示するには、「AWS サービスのアクション、リソース、条件キー」を参照してください。サービスの名前を選択し、最初の文でそのプレフィックスを見つけます。

関連用語

エラー — 無効なサービス条件キー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid service condition key: The condition key {{key}} does not exist in the service {{service}}. Use a valid condition key.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key {{key}} does not exist in the service {{service}}. Use a valid condition key."

エラーの解決

サービスの既知の条件キーを使用するには、条件キーと値のペアのキーを更新します。グローバル条件キーは、aws プレフィックスを持つ条件キーです。AWS のサービスは、サービスプレフィックスを含むサービス固有のキーを提供できます。サービスのプレフィックスを表示するには、「AWS サービスのアクション、リソース、条件キー」を参照してください。

関連用語

エラー — 無効なサービスが動作しています

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid service in action: The service {{service}} specified in the action does not exist. Did you mean {{service2}}?

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The service {{service}} specified in the action does not exist. Did you mean {{service2}}?"

エラーの解決

アクションのサービスプレフィクスは、サービスプレフィクスの仕様 (大文字化を含む) と一致する必要があります。サービスのプレフィックスを表示するには、「AWS サービスのアクション、リソース、条件キー」を参照してください。サービスの名前を選択し、最初の文でそのプレフィックスを見つけます。

関連用語

エラー — 無効な演算子の変数

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid variable for operator: Policy variables can only be used with String and ARN operators.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Policy variables can only be used with String and ARN operators."

エラーの解決

Resource 要素のポリシー変数、および Condition 要素の文字列比較を活用できます。条件では、文字列演算子または ARN 演算子を使用するときに変数がサポートされます。文字列演算子には StringEquals、 StringLike、 StringNotLike が含まれます。ARN 演算子には ArnEqualsArnLike が含まれます。ポリシー変数は、 数値、日付、ブール値、バイナリ、IPアドレス、Null演算子などの他の演算子では使用できません。

関連用語

エラー — 無効なバージョン

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid version: The version ${version} is not valid. Use one of the following versions: ${versions}

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The version ${version} is not valid. Use one of the following versions: ${versions}"

エラーの解決

 Version  ポリシー要素は、AWS このポリシーを処理するために使用される言語構文ルールを指定します。ポリシーの使用可能なすべての機能を使用するには、すべてのポリシーの Statement 要素の前に最新の Version 要素を含めます。

"Version": "2012-10-17"

関連用語

エラー - Json 構文エラー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Json syntax error: Fix the JSON syntax error at index {{index}} line {{line}} column {{column}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Fix the JSON syntax error at index {{index}} line {{line}} column {{column}}."

エラーの解決

ポリシーに構文エラーがあります。JSON 構文を確認してください。

関連用語

エラー - Json 構文エラー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Json syntax error: Fix the JSON syntax error.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Fix the JSON syntax error."

エラーの解決

ポリシーに構文エラーがあります。JSON 構文を確認してください。

関連用語

エラー — アクションが見つかりません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing action: Add an Action or NotAction element to the policy statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add an Action or NotAction element to the policy statement."

エラーの解決

AWSJSON ポリシーには Action または NotAction 要素を含める必要があります。

関連用語

エラー — ARN フィールドがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing ARN field: Resource ARNs must include at least {{fields}} fields in the following structure: arn:partition:service:region:account:resource

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Resource ARNs must include at least {{fields}} fields in the following structure: arn:partition:service:region:account:resource"

エラーの解決

リソース ARN のすべてのフィールドは、既知のリソースタイプの仕様と一致する必要があります。サービスに期待される ARN 形式を表示するには、「AWS サービスのアクション、リソース、および条件キー」を参照してください。サービスの名前を選択して、そのリソースタイプと ARN 形式を表示します。

関連用語

エラー — ARN リージョンがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing ARN Region: Add a Region to the {{service}} resource ARN.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a Region to the {{service}} resource ARN."

エラーの解決

ほとんどの AWS サービスのリソース ARN では、リージョンを指定する必要があります。各リージョンでサポートされている AWS サービスの表については、リージョン表リージョン表を参照してください。

関連用語

エラー — 効果がありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing effect: Add an Effect element to the policy statement with a value of Allow or Deny.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add an Effect element to the policy statement with a value of Allow or Deny."

エラーの解決

AWS JSON ポリシーには Effect および Allow の値を持つ Deny 要素を含める必要があります。

関連用語

エラー — プリンシパルが見つかりません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing principal: Add a Principal element to the policy statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a Principal element to the policy statement."

エラーの解決

リソースベースのポリシーには Principal 要素を含める必要があります。

たとえば、 AWS アカウント内のすべてのユーザーのアクセスを定義するには、ポリシーで次のプリンシパルを使用します。

"Principal": { "AWS": "123456789012" }

関連用語

エラー - 修飾子がありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing qualifier: The request context key ${key} has multiple values. Use the ForAllValues or ForAnyValue condition key qualifiers in your policy.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The request context key ${key} has multiple values. Use the ForAllValues or ForAnyValue condition key qualifiers in your policy."

エラーの解決

 Condition 要素に、条件演算子 (等しい、より小さい、など) を使用して、ポリシーの条件キーと値をリクエストコンテキストのキーと値に一致させる式を構築します。1 つの条件キーに複数の値が含まれるリクエストの場合、配列のように条件を角括弧で囲む必要があります ("Key2":["Value2A", "Value2B"])。また、 ForAllValues または ForAnyValue  set 演算子を StringLike 条件演算子とともに使用する必要もあります。これらの限定子によって条件演算子にセット演算機能が追加されるため、複数のリクエスト値を複数の条件値と照合できます。

関連用語

このエラーが発生した AWS 管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

次の AWS 管理ポリシーでは、ポリシーステートメントに条件キーの修飾子がありません。AWS 管理ポリシーを参照として使用してカスタマー管理ポリシーを作成する場合、 AWS は ForAllValues または ForAnyValue 条件キー修飾子を Condition 要素に追加することをお勧めします。

エラー — リソースがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing resource: Add a Resource or NotResource element to the policy statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a Resource or NotResource element to the policy statement."

エラーの解決

ロール信頼ポリシーを除くすべてのポリシーには、Resource または NotResource 要素を含める必要があります。

関連用語

エラー — ステートメントが見つかりません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing statement: Add a statement to the policy

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a statement to the policy"

エラーの解決

JSON ポリシーには、ステートメントを含める必要があります。

関連用語

エラー — 存在する場合はNULL

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Null with if exists: The Null condition operator cannot be used with the IfExists suffix. Update the operator or the suffix.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The Null condition operator cannot be used with the IfExists suffix. Update the operator or the suffix."

エラーの解決

IfExists 条件演算子を除く任意の条件演算子名の末尾に Null を追加できます。条件キーが承認時に存在するかどうかを確認するには、Null 条件演算子を使用します。...ifExists を使用して、「ポリシーキーがリクエストのコンテキストで存在する場合、ポリシーで指定されたとおりにキーを処理します。キーが存在しない場合、条件要素は true と評価されます。」

関連用語

エラー — SCP 構文エラー処理のワイルドカード

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

SCP syntax error action wildcard: SCP actions can include wildcards (*) only at the end of a string. Update {{action}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "SCP actions can include wildcards (*) only at the end of a string. Update {{action}}."

エラーの解決

AWS Organizations サービスコントロールポリシー (SCP) では、Action または NotAction 要素での値の指定をサポートします。ただし、これらの値には、文字列の末尾にのみワイルドカード (*) を含めることができます。つまり、iam:Get* は指定できますが、iam:*role は指定できません。

複数のアクションを指定するには、AWSは、個別にリストすることをお勧めします。

関連用語

エラー — SCP 構文エラー 条件を許可

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

SCP syntax error allow condition: SCPs do not support the Condition element with effect Allow. Update the element Condition or the effect.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "SCPs do not support the Condition element with effect Allow. Update the element Condition or the effect."

エラーの解決

AWS Organizations サービスコントロールポリシー (SCP) では、Condition を使用する場合にのみ "Effect": "Deny" 要素に値を指定することをサポートします。

単一のアクションのみを許可するために、...NotEquals バージョンの条件演算子を使用して指定した条件以外のすべてへのアクセスを拒否できます。これは、演算子によって行われた比較を無効にします。

関連用語

エラー — SCP 構文エラー NotAction を許可

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

SCP syntax error allow NotAction: SCPs do not support NotAction with effect Allow. Update the element NotAction or the effect.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "SCPs do not support NotAction with effect Allow. Update the element NotAction or the effect."

エラーの解決

AWS Organizationsサービスコントロールポリシー (SCP) は、NotAction での "Effect": "Allow" 要素の使用をサポートしていません。

アクションのリストを許可するか、またはリストされていないすべてのアクションを拒否するには、ロジックを書き直す必要があります。

関連用語

エラー — SCP 構文エラー リソースを許可

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

SCP syntax error allow resource: SCPs do not support Resource with effect Allow. Update the element Resource or the effect.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "SCPs do not support Resource with effect Allow. Update the element Resource or the effect."

エラーの解決

AWS Organizationsサービスコントロールポリシー (SCP) では、Resource を使用する場合にのみ "Effect": "Deny" 要素に値を指定することをサポートします。

すべてのリソースを許可するか、リストされているすべてのリソースを拒否するには、ロジックを書き直す必要があります。

関連用語

エラー — SCP 構文エラー NotResource

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

SCP syntax error NotResource: SCPs do not support the NotResource element. Update the policy to use Resource instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "SCPs do not support the NotResource element. Update the policy to use Resource instead."

エラーの解決

AWS Organizationsサービスコントロールポリシー (SCP) は、NotResource 要素をサポートしていません。

すべてのリソースを許可するか、リストされているすべてのリソースを拒否するには、ロジックを書き直す必要があります。

関連用語

エラー — SCP 構文エラー プリンシパル

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

SCP syntax error principal: SCPs do not support specifying principals. Remove the Principal or NotPrincipal element.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "SCPs do not support specifying principals. Remove the Principal or NotPrincipal element."

エラーの解決

AWS Organizationsサービスコントロールポリシー (SCP) は、Principal または NotPrincipal 要素をサポートしていません。

aws:PrincipalArn 要素の Condition グローバル条件キーを使用してAmazon リソースネーム (ARN) を指定できます。

関連用語

エラー — 一意の Sid が必要です

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unique Sids required: Duplicate statement IDs are not supported for this policy type. Update the Sid value.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Duplicate statement IDs are not supported for this policy type. Update the Sid value."

エラーの解決

一部のポリシータイプでは、ステートメント ID は一意である必要があります。Sid (ステートメント ID) 要素を使用すると、ポリシーステートメントに指定するオプションの識別子を入力できます。SID 要素を使用して、ステートメント配列内の各ステートメントにステートメントID値を割り当てることができます。SQS や SNS などの エレメントを特定するサービスでは、Sid 値はポリシードキュメント ID のサブ ID に過ぎません。たとえば、IAM では、Sid 値は JSON ポリシー内で固有のものである必要があります。

関連用語

エラー — ポリシーでサポートされていないアクション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported action in policy: The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}."

エラーの解決

一部のアクションは、異なるリソースタイプに添付された、リソースベースのポリシーの Action エレメントではサポートされていません。例えば、 AWS Key Management Service アクションは、Amazon S3 バケットのポリシーではサポートされていません。リソースベースのポリシーに添付のリソースタイプでサポートされているアクションを指定してください。

関連用語

エラー - サポートされていない要素の組み合わせ

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported element combination: The policy elements ${element1} and ${element2} can not be used in the same statement. Remove one of these elements.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The policy elements ${element1} and ${element2} can not be used in the same statement. Remove one of these elements."

エラーの解決

JSON ポリシーの要素の組み合わせによっては、一緒に使用できないものもあります。たとえば、ActionNotAction を同じポリシーステートメントで使用することはできません。相互に排他的な他のペアには、Principal/NotPrincipalResource/NotResource が含まれます。

関連用語

エラー — サポートされていないグローバル条件キー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported global condition key: The condition key aws:ARN is not supported. Use aws:PrincipalArn or aws:SourceArn instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key aws:ARN is not supported. Use aws:PrincipalArn or aws:SourceArn instead."

エラーの解決

AWS は、指定されたグローバル条件キーの使用をサポートしていません。ユースケースに応じて、aws:PrincipalArnまたはaws:SourceArnグローバル条件キーを使用できます。たとえば、aws:ARN の代わりに aws:PrincipalArn を使用して、リクエストを行ったプリンシパルの Amazon リソースネーム (ARN) をポリシーで指定した ARN と比較します。代わりに、aws:SourceArn グローバル条件キーを使用して、サービス間リクエストを行っているリソースの Amazon リソースネーム (ARN) を、ポリシーで指定した ARN と比較します。

関連用語

エラー — サポートされていないプリンシパル

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported principal: The policy type ${policy_type} does not support the Principal element. Remove the Principal element.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The policy type ${policy_type} does not support the Principal element. Remove the Principal element."

エラーの解決

Principal 要素は、リソースへのアクセスを許可または拒否するプリンシパルを指定します。Principal エレメントを IAM アイデンティティベースのポリシーで使用することはできません。これは、IAM ロール用の信頼ポリシーおよびリソースベースのポリシーで使用することができます。リソースベースのポリシーは、リソースに直接埋め込むポリシーです。たとえば、Amazon S3 バケットあるいは AWS KMS キーにポリシーを埋め込むことができます。

関連用語

エラー — ポリシーでサポートされていないリソース ARN

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported resource ARN in policy: The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}."

エラーの解決

ポリシーが異なるリソースタイプに添付されている場合、一部のリソース ARN は、リソースベースのポリシーの Resource エレメントではサポートされていません。例えば、 AWS KMS ARN は Amazon S3 バケットの Resource ポリシーではサポートされていません。リソースベースのポリシーに添付のリソースタイプでサポートされているリソース ARN を指定してください。

関連用語

エラー — サポートされていない Sid

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported Sid: Update the characters in the Sid element to use one of the following character types: [a-z, A-Z, 0-9]

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Update the characters in the Sid element to use one of the following character types: [a-z, A-Z, 0-9]"

エラーの解決

Sid 要素では、大文字、小文字、および数字をサポートしています。

関連用語

エラー - プリンシパルでサポートされていないワイルドカード

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported wildcard in principal: Wildcards (*, ?) are not supported with the principal key {{principal_key}}. Replace the wildcard with a valid principal value.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Wildcards (*, ?) are not supported with the principal key {{principal_key}}. Replace the wildcard with a valid principal value."

エラーの解決

Principal 要素構造体は、キーバリューのペアの使用をサポートしています。ポリシーで指定されたプリンシパル値には、ワイルドカード (*) が含まれます。指定したプリンシパルキーにワイルドカードを含めることはできません。たとえば、Principal エレメント内でユーザーを指定する際に、"すべてのユーザー" の意味でワイルドカード () を使用することはできません。特定のユーザーに名前を付ける必要があります。同様に、要素で引き受けたロールセッションを指定する場合、ワイルドカードを使用して「すべてのセッション」を意味することはできません。特定のセッションに名前を付ける必要があります。また、ワイルドカードとして使用して、名前または ARN の一部に一致させることはできません。

この結果を解決するには、ワイルドカードを削除し、より具体的なプリンシパルを指定します。

関連用語

エラー - 変数に中括弧がありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing brace in variable: The policy variable is missing a closing curly brace. Add } after the variable text.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The policy variable is missing a closing curly brace. Add } after the variable text."

エラーの解決

ポリシー変数構造は、$ プレフィックスとそれに続く中括弧 ({ }) のペアの使用をサポートします。${ } 文字の中に、ポリシーで使用するリクエストの値の名前を含めます。

この結果を解決するには、欠落している中括弧を追加して、中括弧の完全な開閉セットが存在することを確認します。

関連用語

エラー - 変数に引用符がありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing quote in variable: The policy variable default value must begin and end with a single quote. Add the missing quote.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The policy variable default value must begin and end with a single quote. Add the missing quote."

エラーの解決

ポリシーに変数を追加するときに、変数のデフォルト値を指定できます。変数が存在しない場合、AWS では、指定されたデフォルトのテキストが使用されます。

変数にデフォルト値を追加するには、デフォルト値を一重引用符 (' ') で囲み、変数テキストとデフォルト値をコンマとスペース (, ) で区切ります。

例えば、プリンシパルが team=yellow でタグ付けされている場合、amzn-s3-demo-bucket-yellow という名前で amzn-s3-demo-bucket Amazon S3 バケットにアクセスできます。このリソースを使用するポリシーでは、チームメンバーが自分のリソースにアクセスすることは許可されますが、他のチームのリソースにアクセスすることはできません。チームタグのないユーザーには、company-wide のデフォルト値を設定できます。これらのユーザーは amzn-s3-demo-bucket-company-wide バケットにのみアクセスでき、チームへの参加方法などの一般的な情報を確認できます。

"Resource":"arn:aws:s3:::amzn-s3-demo-bucket-${aws:PrincipalTag/team, 'company-wide'}"

関連用語

エラー — 変数でサポートされていないスペース

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported space in variable: A space is not supported within the policy variable text. Remove the space.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "A space is not supported within the policy variable text. Remove the space."

エラーの解決

ポリシー変数構造は、$ プレフィックスとそれに続く中括弧 ({ }) のペアの使用をサポートします。${ } 文字の中に、ポリシーで使用するリクエストの値の名前を含めます。デフォルトの変数を指定するときにスペースを含めることはできますが、変数名にスペースを含めることはできません。

関連用語

エラー — 空の変数

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty variable: Empty policy variable. Remove the ${ } variable structure or provide a variable within the structure.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Empty policy variable. Remove the ${ } variable structure or provide a variable within the structure."

エラーの解決

ポリシー変数構造は、$ プレフィックスとそれに続く中括弧 ({ }) のペアの使用をサポートします。${ } 文字の中に、ポリシーで使用するリクエストの値の名前を含めます。

関連用語

エラー - 要素で変数がサポートされていません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Variable unsupported in element: Policy variables are supported in the Resource and Condition elements. Remove the policy variable {{variable}} from this element.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Policy variables are supported in the Resource and Condition elements. Remove the policy variable {{variable}} from this element."

エラーの解決

Resource 要素のポリシー変数、および Condition 要素の文字列比較を活用できます。

関連用語

エラー — 変数はバージョンでサポートされていません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Variable unsupported in version: To include variables in your policy, use the policy version 2012-10-17 or later.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "To include variables in your policy, use the policy version 2012-10-17 or later."

エラーの解決

ポリシー変数を使用するには、ステートメントに Version エレメントを含めて、ポリシー変数をサポートするバージョンに設定する必要があります。変数はバージョン 2012-10-17 から導入されました。旧バージョンでのポリシー言語では、ポリシー変数をサポートしていません。Version2012-10-17 以降に設定しない場合、${aws:username} などの変数はポリシーでリテラル文字列として扱われます。

Version ポリシー要素は、ポリシーバージョンとは異なります。Version ポリシー要素は、ポリシー内で使用され、ポリシー言語のバージョンを定義します。ポリシーバージョンは、IAM でカスタマーマネージド型ポリシーを変更すると作成されます。変更されたポリシーによって既存のポリシーが上書きされることはありません。代わりに、IAM はマネージド型ポリシーの新しいバージョンを作成します。

関連用語

エラー — プライベート IP アドレス

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Private IP address: aws:SourceIp works only for public IP address ranges. The values for condition key aws:SourceIp include only private IP addresses and will not have the desired effect. Update the value to include only public IP addresses.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "aws:SourceIp works only for public IP address ranges. The values for condition key aws:SourceIp include only private IP addresses and will not have the desired effect. Update the value to include only public IP addresses."

エラーの解決

グローバル条件キーは、aws:SourceIp パブリック IP アドレス範囲に対してのみ機能します。このエラーは、ポリシーでプライベート IP アドレスのみが許可されている場合に表示されます。この場合、条件は一致しません。

エラー — プライベート通知アドレス

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Private NotIpAddress: The values for condition key aws:SourceIp include only private IP addresses and has no effect. aws:SourceIp works only for public IP address ranges. Update the value to include only public IP addresses.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The values for condition key aws:SourceIp include only private IP addresses and has no effect. aws:SourceIp works only for public IP address ranges. Update the value to include only public IP addresses."

エラーの解決

グローバル条件キーは、aws:SourceIp パブリック IP アドレス範囲に対してのみ機能します。NotIpAddress 条件演算子を使用し、プライベートIPアドレスのみをリストすると、このエラーが発生します。この場合、条件は常に一致し、効果がありません。

エラー — ポリシーのサイズが SCP クォータを超えています

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Policy size exceeds SCP quota: The {{policySize}} characters in the service control policy (SCP) exceed the {{policySizeQuota}} character maximum for SCPs. We recommend that you use multiple granular policies.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{policySize}} characters in the service control policy (SCP) exceed the {{policySizeQuota}} character maximum for SCPs. We recommend that you use multiple granular policies."

エラーの解決

AWS Organizations サービスコントロールポリシー (SCP) では、Action または NotAction 要素での値の指定をサポートします。ただし、これらの値には、文字列の末尾にのみワイルドカード (*) を含めることができます。つまり、iam:Get* は指定できますが、iam:*role は指定できません。

複数のアクションを指定するには、AWSは、個別にリストすることをお勧めします。

関連用語

エラー — 無効なサービスプリンシパルの形式

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid service principal format: The service principal does not match the expected format. Use the format {{expectedFormat}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The service principal does not match the expected format. Use the format {{expectedFormat}}."

エラーの解決

条件のキーバリューのペアの値は、定義されたサービスプリンシパルの形式と一致する必要があります。

サービスプリンシパルは、サービスにアクセス許可を付与するために使用される識別子です。Principal エレメントか、一部のグローバル条件キーとサービス固有のキーの値で、サービスプリンシパルを指定できます。サービスプリンシパルは各サービスによって定義されます。

サービスプリンシパルの識別子にはサービス名が含まれ、通常はすべて小文字で、次の形式になります。

service-name.amazonaws.com

サービス固有のキーによっては、サービスプリンシパルの形式が異なる場合があります。例えば、kms:ViaService 条件キーには、サービスプリンシパルは小文字で、次の形式になっている必要があります。

service-name.AWS_region.amazonaws.com

関連用語

エラー — 条件にタグキーがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing tag key in condition: The condition key {{conditionKeyName}} must include a tag key to control access based on tags. Use the format {{conditionKeyName}}tag-key and specify a key name for tag-key.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key {{conditionKeyName}} must include a tag key to control access based on tags. Use the format {{conditionKeyName}}tag-key and specify a key name for tag-key."

エラーの解決

タグに基づいてアクセスを制御するには、ポリシーの条件要素でタグ情報を提供します。

たとえば、AWS リソースへのアクセスをコントロールするには、aws:ResourceTag 条件キーを含めます。このキーには、形式 aws:ResourceTag/tag-key が必要です。条件でタグキー owner とタグ値 JaneDoe を指定するには、次の形式を使用します。

"Condition": { "StringEquals": {"aws:ResourceTag/owner": "JaneDoe"} }

関連用語

エラー — VPC 形式が無効です

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid vpc format: The VPC identifier in the condition key value is not valid. Use the prefix 'vpc-' followed by 8 or 17 alphanumeric characters.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The VPC identifier in the condition key value is not valid. Use the prefix 'vpc-' followed by 8 or 17 alphanumeric characters."

エラーの解決

aws:SourceVpc 条件キーにはプレフィックスとして vpc- を使用し、続けて 8 文字または 17 文字の英数字を使用する必要があります。例えば、vpc-11223344556677889 または vpc-12345678 のようになります。

関連用語

エラー — VPCE 形式が無効です

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid vpce format: The VPCE identifier in the condition key value is not valid. Use the prefix 'vpce-' followed by 8 or 17 alphanumeric characters.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The VPCE identifier in the condition key value is not valid. Use the prefix 'vpce-' followed by 8 or 17 alphanumeric characters."

エラーの解決

aws:SourceVpce 条件キーにはプレフィックスとして vpce- を使用し、続けて 8 文字または 17 文字の英数字を使用する必要があります。例えば、vpce-11223344556677889 または vpce-12345678 のようになります。

関連用語

エラー — フェデレーティッドプリンシパルはサポートされていません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Federated principal not supported: The policy type does not support a federated identity provider in the principal element. Use a supported principal.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The policy type does not support a federated identity provider in the principal element. Use a supported principal."

エラーの解決

Principal エレメントは、IAM ロールに添付された信頼ポリシーにはフェデレーティッドプリンシパルを使用し、ID フェデレーションを通じてアクセスを提供します。ID ポリシー、およびその他のリソースベースのポリシーは、Principal エレメントでフェデレーティッド ID プロバイダーをサポートしていません。例えば、Amazon S3 バケットポリシーでは、SAML プリンシパルを使用できません。Principal エレメントを、サポートされているプリンシパルタイプに変更します。

関連用語

エラー — 条件キーでサポートされていないアクション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported action for condition key: The following actions: {{actions}} are not supported by the condition key {{key}}. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The following actions: {{actions}} are not supported by the condition key {{key}}. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key."

エラーの解決

ポリシーステートメントの Condition エレメントにある条件キーが、Action エレメントのそれぞれのアクションに適用されていることを確認してください。指定したアクションが、ポリシーによってしっかりと許可または拒否されるようにするには、サポートされないアクションを、条件キーが含まれない別のステートメントに移動する必要があります。

注記

このエラーのために、Action エレメントにワイルドカード付きのアクションがある場合は、IAM Access Analyzer がこれらのアクションを評価しません。

関連用語

エラー — ポリシーでサポートされていないアクション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported action in policy: The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}."

エラーの解決

一部のアクションは、異なるリソースタイプに添付された、リソースベースのポリシーの Action エレメントではサポートされていません。例えば、 AWS Key Management Service アクションは、Amazon S3 バケットのポリシーではサポートされていません。リソースベースのポリシーに添付のリソースタイプでサポートされているアクションを指定してください。

関連用語

エラー — ポリシーでサポートされていないリソース ARN

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported resource ARN in policy: The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}."

エラーの解決

ポリシーが異なるリソースタイプに添付されている場合、一部のリソース ARN は、リソースベースのポリシーの Resource エレメントではサポートされていません。例えば、 AWS KMS ARN は Amazon S3 バケットの Resource ポリシーではサポートされていません。リソースベースのポリシーに添付のリソースタイプでサポートされているリソース ARN を指定してください。

関連用語

エラー — サービスプリンシパルでサポートされていない条件キー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unsupported condition key for service principal: The following condition keys are not supported when used with the service principal: {{conditionKeys}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The following condition keys are not supported when used with the service principal: {{conditionKeys}}."

エラーの解決

サービスの識別子であるサービスプリンシパルを使用して、リソースベースのポリシーの AWS のサービス エレメントで Principal を指定できます。一部の条件キーは、特定のサービスプリンシパルでは使用できません。例えば、サービスプリンシパル cloudfront.amazonaws.com では、aws:PrincipalOrgID 条件キーは使用できません。Principal エレメントのサービスプリンシパルに適用されない条件キーは、削除する必要があります。

関連用語

エラー — ロール信頼ポリシー構文エラー notprincipal

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Role trust policy syntax error notprincipal: Role trust policies do not support NotPrincipal. Update the policy to use a Principal element instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Role trust policies do not support NotPrincipal. Update the policy to use a Principal element instead."

エラーの解決

ロール信頼ポリシーは、IAM ロールにアタッチされているリソースベースのポリシーです。信頼ポリシーでは、ロールを引き受けることができるプリンシパルエンティティ (アカウント、ユーザー、ロール、フェデレーティッドユーザー) を定義します。ロール信頼ポリシーは、NotPrincipal をサポートしていません。ポリシーを更新して、代わりに Principal 要素を使用します。

関連用語

エラー - ロール信頼ポリシーはプリンシパルでワイルドカードをサポートしていません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Role trust policy unsupported wildcard in principal: "Principal:" "*" is not supported in the principal element of a role trust policy. Replace the wildcard with a valid principal value.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": ""Principal:" "*" is not supported in the principal element of a role trust policy. Replace the wildcard with a valid principal value."

エラーの解決

ロール信頼ポリシーは、IAM ロールにアタッチされているリソースベースのポリシーです。信頼ポリシーは、ロールを引き受けることができるプリンシパルエンティティ (アカウント、ユーザー、ロール、フェデレーティッドユーザー) を定義します。"Principal:" "*" は、ロール信頼ポリシーの Principal 要素ではサポートされていません。ワイルドカードを有効なプリンシパル値に置き換えてください。

関連用語

エラー — ロール信頼ポリシー構文エラー リソース

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Role trust policy syntax error resource: Role trust policies apply to the role that they are attached to. You cannot specify a resource. Remove the Resource or NotResource element.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Role trust policies apply to the role that they are attached to. You cannot specify a resource. Remove the Resource or NotResource element."

エラーの解決

ロール信頼ポリシーは、IAM ロールにアタッチされているリソースベースのポリシーです。信頼ポリシーでは、ロールを引き受けることができるプリンシパルエンティティ (アカウント、ユーザー、ロール、フェデレーティッドユーザー) を定義します。ロール信頼ポリシーは、アタッチされているロールに適用されます。ロール信頼ポリシーで、Resource または NotResource 要素を指定することはできません。Resource または NotResource 要素を削除します。

エラー – IP 範囲のタイプが一致しません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Type mismatch IP range: The condition operator {{operator}} is used with an invalid IP range value. Specify the IP range in standard CIDR format.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition operator {{operator}} is used with an invalid IP range value. Specify the IP range in standard CIDR format."

エラーの解決

CIDR 形式の IP アドレス条件演算子のデータタイプを使用するようにテキストを更新します。

関連用語

エラー — 条件キーのアクションがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing action for condition key: The {{actionName}} action must be in the action block to allow setting values for the condition key {{keyName}}. Add {{actionName}} to the action block.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{actionName}} action must be in the action block to allow setting values for the condition key {{keyName}}. Add {{actionName}} to the action block."

エラーの解決

ポリシーステートメントの Condition 要素の条件キーは、指定されたアクションが Action 要素内にない限り、評価されません。指定した条件キーが、ポリシーによってしっかりと許可または拒否されるようにするには、Action 要素にアクションを追加します。

関連用語

エラー — ロール信頼ポリシー内のフェデレーションプリンシパル構文が無効です

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid federated principal syntax in role trust policy: The principal value specifies a federated principal that does not match the expected format. Update the federated principal to a domain name or a SAML metadata ARN.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The principal value specifies a federated principal that does not match the expected format. Update the federated principal to a domain name or a SAML metadata ARN."

エラーの解決

プリンシパル値はが、期待される形式と一致しないフェデレーションプリンシパルを指定しています。フェデレーションプリンシパルの形式を有効なドメイン名または SAML メタデータ ARN に更新します。

関連用語

エラー — プリンシパルのアクションが一致しません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Mismatched action for principal: The {{actionName}} action is invalid with the following principal(s): {{principalNames}}. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{actionName}} action is invalid with the following principal(s): {{principalNames}}. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options."

エラーの解決

ポリシーステートメントの Action 要素で指定されたアクションが、Principal 要素で指定されたプリンシパルで無効です。例えば、SAML プロバイダーのプリンシパルを sts:AssumeRoleWithWebIdentity アクションで使用することはできません。sts:AssumeRoleWithSAML アクションで SAML プロバイダー プリンシパルを使用するか、sts:AssumeRoleWithWebIdentity アクションで OIDC プロバイダー プリンシパルを使用する必要があります。

関連用語

エラー — ロールエニウェア信頼ポリシーのアクションが見つかりません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing action for roles anywhere trust policy: The rolesanywhere.amazonaws.com service principal requires the sts:AssumeRole, sts:SetSourceIdentity, and sts:TagSession permissions to assume a role. Add the missing permissions to the policy.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The rolesanywhere.amazonaws.com service principal requires the sts:AssumeRole, sts:SetSourceIdentity, and sts:TagSession permissions to assume a role. Add the missing permissions to the policy."

エラーの解決

IAM Roles Anywhere がロールを引き受けて一時的に AWS 認証情報を配信できるようにするには、ロールが IAM Roles Anywhere のサービスプリンシパルを信頼する必要があります。IAM Roles Anywhere のサービスプリンシパルに sts:AssumeRolests:SetSourceIdentity、およびロールを引き受けるための sts:TagSession 許可が必要です。いずれかの許可が見つからない場合、ポリシーに追加する必要があります。

関連用語

一般的な警告 — NotResource で SLR を作成する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Create SLR with NotResource: Using the iam:CreateServiceLinkedRole action with NotResource can allow creation of unintended service-linked roles for multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the iam:CreateServiceLinkedRole action with NotResource can allow creation of unintended service-linked roles for multiple resources. We recommend that you specify resource ARNs instead."

一般的な警告の解決

アクション iam:CreateServiceLinkedRole は AWS のサービスがユーザーに代わってアクションを実行できるようにする IAM ロールを作成する許可を付与します。ポリシーで iam:CreateServiceLinkedRole 要素を使用して NotResource を使用すると、複数のリソースに対して意図しないサービスリンクロールを作成できる可能性があります。 代わりに、AWS では、Resource 要素で許可されたARNを指定することをお勧めします。

一般的な警告 — スターインアクションで NotResource の SLR を作成する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Create SLR with star in action and NotResource: Using an action with a wildcard(*) and NotResource can allow creation of unintended service-linked roles because it can allow iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using an action with a wildcard(*) and NotResource can allow creation of unintended service-linked roles because it can allow iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

一般的な警告の解決

アクション iam:CreateServiceLinkedRole は AWS のサービスがユーザーに代わってアクションを実行できるようにする IAM ロールを作成する許可を付与します。Action にワイルドカード (*) が含まれ、NotResource 要素を含むポリシーにより、複数のリソースに対して意図しないサービスリンクロールを作成できる場合があります。AWSでは、 代わりに Resource 要素で許可された ARN を指定することをお勧めします。

一般的な警告 — NotAction および NotResource を使用した SLR の作成

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Create SLR with NotAction and NotResource: Using NotAction with NotResource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using NotAction with NotResource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

一般的な警告の解決

アクション iam:CreateServiceLinkedRole は AWS のサービスがユーザーに代わってアクションを実行できるようにする IAM ロールを作成する許可を付与します。NotAction 要素を NotResource 要素とともに使用すると、複数のリソースに対して意図しないサービスリンクロールを作成できる可能性があります。AWS では、代わりに iam:CreateServiceLinkedRole 要素の ARN の限定リストで Resource を許可するようにポリシーを書き直すことをお勧めします。iam:CreateServiceLinkedRole 要素に NotAction を追加することもできます。

一般的な警告 — リソースにスター付き SLR を作成する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Create SLR with star in resource: Using the iam:CreateServiceLinkedRole action with wildcards (*) in the resource can allow creation of unintended service-linked roles. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the iam:CreateServiceLinkedRole action with wildcards (*) in the resource can allow creation of unintended service-linked roles. We recommend that you specify resource ARNs instead."

一般的な警告の解決

アクション iam:CreateServiceLinkedRole は AWS のサービスがユーザーに代わってアクションを実行できるようにする IAM ロールを作成する許可を付与します。iam:CreateServiceLinkedRole 要素にワイルドカード (*) を使用してポリシーで Resource を使用すると、複数のリソースに対して意図しないサービスリンクロールを作成できる可能性があります。AWSでは、 代わりに Resource 要素で許可されたARNを指定することをお勧めします。

AWSこの一般的な警告を伴う管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

これらのユースケースには、アカウント内のパワーユーザー向けのものが含まれています。次の AWS 管理ポリシーは、パワーユーザーアクセスを提供し、任意のAWS サービスのサービスリンクロールを作成するためのアクセス許可を付与します。AWSでは、パワーユーザーと見なす IAM ID にのみ、次の AWS 管理対象ポリシーをアタッチすることをお勧めします。

  • PowerUserAccess

  • AlexaForBusinessFullAccess

  • AWSOrganizationsServiceTrustPolicy – この AWS 管理ポリシーは、AWS Organizations サービスにリンクされたロールで使用するための許可を提供します。このロールを使用すると、Organizationsは、AWS 組織内の他のサービスに対してサービスにリンクされた追加のロールを作成できます。

一般的な警告 — アクションとリソースにスター付き SLR を作成する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Create SLR with star in action and resource: Using wildcards (*) in the action and the resource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using wildcards (*) in the action and the resource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead."

一般的な警告の解決

アクション iam:CreateServiceLinkedRole は AWS のサービスがユーザーに代わってアクションを実行できるようにする IAM ロールを作成する許可を付与します。Action 要素とResource 要素にワイルドカード (*) が含まれるポリシーでは、複数のリソースに対して意図しないサービスリンクロールを作成できます。これにより"Action": "*""Action": "iam:*""Action": "iam:Create*"、またはを指定したときにサービスにリンクされたロールを作成できます。AWS では、代わりに Resource 要素で許可されたARNを指定することをお勧めします。

AWSこの一般的な警告を伴う管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

これらのユースケースの中には、アカウント内の管理者向けのものがあります。次の AWS 管理ポリシーは、管理者アクセスを提供し、任意の AWS サービスのサービスリンクロールを作成するためのアクセス許可を付与します。AWS では、次の AWS 管理ポリシーを、管理者と見なす IAM ID にのみアタッチすることをお勧めします。

一般的な警告 — リソースにスターがあり、NotAction で SLR を作成する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Create SLR with star in resource and NotAction: Using a resource with wildcards (*) and NotAction can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using a resource with wildcards (*) and NotAction can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead."

一般的な警告の解決

アクション iam:CreateServiceLinkedRole は AWS のサービスがユーザーに代わってアクションを実行できるようにする IAM ロールを作成する許可を付与します。ポリシーで NotAction 要素を使用し、Resource 要素にワイルドカード (*) を使用すると、複数のリソースに対して意図しないサービスリンクロールを作成できるようになります。AWS では、代わりに Resource 要素で許可された ARN を指定することをお勧めします。iam:CreateServiceLinkedRole 要素に NotAction を追加することもできます。

一般的な警告 — 非推奨のグローバル条件キー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Deprecated global condition key: We recommend that you update aws:ARN to use the newer condition key aws:PrincipalArn.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "We recommend that you update aws:ARN to use the newer condition key aws:PrincipalArn."

一般的な警告の解決

ポリシーには、非推奨のグローバル条件キーが含まれています。条件キーと値のペアの条件キーを更新して、サポートされているグローバル条件キーを使用します。

一般的な警告 - 無効な日付値

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid date value: The date {{date}} might not resolve as expected. We recommend that you use the YYYY-MM-DD format.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The date {{date}} might not resolve as expected. We recommend that you use the YYYY-MM-DD format."

一般的な警告の解決

Unix エポック時間は、1970 年 1 月 1 日から経過した時点からうるう秒を引いた時点を記述します。エポック時間は、予想される正確な時間に解決されない場合があります。AWS では、日付と時刻の書式に W3C 標準を使用することをお勧めします。たとえば、YYYY-MM-DD (1997-07-16) のように完全な日付を指定したり、YYYY-MM-DDThh:mm:ssTZD (1997-07-16T19:20:30+01:00) のように 2 番目の日付に時刻を追加することもできます。

一般的な警告 - 無効なロールリファレンス

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid role reference: The Principal element includes the IAM role ID {{roleid}}. We recommend that you use a role ARN instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The Principal element includes the IAM role ID {{roleid}}. We recommend that you use a role ARN instead."

一般的な警告の解決

AWSでは、IAM ロールには、プリンシパル ID ではなく Amazon リソースネーム (ARN) を指定することをお勧めします。IAM がポリシーを保存すると、ARN が既存のロールのプリンシパル ID に変換されます。AWS には、安全上の注意事項が含まれています。ロールを削除して再作成すると、そのロールには新しい ID が割り当てられ、ポリシーは新しいロールの ID と一致しません。

一般的な警告 — 無効なユーザーリファレンス

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Invalid user reference: The Principal element includes the IAM user ID {{userid}}. We recommend that you use a user ARN instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The Principal element includes the IAM user ID {{userid}}. We recommend that you use a user ARN instead."

一般的な警告の解決

AWSでは、IAM ユーザーに対して、プリンシパルIDではなく Amazon リソースネーム (ARN) を指定することをお勧めします。IAM がポリシーを保存すると、ARN が既存のユーザーのプリンシパル ID に変換されます。AWS には、安全上の注意事項が含まれています。誰かがユーザーを削除して再作成すると、そのユーザーには新しい ID が割り当てられ、ポリシーは新しいユーザーの ID と一致しません。

一般的な警告-バージョンがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing version: We recommend that you specify the Version element to help you with debugging permission issues.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "We recommend that you specify the Version element to help you with debugging permission issues."

一般的な警告の解決

AWS ではポリシーにオプションの Version パラメータを含めることをお勧めします。Version 要素を含めない場合、デフォルト値は 2012-10-17 ですが、ポリシー変数などの新しい機能はポリシーでは機能しません。たとえば、${aws:username} などの変数は変数として認識されず、代わりにポリシー内のリテラル文字列として扱われます。

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Unique Sids recommended: We recommend that you use statement IDs that are unique to your policy. Update the Sid value.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "We recommend that you use statement IDs that are unique to your policy. Update the Sid value."

一般的な警告の解決

AWS では、一意のステートメント ID を使用することをお勧めします。Sid (ステートメントID) 要素を使用すると、ポリシーステートメントに指定するオプションの識別子を入力できます。SID 要素を使用して、ステートメント配列内の各ステートメントにステートメントID値を割り当てることができます。

関連用語

一般的な警告 – 演算子のようなもののないワイルドカード

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Wildcard without like operator: Your condition value includes a * or ? character. If you meant to use a wildcard (*, ?), update the condition operator to include Like.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Your condition value includes a * or ? character. If you meant to use a wildcard (*, ?), update the condition operator to include Like."

一般的な警告の解決

Condition 要素構造では、条件演算子とキーと値のペアを使用する必要があります。ワイルドカード (*、?) を使用する条件値を指定する場合は、Like バージョンの条件演算子を使用する必要があります。たとえば、StringEquals 文字列条件演算子の代わりに、StringLike を使用します。

"Condition": {"StringLike": {"aws:PrincipalTag/job-category": "admin-*"}}

AWSこの一般的な警告を伴う管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS ユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

次の AWS 管理ポリシーでは、パターンマッチング用の Like を含む条件演算子を使用せずに、条件値にワイルドカードが含まれています。AWS 管理ポリシーを参照として使用して顧客管理ポリシーを作成する場合、AWS では、StringLike などのワイルドカード (*、?) とのパターンマッチングをサポートする条件演算子を使用することをお勧めします。

一般的な警告 — ポリシーのサイズが ID ポリシーのクォータを超えています

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Policy size exceeds identity policy quota: The {{policySize}} characters in the identity policy, excluding whitespace, exceed the {{policySizeQuota}} character maximum for inline and managed policies. We recommend that you use multiple granular policies.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{policySize}} characters in the identity policy, excluding whitespace, exceed the {{policySizeQuota}} character maximum for inline and managed policies. We recommend that you use multiple granular policies."

一般的な警告の解決

最大 10 のマネージド型ポリシーを IAM ID (ユーザー、ユーザーのグループ、ロール) にアタッチできます。ただし、各管理ポリシーのサイズは、デフォルトのクォータである 6,144 文字を超えることはできません。IAM では、このクォータに対するポリシーのサイズを計算する際にスペースはカウントしません。AWS のクォータ (制限とも呼ばれます) は、AWS アカウントのリソース、アクション、および制限の最大値です。

さらに、IAM アイデンティティに必要な数のインラインポリシーを追加できます。ただし、アイデンティティごとのすべてのインラインポリシーの合計サイズは、指定されたクォータを超えることはできません。

ポリシーがクォータより大きい場合は、ポリシーを複数のステートメントに整理し、ステートメントを複数のポリシーにグループ化できます。

関連用語

AWSこの一般的な警告を伴う管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

次の AWS 管理ポリシーは、多くの AWS サービスにわたるアクションにアクセス許可を付与し、最大ポリシーサイズを超えています。管理ポリシーを作成するための参照として AWS 管理ポリシーを使用する場合は、ポリシーを複数のポリシーに分割する必要があります。

一般的な警告 — ポリシーのサイズが リソースポリシーのクォータを超えています

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Policy size exceeds resource policy quota: The {{policySize}} characters in the resource policy exceed the {{policySizeQuota}} character maximum for resource policies. We recommend that you use multiple granular policies.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{policySize}} characters in the resource policy exceed the {{policySizeQuota}} character maximum for resource policies. We recommend that you use multiple granular policies."

一般的な警告の解決

リソースベースのポリシーは、Amazon S3 バケットなどのリソースにアタッチする JSON ポリシードキュメントです。これらのポリシーでは、そのリソースに対して特定のアクションを実行するために指定されたプリンシパルのアクセス許可を付与するとともに、このアクセス許可が適用される条件を定義します。リソースベースのポリシーのサイズは、そのリソースに設定されたクォータを超えることができません。AWS のクォータ (制限とも呼ばれます) は、AWS アカウントのリソース、アクション、および制限の最大値です。

ポリシーがクォータより大きい場合は、ポリシーを複数のステートメントに整理し、ステートメントを複数のポリシーにグループ化できます。

関連用語

一般的な警告-タイプの不一致

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Type mismatch: Use the operator type {{allowed}} instead of operator {{operator}} for the condition key {{key}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Use the operator type {{allowed}} instead of operator {{operator}} for the condition key {{key}}."

一般的な警告の解決

サポートされている条件演算子データ型を使用するようにテキストを更新します。

たとえば、aws:MultiFactorAuthPresent グローバル条件キーには、Boolean データ型の条件演算子が必要です。日付または整数を指定すると、データ型が一致しません。

関連用語

一般的な警告 — 型の不一致ブール値

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Type mismatch Boolean: Add a valid Boolean value (true or false) for the condition operator {{operator}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a valid Boolean value (true or false) for the condition operator {{operator}}."

一般的な警告の解決

true または false などのブール条件演算子データ型を使用するようにテキストを更新します。

たとえば、aws:MultiFactorAuthPresent グローバル条件キーには、Boolean データ型の条件演算子が必要です。日付または整数を指定すると、データ型が一致しません。

関連用語

一般的な警告-タイプが一致しない日付

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Type mismatch date: The date condition operator is used with an invalid value. Specify a valid date using YYYY-MM-DD or other ISO 8601 date/time format.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The date condition operator is used with an invalid value. Specify a valid date using YYYY-MM-DD or other ISO 8601 date/time format."

一般的な警告の解決

YYYY-MM-DD または他のISO8601 日時形式で、日付条件演算子のデータ型を使用するようにテキストを更新します。

関連用語

一般的な警告 - タイプ不一致番号

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Type mismatch number: Add a valid numeric value for the condition operator {{operator}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a valid numeric value for the condition operator {{operator}}."

一般的な警告の解決

数値条件演算子のデータ型を使用するようにテキストを更新します。

関連用語

一般的な警告-型が一致しない文字列

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Type mismatch string: Add a valid base64-encoded string value for the condition operator {{operator}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a valid base64-encoded string value for the condition operator {{operator}}."

一般的な警告の解決

文字列条件演算子のデータ型を使用するようにテキストを更新します。

関連用語

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Specific github repo and branch recommended: Using a wildcard (*) in token.actions.githubusercontent.com:sub can allow requests from more sources than you intended. Specify the value of token.actions.githubusercontent.com:sub with the repository and branch name.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using a wildcard (*) in token.actions.githubusercontent.com:sub can allow requests from more sources than you intended. Specify the value of token.actions.githubusercontent.com:sub with the repository and branch name."

一般的な警告の解決

GitHub を OIDC IdP として使用する場合、ベストプラクティスは、IAM IdP に関連付けられたロールを引き受けることができるエンティティを制限することです。ロール信頼ポリシーに Condition ステートメントを含めると、ロールを特定の GitHub Organization、リポジトリ、またはブランチに制限できます。条件キー token.actions.githubusercontent.com:sub を使用してアクセスを制限できます。条件を特定のリポジトリまたはブランチのセットに制限することをお勧めします。token.actions.githubusercontent.com:sub でワイルドカード (*) を使用する場合、管理外の Organization またはリポジトリの GitHub Actions は、AWS アカウントで GitHub IAM IdP に関連付けられたロールを引き受けることができます。

関連用語

一般的な警告 — ポリシーのサイズが信頼ポリシーのクォータを超えています

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Policy size exceeds role trust policy quota: The characters in the role trust policy, excluding whitespace, exceed the character maximum. We recommend that you request a role trust policy length quota increase using Service Quotas and AWS Support Center. If the quotas have already been increased, then you can ignore this warning.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The characters in the role trust policy, excluding whitespace, exceed the character maximum. We recommend that you request a role trust policy length quota increase using Service Quotas and AWS Support Center. If the quotas have already been increased, then you can ignore this warning."

一般的な警告の解決

IAM と AWS STS に、ロール信頼ポリシーのサイズを制限するクォータがあります。ロール信頼ポリシー内の文字数 (空白を除く) が最大文字数を超えています。Service Quotas と AWS Support Center Console を使用して、ロール信頼ポリシーの長さのクォータの増加をリクエストすることをお勧めします。

関連用語

セキュリティ警告 — NotPrincipal で許可する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Allow with NotPrincipal: Using Allow with NotPrincipal can be overly permissive. We recommend that you use Principal instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using Allow with NotPrincipal can be overly permissive. We recommend that you use Principal instead."

セキュリティ警告を解決する

"Effect": "Allow"NotPrincipal を使用することは過度に許容される可能性があります たとえば、これにより匿名プリンシパルにアクセス許可を付与できます。AWS では、Principal 要素を使用してアクセスする必要があるプリンシパルを指定することをお勧めします。または、広範なアクセスを許可し、NotPrincipal および要素 “Effect”: “Deny” 使用して別のステートメントを追加することもできます。

セキュリティ警告 - 単一の値キーを持つ ForAllValues

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

ForAllValues with single valued key: Using ForAllValues qualifier with the single-valued condition key {{key}} can be overly permissive. We recommend that you remove ForAllValues:.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using ForAllValues qualifier with the single-valued condition key {{key}} can be overly permissive. We recommend that you remove ForAllValues:."

セキュリティ警告を解決する

AWS では、複数値の条件でのみ ForAllValues を使用することをお勧めします。ForAllValues 集合演算子は、リクエストセットのすべてのメンバーの値が条件キーセットのサブセットであるかどうかをテストします。リクエストのすべてのキーバリューがポリシーの 1 つ以上の値と一致する場合、条件は true を返します。また、リクエストにキーがない場合、またはキーバリューが空の文字列などの null データセットに解決される場合は true を返します。

条件が 単一の値または複数の値をサポートしているかどうかを確認するには、サービスのアクション、リソース、および条件キーのページをご確認ださい。ArrayOf データタイプのプレフィックスを持つ条件キーは、複数の値を持つ条件キーです。例えば、Amazon SES は単一の値 (String) を持つキーと、複数の値を持つ ArrayOfString のデータタイプをサポートしています。

セキュリティ警告 — NotResource でロールを渡す

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Pass role with NotResource: Using the iam:PassRole action with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the iam:PassRole action with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

セキュリティ警告を解決する

多くの AWS サービスを設定するには、そのサービスに IAM ロールを渡す必要があります。これを許可するには、ID (ユーザー、ユーザーのグループ、またはロール) に iam:PassRole アクセス許可を付与する必要があります。ポリシーで iam:PassRole 要素を使用して NotResource を使用すると、プリンシパルが意図したよりも多くのサービスまたは機能にアクセスできるようになります。AWS では、代わりに、Resource 要素で許可されたARNを指定することをお勧めします。さらに、iam:PassedToService 条件キーを使用して、単一のサービスへのアクセス許可を減らすことができます。

セキュリティ警告 — スター付きアクションで NotResource でロールを渡す

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Pass role with star in action and NotResource: Using an action with a wildcard (*) and NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using an action with a wildcard (*) and NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

セキュリティ警告を解決する

多くの AWS サービスを設定するには、そのサービスに IAM ロールを渡す必要があります。これを許可するには、iam:PassRole アクセス許可をアイデンティティ (ユーザー、ユーザーのグループ、ロール) に送信するには、アクセス許可が必要です。Action にワイルドカード (*) があり、NotResource 要素を含むポリシーにより、プリンシパルが意図したよりも多くのサービスまたは機能にアクセスできるようになります。AWS では、代わりに Resource 要素で許可されたARNを指定することをお勧めします。さらに、iam:PassedToService 条件キーを使用して、単一のサービスへのアクセス許可を減らすことができます。

セキュリティ警告 — NotAction および NotResource でロールを渡す

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Pass role with NotAction and NotResource: Using NotAction with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources.. We recommend that you specify resource ARNs instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using NotAction with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources.. We recommend that you specify resource ARNs instead."

セキュリティ警告を解決する

多くの AWS サービスを設定するには、そのサービスに IAM ロールを渡す必要があります。これを許可するには、iam:PassRole アクセス許可をアイデンティティ (ユーザー、ユーザーのグループ、ロール) に送信するには、アクセス許可が必要です。NotAction 要素を使用し、NotResource 要素にいくつかのリソースをリストすると、プリンシパルが意図したよりも多くのサービスまたは機能にアクセスできるようになります。AWS では、代わりに、Resource 要素で許可されたARNを指定することをお勧めします。さらに、iam:PassedToService 条件キーを使用して、単一のサービスへのアクセス許可を減らすことができます。

セキュリティ警告 — リソースにスターでロールを渡す

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Pass role with star in resource: Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement."

セキュリティ警告を解決する

多くの AWS サービスを設定するには、そのサービスに IAM ロールを渡す必要があります。これを許可するには、ID (ユーザー、ユーザーのグループ、またはロール) にiam:PassRoleアクセス許可を付与する必要があります。iam:PassRole を許可し、Resource 要素にワイルドカード (*) を含むポリシーにより、プリンシパルが意図したよりも多くのサービスまたは機能にアクセスできるようになります。AWS では、代わりに、Resource 要素で許可された ARN を指定することをお勧めします。さらに、iam:PassedToService 条件キーを使用して、単一のサービスへのアクセス許可を減らすことができます。

一部の AWS サービスには、役割の名前にサービス名前空間が含まれています。このポリシーチェックでは、ポリシーを分析して結果を生成する際に、これらの規則を考慮に入れます。たとえば、次のリソース ARN は結果を生成しない可能性があります。

arn:aws:iam::*:role/Service*

AWSマネージド型ポリシーとこのセキュリティ警告

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

これらのユースケースの 1 つは、アカウント内の管理者向けです。次の AWS 管理ポリシーは、管理者アクセスを提供し、任意の IAM ロールを任意のサービスに渡すためのアクセス許可を付与します。AWSでは、次の AWS 管理対象ポリシーは、管理者と見なすIAMIDにのみアタッチすることをお勧めします。

次の AWS管理ポリシーには、リソースにワイルドカード (*) を使用した iam:PassRole へのアクセス許可が含まれており、非推奨パス上にあります。これらのポリシーごとに、権限ガイダンスが更新されました。たとえば、新しい AWS マネージド型ポリシーで、ユースケースをサポートします。これらのポリシーの代替案については、各サービス のガイドを参照してください。

  • AWSElasticBeanstalkFullAccess

  • AWSElasticBeanstalkService

  • AWSLambdaFullAccess

  • AWSLambdareadOnlyアクセス

  • AWSOpsWorksFullAccess

  • AWSOPsWorksRole

  • AWSDataPipelineRole

  • AmazonDynamoDBFullAccesswithDataPipeline

  • AmazonElasticMapReduceFullAccess

  • AmazonDynamoDBFullAccesswithDataPipeline

  • AmazonEC2ContainerServiceFullAccess

次の AWS 管理ポリシーは、サービスにリンクされたロールにのみアクセス許可を提供します。これにより、 AWS サービスはユーザーに代わってアクションを実行できます。これらのポリシーを IAM ID にアタッチすることはできません。

セキュリティ警告 — スターインアクションとリソースでロールを渡す

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Pass role with star in action and resource: Using wildcards (*) in the action and the resource can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using wildcards (*) in the action and the resource can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement."

セキュリティ警告を解決する

多くの AWS サービスを設定するには、そのサービスに IAM ロールを渡す必要があります。これを許可するには、ID (ユーザー、ユーザーのグループ、またはロール) にiam:PassRoleアクセス許可を付与する必要があります。Action 要素と Resource 要素にワイルドカード (*) が含まれるポリシーでは、プリンシパルが意図したよりも多くのサービスまたは機能にアクセスできるようにすることができます。AWS では、代わりに Resource 要素で許可された ARN を指定することをお勧めします。さらに、iam:PassedToService 条件キーを使用して、単一のサービスへのアクセス許可を減らすことができます。

AWSマネージド型ポリシーとこのセキュリティ警告

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

これらのユースケースの中には、アカウント内の管理者向けのものがあります。次の AWS 管理ポリシーは、管理者アクセスを提供し、任意のIAMロールを任意の AWS サービスに渡すためのアクセス許可を付与します。AWS では、次の管理ポリシーを、AWS 管理者と見なす IAMID にのみアタッチすることをお勧めします。

セキュリティ警告 — リソースにスターと NotAction でロールを渡す

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Pass role with star in resource and NotAction: Using a resource with wildcards (*) and NotAction can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using a resource with wildcards (*) and NotAction can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement."

セキュリティ警告を解決する

多くの AWS サービスを設定するには、そのサービスに IAM ロールを渡す必要があります。これを許可するには、ID (ユーザー、ユーザーのグループ、またはロール) にiam:PassRoleアクセス許可を付与する必要があります。ポリシーで NotAction 要素を使用し、Resource 要素にワイルドカード (*) を使用すると、プリンシパルが意図したよりも多くのサービスまたは機能にアクセスできるようになります。AWS では、代わりに Resource 要素で許可されたARNを指定することをお勧めします。さらに、iam:PassedToService 条件キーを使用して、単一のサービスへのアクセス許可を減らすことができます。

セキュリティ警告 — ペアリングされた条件キーがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing paired condition keys: Using the condition key {{conditionKeyName}} can be overly permissive without also using the following condition keys: {{recommendedKeys}}. Condition keys like this one are more secure when paired with a related key. We recommend that you add the related condition keys to the same condition block.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the condition key {{conditionKeyName}} can be overly permissive without also using the following condition keys: {{recommendedKeys}}. Condition keys like this one are more secure when paired with a related key. We recommend that you add the related condition keys to the same condition block."

セキュリティ警告を解決する

一部の条件キーは、他の関連する条件キーと組み合わせると、より安全になります。AWSでは、関連する条件キーを既存の条件キーと同じ条件ブロックに含めることをお勧めします。これにより、ポリシーを通じて付与されるアクセス許可がより安全になります。

たとえば、aws:VpcSourceIp 条件キーを使用して、要求が行われたIPアドレスをポリシーで指定したIPアドレスと比較できます。 AWS では、関連する aws:SourceVPC 条件キーを追加することをお勧めします。これは、リクエストがポリシーで指定した VPC 指定した IP アドレス からのものであるかどうかをチェックします。

関連用語

セキュリティ警告 — サービスに対してサポートされていないタグ条件キーで拒否

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Deny with unsupported tag condition key for service: Using the effect Deny with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes can be overly permissive: {{serviceNames}}. Actions for the listed services are not denied by this statement. We recommend that you move these actions to a different statement without this condition key.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the effect Deny with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes can be overly permissive: {{serviceNames}}. Actions for the listed services are not denied by this statement. We recommend that you move these actions to a different statement without this condition key."

セキュリティ警告を解決する

ポリシーの Condition 要素でサポートされていないタグ条件キーを "Effect": "Deny" とともに使用すると、そのサービスでは条件が無視されるため、過度に許容される可能性があります。 AWS では、条件キーをサポートしないサービスアクションを削除し、それらのアクションの特定のリソースへのアクセスを拒否する別のステートメントを作成することをお勧めします。

aws:ResourceTag 条件キーを使用していて、サービスアクションでサポートされていない場合、そのキーは要求コンテキストに含まれません。この場合、Deny ステートメントの条件は常に false を返し、アクションが拒否されることはありません。これは、リソースが正しくタグ付けされている場合でも発生します。

サービスが aws:ResourceTag 条件キーをサポートしている場合、タグを使用してそのサービスのリソースへのアクセスを制御できます。これは、属性ベースのアクセス制御 (ABAC) と呼ばれます。これらのキーをサポートしないサービスでは、リソースベースのアクセス制御 (RBAC) を使用してリソースへのアクセスを制御する必要があります。

注記

一部のサービスでは、リソースとアクションのサブセットの aws:ResourceTag 条件キーのサポートが許可されています。IAM Access Analyzer は、サポートされていないサービスアクションの結果を返します。たとえば、Amazon S3はそのリソースのサブセットに対して aws:ResourceTag をサポートしています。aws:ResourceTag 条件キーをサポートする Amazon S3 で利用可能なすべてのリソースタイプを表示するには、「サービス認可リファレンス」の「Amazon S3 で定義されるリソースタイプ」を参照してください。

たとえば、キーと値のペア status=Confidential でタグ付けされた特定のリソースのタグ付け解除へのアクセスを拒否するとします。また、AWS Lambda ではリソースのタグ付けとタグ付け解除が可能ですが、aws:ResourceTag 条件キーはサポートされていないと仮定します。このタグが存在する場合に AWS App Mesh および AWS Backup の削除アクションを拒否するには、aws:ResourceTag 条件キーを使用します。Lambda の場合は、"Confidential" プレフィックスを含むリソース命名規則を使用します。次に、その命名規則でリソースの削除を防止する別のステートメントを含めます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDeleteSupported", "Effect": "Deny", "Action": [ "appmesh:DeleteMesh", "backup:DeleteBackupPlan" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/status": "Confidential" } } }, { "Sid": "DenyDeleteUnsupported", "Effect": "Deny", "Action": "lambda:DeleteFunction", "Resource": "arn:aws:lambda:*:123456789012:function:status-Confidential*" } ] }
警告

この結果の回避策として、条件演算子の…IfExists バージョンを使用しないでください。これは、キーがリクエストコンテキストに存在し、値が一致する場合、アクションを拒否することを意味します。それ以外の場合は、アクションを拒否します。前の例では、lambda:DeleteFunction 演算子を使用して DenyDeleteSupported ステートメントに StringEqualsIfExists アクションを含めると、常にアクションが拒否されます。そのアクションでは、キーはコンテキストに存在せず、リソースがタグ付けされているかどうかにかかわらず、そのリソースタイプを削除しようとするすべての試みは拒否されます。

関連用語

セキュリティ警告 — サービスに対してサポートされていないタグ条件キーで NotAction を拒否する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Deny NotAction with unsupported tag condition key for service: Using the effect Deny with NotAction and the tag condition key {{conditionKeyName}} can be overly permissive because some service actions are not denied by this statement. This is because the condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the effect Deny with NotAction and the tag condition key {{conditionKeyName}} can be overly permissive because some service actions are not denied by this statement. This is because the condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction."

セキュリティ警告を解決する

ポリシーの Condition 要素で要素 NotAction および"Effect": "Deny" を使用してタグ条件キーを使用すると、過度に許容される可能性があります。条件キーをサポートしていないサービスアクションでは、条件は無視されます。AWS では、ロジックを書き換えてアクションのリストを拒否することをお勧めします。

aws:ResourceTag 条件キーを NotAction とともに使用する場合、キーをサポートしない新規または既存のサービスアクションは拒否されません。AWS は、拒否するアクションを明示的にリストすることをお勧めします。IAM Access Analyzer は、aws:ResourceTag 条件キーをサポートしないリストされたアクションに対して個別の結果を返します。詳細については、「セキュリティ警告 — サービスに対してサポートされていないタグ条件キーで拒否」を参照してください。

サービスが aws:ResourceTag 条件キーをサポートしている場合、タグを使用してそのサービスのリソースへのアクセスを制御できます。これは、属性ベースのアクセス制御 (ABAC) と呼ばれます。これらのキーをサポートしないサービスでは、リソースベースのアクセス制御 (RBAC) を使用してリソースへのアクセスを制御する必要があります。

関連用語

セキュリティ警告 — サービスプリンシパルへのアクセスを制限する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Restrict access to service principal: Granting access to a service principal without specifying a source is overly permissive. Use aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths condition key to grant fine-grained access.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Granting access to a service principal without specifying a source is overly permissive. Use aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths condition key to grant fine-grained access."

セキュリティ警告を解決する

サービスの識別子であるサービスプリンシパルを使用して、リソースベースのポリシーの Principal エレメントで AWS のサービス を指定できます。あなたの代わりに実行できるアクセス権をサービスプリンシパルに付与する場合は、アクセス権を制限してください。aws:SourceArnaws:SourceAccountaws:SourceOrgID または aws:SourceOrgPaths などの条件キーを使い、特定のリソース ARN、AWS アカウント、組織 ID、組織パスなど、特定のソースへのアクセスを制限することで、ポリシーに対し過剰にアクセス許可が付与されないようにすることができます。アクセスを制限することで、混乱した代理と呼ばれるセキュリティ上の問題を防ぐことができます。

関連用語

セキュリティ警告 — oidc プリンシパルの条件キーがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing condition key for oidc principal: Using an Open ID Connect principal without a condition can be overly permissive. Add condition keys with a prefix that matches your federated OIDC principals to ensure that only the intended identity provider assumes the role.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using an Open ID Connect principal without a condition can be overly permissive. Add condition keys with a prefix that matches your federated OIDC principals to ensure that only the intended identity provider assumes the role."

セキュリティ警告を解決する

Open ID Connect プリンシパルを条件なしで使用すると、過度に許容されることがあります。フェデレーション OIDC プリンシパルと一致するプレフィックスを含む条件キーを追加して、対象の ID プロバイダーのみがロールを引き受けるようにします。

関連用語

セキュリティ警告 — github リポジトリの条件キーがありません

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Missing github repo condition key: Granting a federated GitHub principal permissions without a condition key can allow more sources to assume the role than you intended. Add the token.actions.githubusercontent.com:sub condition key and specify the branch and repository name in the value.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Granting a federated GitHub principal permissions without a condition key can allow more sources to assume the role than you intended. Add the token.actions.githubusercontent.com:sub condition key and specify the branch and repository name in the value."

セキュリティ警告を解決する

GitHub を OIDC IdP として使用する場合、ベストプラクティスは、IAM IdP に関連付けられたロールを引き受けることができるエンティティを制限することです。ロール信頼ポリシーに Condition ステートメントを含めると、ロールを特定の GitHub Organization、リポジトリ、またはブランチに制限できます。条件キー token.actions.githubusercontent.com:sub を使用してアクセスを制限できます。条件を特定のリポジトリまたはブランチのセットに制限することをお勧めします。この条件を含めない場合、管理外の Organization またはリポジトリの GitHub Actions は、AWS アカウントで GitHub IAM IdP に関連付けられたロールを引き受けることができます。

関連用語

提案 - 空の配列アクション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array action: This statement includes no actions and does not affect the policy. Specify actions.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "This statement includes no actions and does not affect the policy. Specify actions."

提案の解決

ステートメントには Action または NotAction アクションのセットを含む要素を含める必要があります。エレメントが空の場合、ポリシーステートメントはパーミッションを提供しません。Action 要素にアクションを指定します。

提案 - 空の配列条件

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array condition: There are no values for the condition key {{key}} and it does not affect the policy. Specify conditions.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "There are no values for the condition key {{key}} and it does not affect the policy. Specify conditions."

提案の解決

オプションの Condition 要素構造体を使用するには、条件演算子とキーと値のペアを使用する必要があります。条件値が空の場合、条件は true に設定され、ポリシーステートメントにはアクセス許可がありません。条件値を指定します。

提案 – ForAllValues の空の配列条件

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array condition ForAllValues: The ForAllValues prefix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The ForAllValues prefix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead."

提案の解決

Condition 要素構造体を使用するには、条件演算子とキーバリューのペアを使用する必要があります。ForAllValues セット演算子は、要求セットのすべてのメンバーの値が条件キーセットのサブセットであるかどうかをテストします。

空の条件キーで ForAllValues を使用すると、要求にキーがない場合にのみ条件が一致します。 AWS では、要求コンテキストが空であるかどうかをテストする場合は、代わりに Null 条件演算子を使用することをお勧めします。

提案 - 空の配列条件 ForAnyValue

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array condition ForAnyValue: The ForAnyValue prefix with an empty condition key {{key}} never matches the request context and it does not affect the policy. Specify conditions.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The ForAnyValue prefix with an empty condition key {{key}} never matches the request context and it does not affect the policy. Specify conditions."

提案の解決

Condition 要素構造体を使用するには、条件演算子とキーバリューのペアを使用する必要があります。ForAnyValues セット演算子は、要求値のセットの少なくとも1つのメンバーが条件キー値のセットの少なくとも1つのメンバーと一致するかどうかをテストします。

空の条件キーで ForAnyValues を使用すると、条件が一致することはありません。これは、ステートメントがポリシーに影響を与えないことを意味します。AWSでは、条件を書き換えることをお勧めします。

提案 - 空の条件 IfExists

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array condition IfExists: The IfExists suffix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The IfExists suffix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead."

提案の解決

...IfExists 接尾辞は、条件演算子を編集します。これは、ポリシーキーがリクエストのコンテキストで存在する場合、ポリシーで指定されたとおりにキーを処理することを意味します。キーが存在しない場合、条件要素は true と評価されます。

空の条件キーで ...IfExists を使用すると、要求にキーがない場合にのみ条件が一致します。AWS では、リクエストコンテキストが空かどうかをテストする場合は、代わりに Null 条件演算子を使用することをお勧めします。

提案 – 空の配列プリンシパル

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array principal: This statement includes no principals and does not affect the policy. Specify principals.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "This statement includes no principals and does not affect the policy. Specify principals."

提案の解決

IAMロールの信頼ポリシーおよびリソースベースのポリシーで Principal または NotPrincipal 要素を使用する必要があります。リソースベースのポリシーは、リソースに直接埋め込むポリシーです。

ステートメントの Principal 要素ではステートメントがポリシーに影響しません。AWS では、リソースにアクセスできるプリンシパルを指定することをお勧めします。

提案 — 空の配列リソース

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty array resource: This statement includes no resources and does not affect the policy. Specify resources.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "This statement includes no resources and does not affect the policy. Specify resources."

提案の解決

ステートメントには、Resource または NotResource 要素を含める必要があります。

ステートメントの resource 要素に空の配列を指定すると、そのステートメントはポリシーに影響を与えません。AWS では、リソースに Amazon リソースネーム (ARN) を指定することをお勧めします。

提案 — 空のオブジェクト条件

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty object condition: This condition block is empty and it does not affect the policy. Specify conditions.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "This condition block is empty and it does not affect the policy. Specify conditions."

提案の解決

Condition 要素構造体を使用するには、条件演算子とキーと値のペアを使用する必要があります。

ステートメントの condition 要素に空のオブジェクトを指定すると、そのステートメントはポリシーに影響を与えません。オプションの要素を削除するか、条件を指定します。

提案 — 空のオブジェクト主体

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty object principal: This statement includes no principals and does not affect the policy. Specify principals.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "This statement includes no principals and does not affect the policy. Specify principals."

提案の解決

IAMロールの信頼ポリシーおよびリソースベースのポリシーで Principal または NotPrincipal 要素を使用する必要があります。リソースベースのポリシーは、リソースに直接埋め込むポリシーです。

ステートメントの Principal 要素ではステートメントがポリシーに影響しません。AWS では、リソースにアクセスできるプリンシパルを指定することをお勧めします。

提案 — 空の Sid 値

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Empty Sid value: Add a value to the empty string in the Sid element.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Add a value to the empty string in the Sid element."

提案の解決

オプションの Sid (statement ID) 要素を使用すると、ポリシーステートメントに指定する識別子を入力できます。Sid 値は、ステートメント配列内の各ステートメントに割り当てることができます。使用することを選択した場合、Sid 要素では文字列値を指定する必要があります。

関連用語

提案 — IP 範囲の改善

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Improve IP range: The non-zero bits in the IP address after the masked bits are ignored. Replace address with {{addr}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The non-zero bits in the IP address after the masked bits are ignored. Replace address with {{addr}}."

提案の解決

IPアドレス条件は、203.0.113.0/24 または 2001:DB8:1234:5678::/64 などの標準的な CIDR 形式である必要があります。マスクされたビットの後にゼロ以外のビットを含めると、条件では考慮されません。AWSでは、メッセージに含まれている新しいアドレスを使用することをお勧めします。

提案 - 修飾子付き NULL

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Null with qualifier: Avoid using the Null condition operator with the ForAllValues or ForAnyValue qualifiers because they always return a true or false respectively.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Avoid using the Null condition operator with the ForAllValues or ForAnyValue qualifiers because they always return a true or false respectively."

提案の解決

Condition 要素では、条件演算子 (等しい、より小さい、など) を使用して、ポリシーの条件をリクエストコンテキストのキーと値と比較する式を作成します。  単一の条件キーに複数の値を含むリクエストの場合は、ForAllValues または ForAnyValue の集合演算子を使用する必要があります。

NullForAllValues 条件演算子を使用すると、ステートメントは常に true を返します。NullForAnyValue 条件演算子を使用すると、ステートメントは常に false を返します。AWSでは、これらの集合演算子とともに StringLike 条件演算子を使用することをお勧めします。

関連用語

提案 — プライベート IP アドレスのサブセット

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Private IP address subset: The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses will not have the desired effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses will not have the desired effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp."

提案の解決

グローバル条件キーは、aws:SourceIp パブリック IP アドレス範囲に対してのみ機能します。

Condition 要素にプライベートIPアドレスとパブリックIPアドレスが混在している場合、ステートメントが目的の効果を発揮しない可能性があります。aws:VpcSourceIP を使用してプライベートIPアドレスを指定できます。

注記

グローバル条件キー aws:VpcSourceIP では、リクエストが指定された IP アドレスから送信され、VPC エンドポイントを経由する場合にのみキーが一致します。

提案 — プライベート通知アドレスのサブセット

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Private NotIpAddress subset: The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses have no effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses have no effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp."

提案の解決

グローバル条件キーは、aws:SourceIp パブリック IP アドレス範囲に対してのみ機能します。

Condition 要素に NotIpAddress 条件演算子が含まれ、プライベートIPアドレスとパブリックIPアドレスが混在している場合、ステートメントが目的の効果を発揮しない可能性があります。ポリシーで指定されていないパブリック IP アドレスはすべて一致します。プライベート IP アドレスは一致しません。この効果を実現するには、NotIpAddressaws:VpcSourceIP を併用して、一致しないプライベートIPアドレスを指定します。

提案 — 冗長なアクション

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Redundant action: The {{redundantActionCount}} action(s) are redundant because they provide similar permissions. Update the policy to remove the redundant action such as: {{redundantAction}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{redundantActionCount}} action(s) are redundant because they provide similar permissions. Update the policy to remove the redundant action such as: {{redundantAction}}."

提案の解決

Action 要素でワイルドカード (*) を使用する場合、冗長なアクセス許可を含めることができます。AWS では、ポリシーを確認し、必要なアクセス許可のみを含めることをお勧めします。これは、冗長なアクションを削除するのに役立ちます。

たとえば、次のアクションには2回の iam:GetCredentialReport アクションが含まれます。

"Action": [ "iam:Get*", "iam:List*", "iam:GetCredentialReport" ],

この例では、Get または List で始まるすべての IAM アクションに対してアクセス許可が定義されています。IAM が追加の取得またはリスト操作を追加する場合、このポリシーによって許可されます。これらの読み取り専用アクションをすべて許可することをお勧めします。iam:GetCredentialReport アクションはすでに iam:Get* の一部として含まれています。重複したアクセス許可を削除するには、iam:GetCredentialReport を削除します。

アクションの内容がすべて冗長である場合、このポリシーチェックの結果が表示されます。この例では、要素に iam:*CredentialReport が含まれている場合、冗長とは見なされません。これには、冗長な iam:GetCredentialReport とそうでない iam:GenerateCredentialReport が含まれます。 iam:Get* または iam:*CredentialReport のいずれかを削除すると、ポリシーのアクセス許可が変更されます。

この提案を伴うAWS 管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

冗長アクションは、ポリシーで付与されるアクセス権限には影響しません。顧客管理ポリシーを作成するための参照として AWS 管理ポリシーを使用する場合、AWS では、ポリシーから冗長なアクションを削除することをお勧めします。

提案 — 冗長な条件値 num

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Redundant condition value num: Multiple values in {{operator}} are redundant. Replace with the {{greatest/least}} single value for {{key}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Multiple values in {{operator}} are redundant. Replace with the {{greatest/least}} single value for {{key}}."

提案の解決

条件キーで類似の値に数値条件演算子を使用すると、重複を作成して重複する権限を作成できます。

たとえば、次の Condition 要素には、年の重なりが1200秒である複数の aws:MultiFactorAuthAge 条件が含まれています。

"Condition": { "NumericLessThan": { "aws:MultiFactorAuthAge": [ "2700", "3600" ] } }

この例では、多要素認証 (MFA) が 3600 秒 (1 時間) 前に完了した場合にアクセス許可が定義されます。冗長な 2700 値を削除できます。

提案 — 冗長リソース

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Redundant resource: The {{redundantResourceCount}} resource ARN(s) are redundant because they reference the same resource. Review the use of wildcards (*)

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The {{redundantResourceCount}} resource ARN(s) are redundant because they reference the same resource. Review the use of wildcards (*)"

提案の解決

Amazon リソースネーム (ARN) でワイルドカード (*) を使用すると、冗長リソースアクセス権限を作成できます。

たとえば、次の Resource 要素には、冗長なアクセス許可を持つ複数の ARN が含まれます。

"Resource": [ "arn:aws:iam::111122223333:role/jane-admin", "arn:aws:iam::111122223333:role/jane-s3only", "arn:aws:iam::111122223333:role/jane*" ],

この例では、名前が jane で始まるすべてのロールに対して権限が定義されています。結果の権限を変更せずに、冗長な jane-admin および jane-s3only ARNを削除できます。これにより、ポリシーはダイナミックになります。これは、で始まる将来のロールに対するパーミッションを定義しますjane。ポリシーの意図が静的数のロールへのアクセスを許可する場合は、最後の ARN を削除し、定義する必要がある ARN のみをリストします。

この提案を伴うAWS 管理ポリシー

AWS 管理ポリシーを使用すると、一般的な AWS のユースケースに基づいてアクセス許可を割り当てることにより、AWS の使用を開始できます。

冗長リソースは、ポリシーで付与されるアクセス許可には影響しません。AWS マネージドポリシーを参照として使用してカスタマーマネージドポリシーを作成する場合、AWS ではポリシーから冗長なリソースを削除することをお勧めします。

提案 — 冗長ステートメント

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Redundant statement: The statements are redundant because they provide identical permissions. Update the policy to remove the redundant statement.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The statements are redundant because they provide identical permissions. Update the policy to remove the redundant statement."

提案の解決

Statement 要素は、ポリシーの主要要素です。この要素は必須です。Statement 要素には、単一のステートメントまたは個々のステートメントの配列を含めることができます。

長いポリシーに同じステートメントを複数回含めると、ステートメントは冗長になります。ポリシーによって付与されるアクセス許可に影響を与えずに、ステートメントの 1 つを削除できます。ポリシーを編集したユーザーは、重複したステートメントを更新せずにステートメントの 1 つを変更することがあります。これにより、意図した権限よりも多くなる可能性があります。

提案 — サービス名のワイルドカード

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Wildcard in service name: Avoid using wildcards (*, ?) in the service name because it might grant unintended access to other AWS services with similar names.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Avoid using wildcards (*, ?) in the service name because it might grant unintended access to other AWS services with similar names."

提案の解決

ポリシーに AWS サービスの名前を含める場合は、AWS では、ワイルドカード (*、?) を含めないことをお勧めします。これにより、意図しない将来のサービスに対するアクセス許可が追加される可能性があります。たとえば、名前に単語 *code* が含まれている AWS サービスは12以上あります

"Resource": "arn:aws:*code*::111122223333:*"

提案 — サービスに対してサポートされていないタグ条件キーで許可する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Allow with unsupported tag condition key for service: Using the effect Allow with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes does not affect the policy: {{serviceNames}}. Actions for the listed service are not allowed by this statement. We recommend that you move these actions to a different statement without this condition key.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the effect Allow with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes does not affect the policy: {{serviceNames}}. Actions for the listed service are not allowed by this statement. We recommend that you move these actions to a different statement without this condition key."

提案の解決

ポリシーの Condition 要素でサポートされていないタグ条件キーを "Effect": "Allow" で使用しても、そのサービスアクションでは条件が無視されるため、ポリシーによって付与されるアクセス許可には影響しません。AWS では、条件キーをサポートしていないサービスのアクションを削除し、そのサービス内の特定のリソースへのアクセスを許可する別のステートメントを作成することをお勧めします。

aws:ResourceTag 条件キーを使用していて、サービスアクションでサポートされていない場合、そのキーは要求コンテキストに含まれません。この場合は、Allow ステートメントは、常に false に設定され、アクションは決して許可されません。これは、リソースが正しくタグ付けされている場合でも発生します。

サービスが aws:ResourceTag 条件キーをサポートしている場合、タグを使用してそのサービスのリソースへのアクセスを制御できます。これは、属性ベースのアクセス制御 (ABAC) と呼ばれます。これらのキーをサポートしないサービスでは、リソースベースのアクセス制御 (RBAC) を使用してリソースへのアクセスを制御する必要があります。

注記

一部のサービスでは、リソースとアクションのサブセットの aws:ResourceTag 条件キーのサポートが許可されています。IAM Access Analyzer は、サポートされていないサービスアクションの結果を返します。たとえば、Amazon S3はそのリソースのサブセットに対して aws:ResourceTag をサポートしています。aws:ResourceTag 条件キーをサポートする Amazon S3 で利用可能なすべてのリソースタイプを表示するには、「サービス認可リファレンス」の「Amazon S3 で定義されるリソースタイプ」を参照してください。

たとえば、チームメンバーがキーと値のペア team=BumbleBee でタグ付けされた特定のリソースの詳細を表示できるようにするとします。また、AWS Lambda でリソースにタグを付けることはできますが、aws:ResourceTag 条件キーをサポートしていないと仮定します。このタグが存在する場合に AWS App Mesh および AWS Backup のビューアクションを許可するには、aws:ResourceTag 条件キーを使用します。Lambda の場合は、チーム名をプレフィックスとして含むリソース命名規則を使用します。その後、その命名規則でリソースを表示することを許可する別のステートメントを含めます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewSupported", "Effect": "Allow", "Action": [ "appmesh:DescribeMesh", "backup:GetBackupPlan" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/team": "BumbleBee" } } }, { "Sid": "AllowViewUnsupported", "Effect": "Allow", "Action": "lambda:GetFunction", "Resource": "arn:aws:lambda:*:123456789012:function:team-BumbleBee*" } ] }
警告

この結果の回避策として、Not バージョンの条件演算子"Effect": "Allow" と一緒に使用しないでください。これらの条件演算子は、否定的なマッチングを提供します。これは、条件が評価された後、結果が否定されることを意味します。前の例では、lambda:GetFunction 演算子を使用して AllowViewSupported ステートメントに StringNotEquals アクションを含めると、リソースがタグ付けされているかどうかに関係なく、常にアクションが許可されます。

この結果の回避策として、条件演算子の…IfExists バージョンを使用しないでください。これは、キーがリクエストコンテキストに存在し、値が一致する場合、アクションを許可することを意味します。それ以外の場合は、アクションを許可します。前の例では、演算子を使用して AllowViewSupported ステートメントに lambda:GetFunction アクションを含めると、常に StringEqualsIfExists アクションが許可されます。そのアクションでは、キーはコンテキストに存在せず、リソースがタグ付けされているかどうかにかかわらず、そのリソースタイプを表示しようとするすべての試みが許可されます。

関連用語

提案 — サービス用にサポートされていないタグ条件キーで NotAction を許可する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Allow NotAction with unsupported tag condition key for service: Using the effect Allow with NotAction and the tag condition key {{conditionKeyName}} allows only service actions that support the condition key. The condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "Using the effect Allow with NotAction and the tag condition key {{conditionKeyName}} allows only service actions that support the condition key. The condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction."

提案の解決

ポリシーの Condition 要素でサポートされていないタグ条件キーを要素 NotAction および "Effect": "Allow" と併用しても、ポリシーによって付与されるアクセス許可には影響しません。条件キーをサポートしていないサービスアクションでは、条件は無視されます。AWS では、アクションのリストを許可するようにロジックを書き直すことを推奨しています。

aws:ResourceTag 条件キーを NotAction と併用する場合、キーをサポートしない新規または既存のサービスアクションは許可されません。AWS では、許可するアクションを明示的にリストすることをお勧めします。IAM Access Analyzer は、aws:ResourceTag 条件キーをサポートしないリストされたアクションに対して個別の結果を返します。詳細については、「提案 — サービスに対してサポートされていないタグ条件キーで許可する」を参照してください。

サービスが aws:ResourceTag 条件キーをサポートしている場合、タグを使用してそのサービスのリソースへのアクセスを制御できます。これは、属性ベースのアクセス制御 (ABAC) と呼ばれます。これらのキーをサポートしないサービスでは、リソースベースのアクセス制御 (RBAC) を使用してリソースへのアクセスを制御する必要があります。

関連用語

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Recommended condition key for service principal: To restrict access to the service principal {{servicePrincipalPrefix}} operating on your behalf, we recommend aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths instead of {{key}}.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "To restrict access to the service principal {{servicePrincipalPrefix}} operating on your behalf, we recommend aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths instead of {{key}}."

提案の解決

サービスの識別子であるサービスプリンシパルを使用して、リソースベースのポリシーの Principal エレメントで AWS のサービス を指定できます。サービスプリンシパルへのアクセスを付与する場合は、aws:Referer のような条件キーの代わりに、aws:SourceArnaws:SourceAccountaws:SourceOrgIDaws:SourceOrgPaths などの条件キーを使用してください。これにより、混乱した代理と呼ばれるセキュリティ上の問題を防ぐことができます。

関連用語

提案 — ポリシー内の不適切な条件キー

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Irrelevant condition key in policy: The condition key {{condition-key}} is not relevant for the {{resource-type}} policy. Use this key in an identity-based policy to govern access to this resource.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The condition key {{condition-key}} is not relevant for the {{resource-type}} policy. Use this key in an identity-based policy to govern access to this resource."

提案の解決

一部の条件キーは、リソースベースのポリシーに適していない場合があります。例えば、s3:ResourceAccount 条件キーは Amazon S3 バケットや Amazon S3 アクセスポイントのリソースタイプに添付された、リソースベースのポリシーには適していません。

ID ベースのポリシーでは条件キーを使用して、リソースへのアクセスを制御するべきです。

関連用語

提案 — ロール信頼ポリシーにおける冗長なプリンシパル

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Redundant principal in role trust policy: The assumed-role principal {{redundant_principal}} is redundant with its parent role {{parent_role}}. Remove the assumed-role principal.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The assumed-role principal {{redundant_principal}} is redundant with its parent role {{parent_role}}. Remove the assumed-role principal."

提案の解決

ポリシーの Principal 要素で、継承されたロールのプリンシパルとその親の役ロールの両方を指定した場合、異なる許可は許可または拒否されません。例えば、次の形式を使用して Principal 要素を指定すると冗長になります。

"Principal": { "AWS": [ "arn:aws:iam::AWS-account-ID:role/rolename", "arn:aws:iam::AWS-account-ID:assumed-role/rolename/rolesessionname" ]

ロールを引き受けたプリンシパルを削除することをお勧めします。

関連用語

提案 — 対象者のクレームタイプを確認する

AWS Management Console では、このチェックの結果に次のメッセージが表示されます。

Confirm audience claim type: The 'aud' (audience) claim key identifies the recipients that the JSON web token is intended for. Audience claims can be multivalued or single-valued. If the claim is multivalued, use a ForAllValues or ForAnyValue qualifier. If the claim is single-valued, do not use a qualifier.

AWS CLI または AWS API へのプログラムによる呼び出しでは、このチェックの結果に次のメッセージが表示されます。

"findingDetails": "The 'aud' (audience) claim key identifies the recipients that the JSON web token is intended for. Audience claims can be multivalued or single-valued. If the claim is multivalued, use a ForAllValues or ForAnyValue qualifier. If the claim is single-valued, do not use a qualifier."

提案の解決

aud (対象者) クレーム キーは、アプリを IdP に登録するときに発行されるアプリの一意の識別子であり、JSON ウェブトークンの対象となる受信者を識別します。対象者のクレームは、複数値でも単一値でもかまいません。クレームが複数値の場合は、ForAllValues または ForAnyValue 条件セット演算子を使用します。クレームが単一値の場合は、条件セット演算子を使用しないでください。

関連用語