Function Computeは、セキュリティ保証の作業負荷を軽減するためのさまざまなセキュリティメカニズムを提供します。 ビジネス要件に基づいてビジネスのセキュリティを確保するには、Function Computeが提供するセキュリティメカニズムを使用する必要があります。
資格情報などの認証情報の漏洩を防ぐ
ID資格情報などの認証情報が漏洩した場合、ビジネスのセキュリティを確保できません。 あなたが使用 RAMを使用して、最小権限の原則に基づいてRAMユーザーに権限を付与し、STSトークンを使用して、ID資格情報などの認証情報が漏洩するリスクを軽減します。
関数コードとレイヤーのセキュリティ保証
Function Computeは、認証されたユーザーに一時的なコードとダウンロードアドレスを提供します。 コードとライブラリの漏洩のリスクを減らすために、一時的なダウンロードアドレスの漏洩を避ける必要があります。
ID資格情報の漏洩を防ぐために、ID資格情報などの認証情報をコードまたはレイヤーに記録しないようにする必要があります。
コードとレイヤーのサイズに注意する必要があります。 コードとレイヤーのサイズが大きすぎると、関数インスタンスの起動が遅すぎるか、起動できない場合があります。
関数インスタンスは、異なる呼び出し間で再利用できます。 以前の呼び出しでは、グローバル変数、環境変数、およびファイルシステムの内容が変更される場合があります。 コードでは、呼び出しが新しい環境で実行されると仮定することはできません。
関数インスタンスは、異なる呼び出しの間で再利用されてもされなくてもよい。 したがって、ある呼び出しによって変更されたグローバル変数、環境変数、ファイルシステム、およびその他のコンテンツが、別の呼び出しに対して有効であると仮定することはできません。
非同期呼び出しおよび非同期タスクシナリオでは、エラーが発生したときにFunction Computeが関数の実行を再試行します。 イベントは、少なくとも1回実行することができる。 ただし、同じイベントが1つの呼び出しのみをトリガーすると仮定することはできません。
関数がレスポンスを返すと、function Computeは関数インスタンスをフリーズします。 呼び出しが戻ったときに、すべての非同期プロセス、スレッド、およびコルーチンが実行されると仮定することはできません。 また、非同期で書き込まれたログが更新されると仮定することもできません。
単一のFunction Computeインスタンスは複数のリクエストを同時に実行できますが、同時実行機能はランタイム言語に関連しています。 たとえば、Node.jsはシングルスレッドモードです。 Pythonにはグローバルインタプリタロック (GIL) があり、計算集約型の呼び出しを同時に実行することはできません。 同時実行の数が常に期待どおりであると仮定することはできません。
さまざまなリソース制限が関数呼び出しに適用されます。 たとえば、呼び出し要求パッケージと戻りパッケージの
ヘッダー
のサイズは4 KBを超えることはできません。環境変数の合計サイズは4 KBを超えることはできません。また、要求パッケージの本体
のサイズは16 MBを超えることはできません。 リソースの制限は、公式Webサイトのドキュメントに従って調整することができます。 リソースの制限に達すると、コードが期待どおりに実行されない場合があります。Function Computeランタイムバージョンのサポート時間は、コミュニティのサポート時間と同期されます。 コミュニティがバージョンをサポートしなくなると、Function Computeもサポートの停止を開始します。 サポートが停止した後、関数は常に期待どおりに実行されるとは限りません。 ユーザーは、最も早い機会にサポートされていないランタイムバージョンを廃止する必要があります。
ユーザーは、コードとライブラリのセキュリティを確保し、脆弱性を修正し、できるだけ早い機会に機能を更新する必要があります。
機能設定のセキュリティ保証
関数リソースの設定
関数の最大実行時間を適切な値に設定する必要があります。 値が大きすぎると、エラー発生時により多くの料金が発生する可能性があります。 値が小さすぎると、サービスの可用性に影響を与える可能性があります。
最大メモリサイズの値を適切な値に設定する必要があります。 値が大きすぎると、より多くの料金が発生します。 値が小さすぎると、サービスの可用性や実行性能に影響を与える可能性があります。
単一の関数インスタンスの呼び出し同時実行性を適切な値に設定する必要があります。 値が大きすぎると、サービスの可用性や実行パフォーマンスに影響を与える可能性があります。
エラーが発生したときに追加料金が発生しないように、最大リソースクォータを適切な値に設定する必要があります。
関数アクセス許可
使用する必要があります RAMを使用して、さまざまなRAMユーザーがFunction Computeにアクセスする権限を計画し、セキュリティリスクを軽減します。
関数のアクセス権限を設定する必要があります。 たとえば、指定したVPC経由でのみ関数にアクセスできるように指定できます。
関数が予期せず呼び出されないように、トリガー権限を適切に設定する必要があります。
外部アクセス設定の関数
ビジネス要件に基づいて適切なネットワークアクセス設定を構成する必要があります。 たとえば、関数が指定されたVPCにアクセスできるようにすることで、機密情報の漏洩を防ぐことができます。
Alibaba Cloudサービスへのアクセス
ビジネス要件に基づいて、OSSやTablestore (OTS) などのAlibaba CloudサービスのFunction Compute実行ロールに対するアクセス許可を適切に設定して、機密情報の漏洩を防ぐ必要があります。
ユーザーが設定したApsara File Storage NAS (NAS) の場合、データはVPC経由で送信され、データのセキュリティが確保されます。 ビジネス要件に基づいて送信暗号化を有効にできます。 詳細については、「NFSファイルシステムの転送中の暗号化」をご参照ください。