投稿日: May 4, 2021

AWS Identity and Access Management (IAM) でポリシー条件がサポートされるようになり、リソースにアクセスする AWS のサービスのアクセス許可の管理が向上しました。 多くの AWS のサービスはタスクを実行するためにお客様の内部リソースへのアクセスを必要とし、サービスプリンシパルと呼ばれる独自のサービス ID を使用してアクセスを行うことがあります。 新しいサービスプリンシパル条件を使用すると、すべてのサービスプリンシパルのルールを適用するルールや、ユーザー自身の ID だけを意図した特定のアクセス許可ルールからサービスプリンシパルを除外するルールを簡単に作成できます。

例えば、AWS Cloudtrail で S3 バケットにログデータを送信する場合、制御する送信先バケットに CloudTrail のサービスプリンシパルアクセスを付与する必要があります。ここで、S3 バケットにアクセスするすべてのユーザーに AWS PrivateLink の使用を要求する一方で、AWS CloudTrail のサービスプリンシパルにデータ送信を許可する場合を考えてみます。そのシナリオでは、リクエストが PrivateLink エンドポイントを使用しない場合や、リクエストを行うプリンシパルが AWS のサービスのプリンシパルである場合にアクセスを拒否する S3 バケットのポリシーを簡単に作成できます。

新しい IAM ポリシー条件は、aws:PrincipalIsAWSServiceaws:PrincipalServiceNameaws:PrincipalServiceNamesList です。これらの新しい条件は、追加コストなしで IAM ポリシー内での使用を開始できます。詳細については、「AWS グローバル条件コンテキストキー」を参照してください。