翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のアイデンティティベースのポリシーの例AWS Config
デフォルトでは、 ユーザーおよびロールには、AWS Configリソースを作成または変更する権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。
これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「IAM ポリシーを作成する (コンソール)」を参照してください。
各リソースタイプの ARN の形式などAWS Config、 で定義されるアクションとリソースタイプの詳細については、「サービス認可リファレンス」の「 のアクション、リソース、および条件キーAWS Config」を参照してください。 ARNs
トピック
ポリシーに関するベストプラクティス
ID ベースのポリシーは、誰かがアカウント内のAWS Configリソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
-
AWS管理ポリシーを開始し、最小特権のアクセス許可に移行 – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与するAWS管理ポリシーを使用します。これらは で使用できますAWS アカウント。ユースケースに固有のAWSカスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイド の AWSマネージドポリシー または ジョブ機能のAWSマネージドポリシー を参照してください。
-
最小特権を適用する – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、IAM ユーザーガイド の IAM でのポリシーとアクセス許可 を参照してください。
-
IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合にAWS のサービス、サービスアクションへのアクセスを許可することもできますCloudFormation。詳細については、IAM ユーザーガイド の IAM JSON ポリシー要素:条件 を参照してください。
-
IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的なアクセス権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、IAM ユーザーガイド の IAM Access Analyzer でポリシーを検証する を参照してください。
-
多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合はAWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、IAM ユーザーガイド の MFA を使用した安全な API アクセス を参照してください。
IAM でのベストプラクティスの詳細については、IAM ユーザーガイド の IAM でのセキュリティのベストプラクティス を参照してください。
にサインアップするAWS アカウント
がない場合はAWS アカウント、次の手順を実行して作成します。
にサインアップするにはAWS アカウント
https://portal.aws.amazon.com/billing/signup
を開きます。 オンラインの手順に従います。
サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。
にサインアップするとAWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべてのAWS のサービスとリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、ルートユーザーアクセスが必要なタスクの実行にはルートユーザーのみを使用するようにしてください。
AWSサインアッププロセスが完了すると、 から確認メールが送信されます。https://aws.amazon.com/
管理アクセスを持つユーザーを作成する
にサインアップしたらAWS アカウント、日常的なタスクにルートユーザーを使用しないようにAWS アカウントのルートユーザー、 を保護しAWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。
を保護するAWS アカウントのルートユーザー
-
ルートユーザーを選択し、AWS アカウント E メールアドレスを入力して、アカウント所有者AWS マネジメントコンソール
として にサインインします。次のページでパスワードを入力します。 ルートユーザーを使用してサインインする方法については、「AWS サインインユーザーガイド」の「ルートユーザーとしてサインインする」を参照してください。
-
ルートユーザーの多要素認証 (MFA) を有効にします。
手順については、IAM ユーザーガイドのAWS アカウント「ルートユーザー (コンソール) の仮想 MFA デバイスを有効にする」を参照してください。
管理アクセスを持つユーザーを作成する
-
IAM アイデンティティセンターを有効にします。
手順については、「AWS IAM アイデンティティセンターユーザーガイド」の「AWS IAM アイデンティティセンターの有効化」を参照してください。
-
IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。
を ID ソースIAM アイデンティティセンターディレクトリとして使用する方法のチュートリアルについては、「 AWS IAM アイデンティティセンターユーザーガイド」の「デフォルトを使用してユーザーアクセスを設定するIAM アイデンティティセンターディレクトリ」を参照してください。
管理アクセス権を持つユーザーとしてサインインする
-
IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。
IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン「 ユーザーガイド」のAWS「 アクセスポータルにサインインする」を参照してください。
追加のユーザーにアクセス権を割り当てる
-
IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。
手順については、「AWS IAM アイデンティティセンターユーザーガイド」の「アクセス許可セットを作成する」を参照してください。
-
グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。
手順については、「AWS IAM アイデンティティセンターユーザーガイド」の「グループの追加」を参照してください。
AWS Configコンソールを使用する
AWS Configコンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 内のAWS Configリソースの詳細を一覧表示および表示できますAWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。
AWS CLIまたはAWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。
ユーザーとロールが引き続きAWS Configコンソールを使用できるようにするには、エンティティに 管理ポリシーもアタッチAWS ConfigAWSします。詳細については、「IAM ユーザーガイド」の「ユーザーへのアクセス許可の追加」を参照してください。AWSConfigUserAccess
操作するアクセス許可をユーザーに付与する必要がありますAWS Config。へのフルアクセスが必要なユーザーにはAWS Config、 管理ポリシーへのフルアクセスAWS Configを使用します。
アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
-
以下のユーザーとグループAWS IAM アイデンティティセンター:
アクセス許可セットを作成します。「AWS IAM アイデンティティセンターユーザーガイド」の「アクセス許可セットを作成する」の手順に従ってください。
-
IAM 内で、ID プロバイダーによって管理されているユーザー:
ID フェデレーションのロールを作成します。詳細については IAM ユーザーガイド の サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する を参照してください。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。手順については IAM ユーザーガイド の IAM ユーザーのロールの作成 を参照してください。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。詳細については、「IAM ユーザーガイド」の「ユーザー (コンソール) へのアクセス権限の追加」を参照してください。
-
自分の権限の表示をユーザーに許可する
この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、またはAWS CLIまたはAWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
への読み取り専用アクセスAWS Config
次の例は、 への読み取り専用アクセスAWSConfigUserAccessを許可するAWSマネージドポリシーを示していますAWS Config。
このポリシーステートメントの Effect 要素で、アクションが許可されるか拒否されるかを指定します。Action 要素には、ユーザーによる実行を許可する特定のアクションを指定します。Resource 要素には、ユーザーがこれらのアクションを実行できるAWSリソースが一覧表示されます。AWS Configアクションへのアクセスを制御するポリシーの場合、 Resource要素は常に に設定されます。*これは「すべてのリソース」を意味するワイルドカードです。
Action 要素の値は、サービスがサポートする API に対応しています。アクションの前に が付きconfig:、AWS Configアクションを参照していることを示します。次の例に示すように、* ワイルドカード文字を Action 要素で使用できます。
-
"Action": ["config:*ConfigurationRecorder"]これにより、ConfigurationRecorder」 (
StartConfigurationRecorder、) で終わるすべてのAWS Configアクションが許可されますStopConfigurationRecorder。 -
"Action": ["config:*"]これにより、すべてのAWS Configアクションが許可されますが、他のAWSサービスのアクションは許可されません。
-
"Action": ["*"]これにより、すべてのAWSアクションが許可されます。このアクセス許可は、アカウントのAWS管理者として機能するユーザーに適しています。
読み取り専用ポリシーでは、StartConfigurationRecorder、StopConfigurationRecorder、DeleteConfigurationRecorder などのアクションに対するアクセス許可をユーザーに付与することはできません。このポリシーを持つユーザーが、設定レコーダーの開始、停止、または削除を行うことはできません。AWS Configアクションのリストについては、 AWS Config API リファレンスを参照してください。
へのフルアクセスAWS Config
次の例は、 へのフルアクセスを許可するポリシーを示していますAWS Config。これにより、すべてのAWS Configアクションを実行するアクセス許可がユーザーに付与されます。また、Amazon S3 バケットのファイルの管理や、ユーザーが関連付けられているアカウントの Amazon SNS トピックの管理も行うことができます。
重要
このポリシーによって、広範なアクセスが許可されます。フルアクセスを付与する前にまず最小限のアクセス許可から開始し、必要に応じて追加のアクセス許可を付与することを検討してください。この方法は、寛容なアクセス許可から開始して、後でそれを厳しくするよりも安全です。
AWS Configルール API アクションでサポートされているリソースレベルのアクセス許可
リソースレベルのアクセス許可とは、ユーザーがアクションを実行できるリソースを指定する機能を指します。 は、特定のAWS Configルール API アクションのリソースレベルのアクセス許可AWS Configをサポートします。つまり、特定のAWS Configルールアクションでは、ユーザーがそれらのアクションを使用できる条件を制御できます。これらの条件には、アクションの要件や、ユーザーが使用できる特定のリソースなどがあります。
次の表は、現在リソースレベルのアクセス許可をサポートしているAWS Configルール API アクションを示しています。各アクションでサポートされるリソースとその ARN についても説明しています。ARN の指定時、正確なリソース ID を指定できない (したくない) 場合などに、パスに * ワイルドカードを使用できます。
重要
AWS Configルール API アクションがこのテーブルにリストされていない場合、リソースレベルのアクセス許可はサポートされていません。AWS Configルールアクションがリソースレベルのアクセス許可をサポートしていない場合は、アクションを使用するアクセス許可をユーザーに付与できますが、ポリシーステートメントのリソース要素に * を指定する必要があります。
| API アクション | リソース |
|---|---|
DeleteConfigRule |
Config ルール arn:aws:config: |
DeleteEvaluationResults |
Config ルール arn:aws:config: |
DescribeComplianceByConfigRule |
Config ルール arn:aws:config: |
DescribeConfigRuleEvaluationStatus |
Config ルール arn:aws:config: |
GetComplianceDetailsByConfigRule |
Config ルール arn:aws:config: |
PutConfigRule |
Config ルール arn:aws:config: |
StartConfigRulesEvaluation |
Config ルール arn:aws:config: |
PutRemediationConfigurations |
修復の設定 arn:aws:config: |
DescribeRemediationConfigurations |
修復の設定 arn:aws:config: |
DeleteRemediationConfiguration |
修復の設定 arn:aws:config: |
PutRemediationExceptions |
修復の設定 arn:aws:config: |
DescribeRemediationExceptions |
修復の設定 arn:aws:config: |
DeleteRemediationExceptions |
修復の設定 arn:aws:config: |
例えば、特定のルールで特定のユーザーに読み取りアクセスを許可して、書き込みアクセスを拒否するとします。
最初のポリシーでは、指定したAWS ConfigルールDescribeConfigRuleEvaluationStatusで などの読み取りアクションをルールに許可します。
2 番目のポリシーでは、特定のAWS Configルールに対するルール書き込みアクションを拒否します。
リソースレベルのアクセス許可を使用すると、読み取りアクセスを許可し、書き込みアクセスを拒否して、AWS Configルール API アクションに対して特定のアクションを実行できます。
マルチアカウント、マルチリージョンのデータ集約でサポートされるリソースレベルのアクセス許可。
ユーザーがマルチアカウントマルチリージョンのデータ集約に対して特定のアクションを実行する機能を管理するには、リソースレベルのアクセス許可を使用します。次のAWS ConfigAggregator APIsリソースレベルのアクセス許可をサポートしています。
例えば、2 つのアグリゲーター AccessibleAggregator および InAccessibleAggregator を作成し、AccessibleAggregator へのアクセスを許可するが、InAccessibleAggregator へのアクセスは拒否する IAM ポリシーをアタッチすることで、特定のユーザーからのリソースデータへのアクセスを制限できます。
AccessibleAggregator の IAM ポリシー
このポリシーでは、指定したAWS Config Amazon リソースネーム (ARN) に対してサポートされているアグリゲーターアクションへのアクセスを許可します。この例では、AWS Config ARN は ですarn:aws:config:ap-northeast-1:。AccountID:config-aggregator/config-aggregator-mocpsqhs
InAccessibleAggregator の IAM ポリシー
このポリシーでは、指定したAWS Config ARN に対してサポートされているアグリゲーターアクションへのアクセスを拒否します。この例では、AWS Config ARN は ですarn:aws:config:ap-northeast-1:。AccountID:config-aggregator/config-aggregator-pokxzldx
デベロッパーグループのユーザーが、指定したAWS Config ARN でこれらのいずれかのアクションの実行を試みた場合、そのユーザーはアクセス拒否の例外を受け取ります。
ユーザーのアクセス許可の確認
作成したアグリゲーターを表示するには、次のAWS CLIコマンドを実行します。
aws configservice describe-configuration-aggregators
コマンドが正常に完了すると、アカウントに関連付けられているすべてのアグリゲーターの詳細を確認できます。この例では、AccessibleAggregator および InAccessibleAggregator のようになります。
{ "ConfigurationAggregators": [ { "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "AccessibleAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 }, { "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "InAccessibleAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 } ] }
注記
account-aggregation-sources に、データを集約するAWSアカウント ID のカンマ区切りリストを入力します。アカウント ID を角括弧で囲み、必ず疑問符をエスケープします (例: "[{\"AccountIds\":
[\")。AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\":
true}]"
InAccessibleAggregator へのアクセス、またはアクセス先となるアグリゲータを拒否するには、次の IAM ポリシーをアタッチします。
次に、特定のアグリゲータのルールへのアクセスを制限する IAM ポリシーが動作していることを確認できます。
aws configservice get-aggregate-compliance-details-by-config-rule --configuration-aggregator-name InAccessibleAggregator --config-rule-namerule name--account-idAccountID--aws-regionAwsRegion
このコマンドではアクセス拒否の例外が返されます。
An error occurred (AccessDeniedException) when calling the GetAggregateComplianceDetailsByConfigRule operation: User: arn:aws:iam::AccountID:user/is not authorized to perform: config:GetAggregateComplianceDetailsByConfigRule on resource: arn:aws:config:AwsRegion-1:AccountID:config-aggregator/config-aggregator-pokxzldx