AddLayerVersionPermission
AWS Lambda レイヤーのバージョンのリソースベースポリシーに許可を追加します。レイヤーの使用に関するアクセス許可を他のアカウントに付与するには、このアクションを使用します。アクセス許可は、組織内の 1 つのアカウント、すべてのアカウント、またはすべての AWS アカウントに付与することができます。
許可を取り消すには、追加時に指定したステートメント ID で RemoveLayerVersionPermission を呼び出します。
リクエストの構文
POST /2018-10-31/layers/LayerName
/versions/VersionNumber
/policy?RevisionId=RevisionId
HTTP/1.1
Content-type: application/json
{
"Action": "string
",
"OrganizationId": "string
",
"Principal": "string
",
"StatementId": "string
"
}
URI リクエストパラメータ
リクエストでは、次の URI パラメータを使用します。
- LayerName
-
レイヤーの名前または Amazon リソースネーム (ARN)。
長さの制限: 最小長は 1 です。最大長は 140 です。
Pattern:
(arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+
必須: はい
- RevisionId
-
リビジョン ID が指定した ID と一致する場合にのみ、ポリシーを更新します。このオプションを使用して、最終読み取りから変更されたポリシーを変更しないようにします。
- VersionNumber
-
バージョン番号。
必須: はい
リクエストボディ
リクエストは以下の JSON 形式のデータを受け入れます。
- Action
-
レイヤーへのアクセスを許可する API アクション。例えば、
lambda:GetLayerVersion
です。型: 文字列
長さの制限: 最大長は 22 です。
Pattern:
lambda:GetLayerVersion
必須: はい
- OrganizationId
-
プリンシパルを
*
に設定して、指定された組織のすべてのアカウントにアクセス許可を付与します。型: 文字列
長さの制限: 最大長は 34 です。
Pattern:
o-[a-z0-9]{10,32}
必須: いいえ
- Principal
-
組織内のすべてのアカウント、またはすべての AWS アカウント (
organizationId
が指定されていない場合) にレイヤーの使用のためのアクセス許可を付与するためのアカウント ID、または*
。後者の場合、本当にすべての AWS アカウントにこのレイヤー使用のためのアクセス許可を付与するかどうかを確認してください。型: 文字列
Pattern:
\d{12}|\*|arn:(aws[a-zA-Z-]*):iam::\d{12}:root
必須: はい
- StatementId
-
同じレイヤーバージョンの他のポリシーと区別する識別子。
型: 文字列
長さの制限: 最小長は 1 です。最大長は 100 です。
Pattern:
([a-zA-Z0-9-_]+)
必須:はい
レスポンスの構文
HTTP/1.1 201
Content-type: application/json
{
"RevisionId": "string",
"Statement": "string"
}
レスポンス要素
アクションが成功すると、HTTP 201 レスポンスが返されます。
サービスから以下のデータが JSON 形式で返されます。
- RevisionId
-
ポリシーの現在のリビジョンにおける一意の識別子。
型: 文字列
- Statement
-
アクセス許可ステートメント。
型: 文字列
エラー
すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。
- InvalidParameterValueException
-
リクエストに含まれているパラメータの 1 つが無効です。
HTTP ステータスコード:400
- PolicyLengthExceededException
-
リソースのアクセス許可ポリシーが大きすぎます。詳細については、「Lambda クォータ」を参照してください。
HTTP ステータスコード:400
- PreconditionFailedException
-
指定された RevisionId が、Lambda 関数またはエイリアスの最新 RevisionId と一致しません。
GetFunction
またはGetAlias
API 操作を呼び出して、リソースの最新の RevisionId を取得します。HTTP ステータスコード: 412
- ResourceConflictException
-
リソースが既に存在しているか、別のオペレーションが進行中です。
HTTP ステータスコード: 409
- ResourceNotFoundException
-
リクエストで指定されたリソースは存在しません。
HTTP ステータスコード: 404
- ServiceException
-
AWS Lambda サービスで内部エラーが発生しました。
HTTP ステータスコード: 500
- TooManyRequestsException
-
リクエストスループット制限を超えました。詳細については、「Lambda クォータ」を参照してください。
HTTP ステータスコード: 429
以下の資料も参照してください。
言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。