AWS End User Messaging SMS のアイデンティティベースのポリシーの例 - AWS End User Messaging SMS

AWS End User Messaging SMS のアイデンティティベースのポリシーの例

デフォルトでは、ユーザーおよびロールには AWS End User Messaging SMS リソースを作成または変更するアクセス権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらサンプルの JSON ポリシードキュメントを使用して、IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「IAM ポリシーを作成する (コンソール)」を参照してください。

AWS End User Messaging SMS で定義されているアクションおよびリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、「サービス認証リファレンス」の「AWS End User Messaging SMS のアクション、リソース、条件キー」を参照してください。

ポリシーに関するベストプラクティス

アイデンティティベースのポリシーは、ユーザーのアカウントで誰かが AWS End User Messaging SMS リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションを実行すると、AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS マネージドポリシーを使用して開始し、最小特権の許可に移行する – ユーザーとワークロードへの許可の付与を開始するには、多くの一般的なユースケースのために許可を付与する AWS マネージドポリシーを使用します。これらは AWS アカウントで使用できます。ユースケースに固有の AWS カスタマー管理ポリシーを定義して、アクセス許可を絞り込むことをお勧めします。詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」または「ジョブ機能の AWS マネージドポリシー」を参照してください。

  • 最小特権を適用する – IAM ポリシーで許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、「IAM ユーザーガイド」の「IAM でのポリシーとアクセス許可」を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。また、CloudFormation などの特定の AWS のサービス を介して使用する場合、条件を使用してサービスアクションへのアクセスを許可することもできます。詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素:条件」を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、「IAM ユーザーガイド」の「IAM Access Analyzer でポリシーを検証する」を参照してください。

  • 多要素認証 (MFA) を要求する – AWS アカウントで IAM ユーザーまたはルートユーザーを要求するシナリオがある場合は、セキュリティを強化するために MFA をオンにします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、「IAM ユーザーガイド」の「MFA を使用した安全な API アクセス」を参照してください。

IAM でのベストプラクティスの詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

AWS End User Messaging SMS コンソールの使用

AWS End User Messaging SMS コンソールにアクセスするには、許可の最小限のセットが必要です。これらの許可により、AWS アカウント の AWS End User Messaging SMS リソースの詳細をリストおよび表示できます。最小限必要なアクセス許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) ではコンソールが意図したとおりに機能しません。

AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソール権限を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスを許可します。

ユーザーとロールが引き続き AWS End User Messaging SMS コンソールを使用できるようにするには、エンティティに AWS End User Messaging SMS ConsoleAccess または ReadOnly AWS マネージドポリシーもアタッチします。詳細については、「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 End User Messaging SMS および音声 v2 API アクションへのアクセスを許可する

このセクションでは、AWS End User Messaging SMS および音声 v2 API から利用できる機能へのアクセスを許可するポリシーの例を示します。これは、AWS End User Messaging SMS で SMS チャネルと音声チャネルを使用および管理するための高度なオプションを提供する補足 API です。この API の詳細については、「AWS End User Messaging SMS および音声 v2 API リファレンス」を参照してください。

読み取り専用アクセス

次のポリシー例では、AWS アカウント内のすべての AWS End User Messaging SMS および音声 v2 API アクションとリソースへの読み取り専用アクセスを許可します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "SMSVoiceReadOnly", "Effect": "Allow", "Action": [ "sms-voice:List*", "sms-voice:DescribeAccountAttributes", "sms-voice:DescribeAccountLimits", "sms-voice:DescribeConfigurationSets", "sms-voice:DescribeKeywords", "sms-voice:DescribeOptedOutNumbers", "sms-voice:DescribeOptOutLists", "sms-voice:DescribePhoneNumbers", "sms-voice:DescribePools", "sms-voice:DescribeRegistrationAttachments", "sms-voice:DescribeRegistrationFieldDefinitions", "sms-voice:DescribeRegistrations", "sms-voice:DescribeRegistrationSectionDefinitions", "sms-voice:DescribeRegistrationTypeDefinitions", "sms-voice:DescribeRegistrationVersions", "sms-voice:DescribeSenderIds", "sms-voice:DescribeSpendLimits", "sms-voice:DescribeVerifiedDestinationNumbers" ], "Resource": "*" } ] }

管理者アクセス権

次のポリシー例では、AWS アカウント内のすべての AWS End User Messaging SMS および音声 v2 API アクションとリソースへのフルアクセスを許可します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "SMSVoiceFullAccess", "Effect": "Allow", "Action": [ "sms-voice:*" ], "Resource": "*" } ] }

Kinesis にイベントをストリーミングするための IAM ロール

AWS End User Messaging SMS では、アプリケーションから AWS アカウントの Amazon Kinesis データストリーム、または Amazon Data Firehose 配信ストリームに、自動的にアプリケーションの使用状況データまたはイベントデータを送信できます。AWS End User Messaging SMS がイベントデータのストリーミングを開始する前に、必要なアクセス許可を AWS End User Messaging SMS に委任する必要があります。

コンソールを使用してイベントストリーミングをセットアップする場合、AWS End User Messaging SMS は自動的に必要なアクセス権限を持つ AWS Identity and Access Management (IAM) ロールを作成します。

手動でロールを作成する場合は、次のポリシーをロールにアタッチします。

  • イベントデータをストリームに送信することを AWS End User Messaging SMS に許可するアクセス許可ポリシー。

  • AWS End User Messaging SMS がロールを引き受けるのを許可する信頼ポリシー。

ロールの作成が完了したら、AWS End User Messaging SMS を設定して自動的にストリームにイベントを送信できます。詳細については、このガイドの「AWS End User Messaging SMS で Amazon Data Firehose イベントの送信先を設定する」を参照してください。