

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SNS で一時的なセキュリティ認証情報を使用する
<a name="sns-using-temporary-credentials"></a>

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 ロールの使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)」および「[外部で認証されたユーザー (ID フェデレーション) へのアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)」を参照してください。

**Example 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>}}
```

**リクエストを認証する手順**

1. **一時的なセキュリティ認証情報の取得** - AWS STS を使用して、ロールを引き受けたり、フェデレーションユーザーの認証情報を取得したりします。これにより、アクセスキー ID、シークレットアクセスキー、およびセキュリティトークンが提供されます。

1. **リクエストの作成** – Amazon SNS アクションに必要なパラメータ (CreateTopic など) を含め、安全な通信に HTTPS を使用していることを確認します。

1. **リクエストへの署名** – AWS 署名バージョン 4 プロセスを使用して、リクエストに署名します。これには、正規リクエストの作成、署名対象の文字列の作成、署名の計算が含まれます。 AWS 署名バージョン 4 の詳細については、*「Amazon EBS* [ユーザーガイド」の「署名バージョン 4 署名](https://docs.aws.amazon.com/ebs/latest/userguide/ebsapis-using-sigv4.html)を使用する」を参照してください。

1. **リクエストの送信** - リクエストヘッダーに X-Amz-Security-Token を含め、一時的なセキュリティ認証情報を Amazon SNS に渡します。