

# Amazon RDS Custom のセキュリティ
<a name="custom-security"></a>

RDS Custom のセキュリティ上の考慮事項を、よく理解しておきます。

RDS Custom のセキュリティの詳細については、以下のトピックを参照してください。
+ [Amazon S3 バケットを、「混乱した代理」問題から保護する](custom-security.confused-deputy.md)
+ [コンプライアンスプログラムのための RDS Custom for Oracle の認証情報のローテーション](custom-security.cred-rotation.md)

## RDS Custom がユーザーに代わってタスクを安全に管理する方法
<a name="custom-security.security-tools"></a>

RDS Custom は、次のツールとテクニックを使用して、ユーザーに代わって安全に操作を実行します。

**AWSServiceRoleForRDSCustom サービスリンクロール**  
*サービスリンクロール*はサービスによって事前に定義されており、サービスがユーザーに代わって他の AWS のサービス サービスを呼び出すために必要なアクセス許可がすべて含まれています。RDS Custom の場合、`AWSServiceRoleForRDSCustom` は最小特権の原則に従って定義されるサービスリンクロールです。RDS Custom は `AmazonRDSCustomServiceRolePolicy` で特権を使用します。これは、このロールにアタッチされているポリシーであり、ほとんどのプロビジョニングタスクとすべてのオフホスト管理タスクを実行します。詳細については、「[AmazonRDSCustomServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomServiceRolePolicy.html)」を参照してください。  
ホスト上でタスクを実行する場合、RDS Custom オートメーションはサービスリンクロールの認証情報を使用し、AWS Systems Manager を使用してコマンドを実行します。Systems Manager のコマンド履歴と AWS CloudTrail を使用してコマンド履歴を監査できます。Systems Manager は、ネットワーク設定を使用して RDS Custom DB インスタンスに接続します。詳細については、「[ステップ 4: RDS Custom for Oracle 用に IAM を設定する](custom-setup-orcl.md#custom-setup-orcl.iam-vpc)」を参照してください。

**一時 IAM 認証情報**  
リソースをプロビジョニングまたは削除する際、RDS Custom は呼び出し元の IAM プリンシパルの認証情報から取得した一時的な認証情報を使用することがあります。これらの IAM 認証情報は、そのプリンシパルにアタッチされている IAM ポリシーによって制限され、そのオペレーションが完了すると失効します。RDS Custom を使用する IAM プリンシパルに必要なアクセス許可については、「[ステップ 5: IAM ユーザーまたはロールに必要なアクセス許可を付与する](custom-setup-orcl.md#custom-setup-orcl.iam-user)」を参照してください。

**Amazon EC2 インスタンスプロファイル**  
EC2 インスタンスプロファイルは IAM ロールのコンテナであり、EC2 インスタンスにロール情報を渡すために使用できます。EC2 インスタンスは RDS Custom DB インスタンスの基礎となります。RDS Custom DB インスタンスを作成するときに、インスタンスプロファイルを提供します。RDS Custom は、バックアップなどのホストベースの管理タスクを実行する際に EC2 インスタンスプロファイルの認証情報を使用します。詳細については、「[IAM ロールおよびインスタンスプロファイルをマニュアルで作成する](custom-setup-orcl.md#custom-setup-orcl.iam)」を参照してください。

**SSH キーペア**  
RDS Custom が DB インスタンスの基盤となる EC2 インスタンスを作成すると、ユーザーに代わって SSH キーペアが作成されます。キーは命名プレフィックス `do-not-delete-rds-custom-ssh-privatekey-db-` または `rds-custom!oracle-do-not-delete-{{db_resource_id-uuid}}-ssh-privatekey` を使用します。AWS Secrets Manager はこの SSH プライベートキーをシークレットとして AWS アカウントに保存します。Amazon RDS はこれらの認証情報を保存、アクセス、または使用しません。詳細については、「[Amazon EC2 キーペアおよび Linux インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)」を参照してください。

## SSL 証明書
<a name="custom-security.ssl"></a>

RDS Custom DB インスタンスは、マネージド SSL 証明書をサポートしていません。SSL をデプロイする場合は、SSL 証明書を自分のウォレットでセルフマネージし、SSL リスナーを作成してクライアントデータベース間の接続を保護したり、データベースのレプリケーションを行ったりできます。詳細については、Oracle Database ドキュメントの「[Transport Layer Security 認証の構成](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-secure-sockets-layer-authentication.html#GUID-6AD89576-526F-4D6B-A539-ADF4B840819F)」を参照してください。