翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SNS で一時的なセキュリティ認証情報を使用する
AWS Identity and Access Management (IAM) では、 AWS リソースへのアクセスを必要とするユーザーとアプリケーションに一時的なセキュリティ認証情報を付与できます。これらの一時的なセキュリティ認証情報は、主に IAM ロールと、SAML や OpenID Connect (OIDC) などの業界標準プロトコルを介したフェデレーティッドアクセスに使用されます。
AWS リソースへのアクセスを効果的に管理するには、以下の主要な概念を理解することが重要です。
-
IAM ロール – ロールは、 AWS リソースへのアクセスを委任するために使用されます。ロールは、Amazon EC2 インスタンス、Lambda 関数、または他の AWS アカウントのユーザーなどのエンティティで引き受けることができます。
-
フェデレーションユーザー – これらは、SAML または OIDC を使用して外部 ID プロバイダー (IdP) を介して認証されたユーザーです。フェデレーティッドアクセスは人間のユーザーに推奨され、IAM ロールはソフトウェアアプリケーションに使用する必要があります。
-
Roles Anywhere – AWS アクセスを必要とする外部アプリケーションの場合、IAM Roles Anywhere を使用して、長期的な認証情報を作成せずにアクセスを安全に管理できます。
Amazon SNS に対するリクエストを作成するときに、これらの一時的なセキュリティ認証情報を使用できます。SDK ライブラリおよび API ライブラリによって、これらの認証情報を使用して必要な署名値が計算されて、リクエストが認証されます。認証情報の有効期限が切れたリクエストは、Amazon SNS によって拒否されます。
一時的なセキュリティ認証情報の詳細については、「IAM ユーザーガイド」の「IAM ロールの使用」および「外部で認証されたユーザー (ID フェデレーション) へのアクセス許可」を参照してください。
例 HTTPS リクエストの例
次の例は、 AWS Security Token Service (STS) から取得した一時的なセキュリティ認証情報を使用して Amazon SNS リクエストを認証する方法を示しています。
https://sns.us-east-2.amazonaws.com/ ?Action=CreateTopic &Name=My-Topic &SignatureVersion=4 &SignatureMethod=AWS4-HMAC-SHA256 &Timestamp=2023-07-05T12:00:00Z &X-Amz-Security-Token=SecurityTokenValue &X-Amz-Date=20230705T120000Z &X-Amz-Credential=
<your-access-key-id>
/20230705/us-east-2/sns/aws4_request &X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value>
リクエストを認証する手順
-
一時的なセキュリティ認証情報の取得 - AWS STS を使用して、ロールを引き受けたり、フェデレーションユーザーの認証情報を取得したりします。これにより、アクセスキー ID、シークレットアクセスキー、およびセキュリティトークンが提供されます。
-
リクエストの作成 – Amazon SNS アクションに必要なパラメータ (CreateTopic など) を含め、安全な通信に HTTPS を使用していることを確認します。
-
リクエストへの署名 – AWS 署名バージョン 4 プロセスを使用して、リクエストに署名します。これには、正規リクエストの作成、署名対象の文字列の作成、署名の計算が含まれます。 AWS 署名バージョン 4 の詳細については、「Amazon EBS ユーザーガイド」の「署名バージョン 4 署名を使用する」を参照してください。
-
リクエストの送信 - リクエストヘッダーに X-Amz-Security-Token を含め、一時的なセキュリティ認証情報を Amazon SNS に渡します。