Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie PutResourcePolicymit einem AWS SDK
Das folgende Codebeispiel zeigt, wie es verwendet wirdPutResourcePolicy.
Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:
- Python
-
- SDK für Python (Boto3)
-
Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel- einrichten und ausführen.
def put_resource_policy(
self,
log_group_arn: str,
vpc_endpoint_id: str,
) -> dict[str, Any]:
"""
Creates or updates a resource-scoped policy on a log group that grants
the syslog.logs.amazonaws.com service principal permission to call
logs:PutLogEvents and logs:CreateLogStream.
A resource-scoped policy (one attached to a specific log group) is
specified with resourceArn and policyDocument. The PutResourcePolicy
API does not allow policyName to be combined with resourceArn.
:param log_group_arn: The ARN of the log group (with trailing :*).
:param vpc_endpoint_id: The VPC endpoint ID to scope the condition.
:return: The resource policy response.
"""
policy_document = json.dumps(
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "SyslogIngestPermissions",
"Effect": "Allow",
"Principal": {"Service": "syslog.logs.amazonaws.com"},
"Action": [
"logs:PutLogEvents",
"logs:CreateLogStream",
],
"Resource": log_group_arn,
"Condition": {
"StringEquals": {"aws:sourceVpce": vpc_endpoint_id}
},
}
],
}
)
try:
response = self.logs_client.put_resource_policy(
policyDocument=policy_document,
resourceArn=log_group_arn,
)
logger.info("Put resource policy on log group '%s'.", log_group_arn)
return response
except ClientError as error:
logger.error(
"Failed to put resource policy: %s",
error.response["Error"]["Message"],
)
raise
Eine vollständige Liste der AWS SDK-Entwicklerhandbücher und Codebeispiele finden Sie unter. Verwenden von CloudWatch Logs mit einem AWS SDK Dieses Thema enthält auch Informationen zu den ersten Schritten und Details zu früheren SDK-Versionen.